Fin Analyse Lex
This commit is contained in:
parent
3377294eea
commit
1fde03c4c1
4 changed files with 1977 additions and 0 deletions
0
Lex/Makefile
Normal file
0
Lex/Makefile
Normal file
BIN
Lex/a.out
Executable file
BIN
Lex/a.out
Executable file
Binary file not shown.
80
Lex/analyse_lexicale.lex
Normal file
80
Lex/analyse_lexicale.lex
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
ADD "+"
|
||||||
|
SUB "-"
|
||||||
|
MUL "*"
|
||||||
|
DIV "/"
|
||||||
|
tPO "("
|
||||||
|
tPF ")"
|
||||||
|
tAO "{"
|
||||||
|
tAF "}"
|
||||||
|
EOL "\n"
|
||||||
|
EOI ";"
|
||||||
|
SPACE " "
|
||||||
|
TAB "\t"
|
||||||
|
VIRGULE ","
|
||||||
|
EGAL "="
|
||||||
|
LT "<"
|
||||||
|
GT ">"
|
||||||
|
tINT "int"
|
||||||
|
tMAIN "main"
|
||||||
|
tPRINT "printf"
|
||||||
|
tRETURN "return"
|
||||||
|
tIF "if"
|
||||||
|
tELSE "else"
|
||||||
|
tWHILE "while"
|
||||||
|
tNOT "!"
|
||||||
|
tAND "&&"
|
||||||
|
tOR "||"
|
||||||
|
DIGIT [0-9]
|
||||||
|
VARIABLE [A-Za-z0-9_]+
|
||||||
|
DECIMAL {DIGIT}+
|
||||||
|
EXPONENTIEL {DIGIT}+"^"{DIGIT}+
|
||||||
|
ENTIER {DECIMAL}|{EXPONENTIEL}
|
||||||
|
OPERATION {ADD}|{SUB}|{MUL}|{DIV}
|
||||||
|
COMPARATEUR {EGAL}|{LT}|{GT}
|
||||||
|
SEPARATOR {SPACE}|{TAB}
|
||||||
|
|
||||||
|
%%
|
||||||
|
|
||||||
|
{ADD} {printf("tADD ");}
|
||||||
|
{SUB} {printf("tSUB ");}
|
||||||
|
{MUL} {printf("tMUL ");}
|
||||||
|
{DIV} {printf("tDIV ");}
|
||||||
|
|
||||||
|
{tPO} {printf("tPO ");}
|
||||||
|
{tPF} {printf("tPF ");}
|
||||||
|
{tAO} {printf("tAO ");}
|
||||||
|
{tAF} {printf("tAF ");}
|
||||||
|
|
||||||
|
{EOI} {printf("tPV ");}
|
||||||
|
{SEPARATOR} {}
|
||||||
|
{EOL} {}
|
||||||
|
{VIRGULE} {printf("tVIRGULE ");}
|
||||||
|
|
||||||
|
{EGAL} {printf("tEGAL ");}
|
||||||
|
{LT} {printf("tLT ");}
|
||||||
|
{GT} {printf("tGT ");}
|
||||||
|
|
||||||
|
{tMAIN} {printf("tMAIN ");}
|
||||||
|
{tINT} {printf("tINT ");}
|
||||||
|
{tPRINT} {printf("tPRINT ");}
|
||||||
|
{tRETURN} {printf("tRETURN ");}
|
||||||
|
|
||||||
|
{tOR} {printf("tOR ");}
|
||||||
|
{tAND} {printf("tAND ");}
|
||||||
|
|
||||||
|
{tIF} {printf("tIF ");}
|
||||||
|
{tELSE} {printf("tELSE ");}
|
||||||
|
{tWHILE} {printf("tWHILE ");}
|
||||||
|
|
||||||
|
{ENTIER} {printf("tENTIER ");}
|
||||||
|
{VARIABLE} {printf("tVAR ");}
|
||||||
|
|
||||||
|
%%
|
||||||
|
int yywrap(void){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int main(void){
|
||||||
|
yylex();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
1897
Lex/lex.yy.c
Normal file
1897
Lex/lex.yy.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue