3 * Copyright (c) 1994 Joerg Wunsch
7 * This program is free software.
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
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
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.
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 $"
41 * Revision 1.2 1994/09/18 19:48:45 j
42 * Added the symbolic values for kbd cmd byte.
44 * Revision 1.1 1994/09/18 12:57:13 j
55 extern YYSTYPE yylval;
66 defaults { return DEFAULTS; }
67 echo { return ECHOC; }
68 enable { return ENABLE; }
75 release { return RELEASE; }
76 resend { return RESEND; }
77 reset { return RESET; }
79 status { return STATUS; }
80 typematic { return TYPEMATIC; }
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; }
91 {D}({D}*)\. { sscanf(yytext, "%d", &yylval.num); return NUM; }
93 {D}({D}*) { sscanf(yytext, "%x", &yylval.num); return NUM; }
95 [ \t] { /* ignore */ }
97 \n { return NEWLINE; }
99 . { return yytext[0]; }