Initial import from FreeBSD RELENG_4:
[games.git] / usr.sbin / pcvt / vgaio / lex.l
1 %{
2 /*
3  * Copyright (c) 1994 Joerg Wunsch
4  *
5  * All rights reserved.
6  *
7  * This program is free software.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  * 2. Redistributions in binary form must reproduce the above copyright
15  *    notice, this list of conditions and the following disclaimer in the
16  *    documentation and/or other materials provided with the distribution.
17  * 3. All advertising materials mentioning features or use of this software
18  *    must display the following acknowledgement:
19  *      This product includes software developed by Joerg Wunsch
20  * 4. The name of the developer may not be used to endorse or promote
21  *    products derived from this software without specific prior written
22  *    permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
25  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27  * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
28  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
29  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34  */
35
36 #ident "$FreeBSD: src/usr.sbin/pcvt/vgaio/lex.l,v 1.5 1999/09/06 07:39:30 peter Exp $"
37
38 /*
39  * $Log: lex.l,v $
40  * Revision 1.1  1994/03/29  02:47:20  mycroft
41  * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me.
42  *
43  * Revision 1.2  1994/01/08  17:42:58  j
44  * cleanup
45  * made multiple commands per line work
46  * wrote man page
47  *
48  * Revision 1.3  21.12.1994 -hm
49  * Added mi command for accessing the misc out register
50  */
51
52 #include <stdio.h>
53 #include <stdlib.h>
54
55 #include "vgaio.h"
56 #include "y.tab.h"
57
58 extern YYSTYPE yylval;
59
60 %}
61
62 D       [0-9a-fA-F]
63
64 %%
65
66 cr|CR   { return CR; }
67
68 ar|AR   { return AR; }
69
70 gr|GR   { return GR; }
71
72 sr|SR   { return SR; }
73
74 mi|MI   { return MI; }
75
76 {D}({D}*)  { sscanf(yytext, "%x", &yylval.num); return NUM; }
77
78 [ \t]   { /* ignore */ }
79
80 \n      { return NEWLINE; }
81
82 .       { return yytext[0]; }