This shows you the differences between two versions of the page.
cpl-atm:laboratoare:laborator1 [2013/10/18 11:47] laura.vasilescu [Exemplu 1] |
cpl-atm:laboratoare:laborator1 [2013/10/18 12:03] (current) laura.vasilescu [Exemplu 1] |
||
---|---|---|---|
Line 12: | Line 12: | ||
'+' return '+' | '+' return '+' | ||
'-' return '-' | '-' return '-' | ||
+ | |||
/lex | /lex | ||
%% | %% | ||
Line 21: | Line 22: | ||
</code> | </code> | ||
+ | <hidden> | ||
+ | ===== Exemplu 2 ======= | ||
+ | <code js> | ||
+ | %lex | ||
+ | %% | ||
+ | |||
+ | [0-9]+ return 'NUMBER' | ||
+ | '+' return '+' | ||
+ | '-' return '-' | ||
+ | '*' return '*' | ||
+ | '/' return '/' | ||
+ | |||
+ | /lex | ||
+ | %% | ||
+ | |||
+ | start : e+ { return $1; }; | ||
+ | |||
+ | e : m '+' m { $$ = $1 + $3; } | ||
+ | | m '-' m { $$ = $1 - $3; } | ||
+ | | m { $$ = $1; } | ||
+ | ; | ||
+ | |||
+ | m : f '*' f { $$ = $1 * $3; } | ||
+ | | f '/' f { $$ = $1 / $3; } | ||
+ | | f { $$ = $1; } | ||
+ | ; | ||
+ | |||
+ | f : NUMBER { $$ = parseInt ($1); }; | ||
+ | </code> | ||
+ | </hidden> |