55 lines
1.4 KiB
Plaintext
55 lines
1.4 KiB
Plaintext
|
|
%{
|
|
#include "jlc.tab.h"
|
|
%}
|
|
|
|
%%
|
|
:= return ASSIGN;
|
|
= return EQUAL;
|
|
\<= return LEQ;
|
|
\>= return GEQ;
|
|
|
|
\<\< return LSHIFT;
|
|
\>\> return RSHIFT;
|
|
|
|
&& return AND;
|
|
\|\| return OR;
|
|
! return NOT;
|
|
& return BIT_AND;
|
|
\| return BIT_OR;
|
|
\^ return BIT_XOR;
|
|
~ return BIT_NEG;
|
|
|
|
\+\+ return INCREMENT;
|
|
-- return DECREMENT;
|
|
|
|
\+ return PLUS;
|
|
- return MINUS;
|
|
\* return TIMES;
|
|
\/ return DIVIDE;
|
|
% return MOD;
|
|
|
|
; return SEMICOLON;
|
|
: return COLON;
|
|
\? return QUESTION;
|
|
\$ return DOLLAR;
|
|
\. return DOT;
|
|
\" return DQUOTE;
|
|
\' return SQUOTE;
|
|
|
|
0b[01]+ return BIN_NUMBER;
|
|
0x[0-9A-Fa-f]+ return HEX_NUMBER;
|
|
0[0-7]* return OCT_NUMBER;
|
|
[1-9][0-9]* return DEC_NUMBER;
|
|
|
|
alias return ALIAS;
|
|
module return MODULE;
|
|
return return RETURN;
|
|
use return USE;
|
|
|
|
[a-zA-Z_][a-zA-Z_0-9]* return ID;
|
|
|
|
\n /* ignore newlines */
|
|
[ \t\v] /* ignore whitespace */
|
|
%%
|