Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / usr.sbin / pcvt / kbdio / 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/kbdio/lex.l,v 1.6 1999/09/06 07:39:30 peter Exp $"
37 #ident "$DragonFly: src/usr.sbin/pcvt/kbdio/Attic/lex.l,v 1.2 2003/06/17 04:29:59 dillon Exp $"
38
39 /*
40  * $Log: lex.l,v $
41  * Revision 1.2  1994/09/18  19:48:45  j
42  * Added the symbolic values for kbd cmd byte.
43  *
44  * Revision 1.1  1994/09/18  12:57:13  j
45  * Initial revision
46  *
47  *
48  */
49
50 #include <stdio.h>
51 #include <stdlib.h>
52
53 #include "y.tab.h"
54
55 extern YYSTYPE yylval;
56
57 %}
58
59 D       [0-9a-fA-F]
60
61 %%
62
63 all             { return ALL; }
64 cmd             { return CMD; }
65 data            { return DATA; }
66 defaults        { return DEFAULTS; }
67 echo            { return ECHOC; }
68 enable          { return ENABLE; }
69 expr            { return EXPR; }
70 help            { return HELP; }
71 id              { return ID; }
72 led             { return LED; }
73 make            { return MAKE; }
74 only            { return ONLY; }
75 release         { return RELEASE; }
76 resend          { return RESEND; }
77 reset           { return RESET; }
78 scan            { return SCAN; }
79 status          { return STATUS; }
80 typematic       { return TYPEMATIC; }
81 what            { return WHAT; }
82
83                 /* numeric values */
84 clklow          { yylval.num = 0x10; return NUM; }
85 ignpar          { yylval.num = 0x20; return NUM; }
86 irq             { yylval.num = 0x01; return NUM; }
87 ovrinh          { yylval.num = 0x08; return NUM; }
88 scconv          { yylval.num = 0x40; return NUM; }
89 test            { yylval.num = 0x04; return NUM; }
90
91 {D}({D}*)\.     { sscanf(yytext, "%d", &yylval.num); return NUM; }
92
93 {D}({D}*)       { sscanf(yytext, "%x", &yylval.num); return NUM; }
94
95 [ \t]           { /* ignore */ }
96
97 \n              { return NEWLINE; }
98
99 .               { return yytext[0]; }