81 lines
2.1 KiB
Plaintext
81 lines
2.1 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 STAR;
|
|
\/ return DIVIDE;
|
|
% return MOD;
|
|
|
|
; return SEMICOLON;
|
|
: return COLON;
|
|
\? return QUESTION;
|
|
\$ return DOLLAR;
|
|
\. return DOT;
|
|
\.\.\. return DOTDOTDOT;
|
|
\" return DQUOTE;
|
|
\' return SQUOTE;
|
|
, return COMMA;
|
|
|
|
\{ return LCURLY;
|
|
\} return RCURLY;
|
|
\[ return LBRACKET;
|
|
\] return RBRACKET;
|
|
\( return LPAREN;
|
|
\) return RPAREN;
|
|
|
|
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;
|
|
|
|
bool return U1;
|
|
u1 return U1;
|
|
i8 return I8;
|
|
u8 return U8;
|
|
i16 return I16;
|
|
u16 return U16;
|
|
i32 return I32;
|
|
u32 return U32;
|
|
i64 return I64;
|
|
u64 return U64;
|
|
|
|
float return FLOAT;
|
|
double return DOUBLE;
|
|
|
|
void return VOID;
|
|
|
|
\$[a-zA-Z_][a-zA-Z_0-9]* return FFIID;
|
|
[a-zA-Z_][a-zA-Z_0-9]* return ID;
|
|
|
|
\n /* ignore newlines */
|
|
[ \t\v] /* ignore whitespace */
|
|
%%
|