]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/MAI/bios_emulator/scitech/src/v86bios/lex.l
* Patch by Thomas Frieden, 13 Nov 2002:
[karo-tx-uboot.git] / board / MAI / bios_emulator / scitech / src / v86bios / lex.l
1 %{
2 #include "parser.h"
3
4 #include <string.h>
5 #include <stdio.h>
6
7  void getline(char *buf,int *num,int max_num);
8     
9 #define YY_INPUT(buf,result,max_size) {\
10       getline(buf,&result,max_size);\
11       }
12
13  void
14  yyerror (char *s)  
15  {
16      printf ("%s\n", s);
17  }
18
19 %}
20
21 DIGIT [0-9a-fA-F]
22
23 %%
24
25 "0x"?{DIGIT}+ { yylval = strtol(yytext,NULL,0); return TOK_NUM; }
26 "ax"          { return TOK_REG_AX; }
27 "bx"          { return TOK_REG_BX; }
28 "cx"          { return TOK_REG_CX; }
29 "dx"          { return TOK_REG_DX; }
30 "di"          { return TOK_REG_SI; }
31 "si"          { return TOK_REG_DI; }
32 "ds"          { return TOK_SEG_DS; }
33 "es"          { return TOK_SEG_ES; }
34 ":"           { return TOK_SEP;}
35 "$"{DIGIT}{1,2} { yylval = strtol(yytext+1,NULL,0); return TOK_VAR; }
36 "$mem"        { return TOK_VAR_MEM; }
37 [ \t]+
38 "#".*[\n]   { return TOK_END; }
39 "boot"        { return TOK_COMMAND_BOOT; }
40 "do"          { return TOK_COMMAND_EXEC; }
41 "\"".*"\""    { yylval = (unsigned long) yytext; return TOK_STRING; }
42 "byte"        { return TOK_BYTE; }
43 "word"        { return TOK_WORD; }
44 "long"        { return TOK_LONG; }
45 "setmem"      { return TOK_COMMAND_MEMSET; }
46 "dumpmem"     { return TOK_COMMAND_MEMDUMP; }
47 "quit"        { return TOK_COMMAND_QUIT; }
48 "\n"          { return TOK_END; }
49 "select"      { return TOK_SELECT; }
50 "isa"         { return TOK_ISA; }
51 "pci"         { return TOK_PCI; }
52 "pport"       { return TOK_PRINT_PORT; }
53 "iostat"      { return TOK_IOSTAT; }
54 "pirq"        { return TOK_PRINT_IRQ; }
55 "ppci"        { return TOK_PPCI; }
56 "pip"         { return TOK_PIP; }
57 "trace"       { return TOK_TRACE; }
58 "on"          { return TOK_ON; }
59 "off"         { return TOK_OFF; }
60 "verbose"     { return TOK_VERBOSE; }
61 "log"         { return TOK_LOG; }
62 "print"       { return TOK_STDOUT; }
63 "clstat"      { return TOK_CLSTAT; }
64 "hlt"         { return TOK_HLT; }
65 "del"         { return TOK_DEL; }
66 "ioperm"      { return TOK_IOPERM; }
67 "lpci"        { return TOK_DUMP_PCI; }
68 "bootbios"    { return TOK_BOOT_BIOS; }
69 "?"           { return '?'; }
70 .             { return TOK_ERROR; }
71     
72 %%
73
74
75
76
77
78
79