llvm/jlc/jlc.lex
josh 416f9a3b8e converted jlc.y -> jlc.yy for C++ support
git-svn-id: svn://anubis/misc/llvm@73 bd8a9e45-a331-0410-811e-c64571078777
2008-11-07 04:31:38 +00:00

81 lines
2.1 KiB
Plaintext

%{
#include "jlc.tab.hh"
%}
%%
:= 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 */
%%