diff options
Diffstat (limited to 'src/format/mangling/itanium_tok.l')
-rw-r--r-- | src/format/mangling/itanium_tok.l | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/format/mangling/itanium_tok.l b/src/format/mangling/itanium_tok.l index 5eef799..bc5f5f1 100644 --- a/src/format/mangling/itanium_tok.l +++ b/src/format/mangling/itanium_tok.l @@ -85,6 +85,55 @@ So { return SO; } Sd { return SD; } +nw { return OPER_NEW; } +na { return OPER_NEW_ARRAY; } +dl { return OPER_DELETE; } +da { return OPER_DELETE_ARRAY; } +ps { return OPER_PLUS_UNARY; } +ng { return OPER_NEG_UNARY; } +ad { return OPER_AND_UNARY; } +de { return OPER_DE_UNARY; } +co { return OPER_COMPL; } +pl { return OPER_PLUS; } +mi { return OPER_MINUS; } +ml { return OPER_MUL; } +dv { return OPER_DIV; } +rm { return OPER_MOD; } +an { return OPER_AND; } +or { return OPER_OR; } +eo { return OPER_EXCL_OR; } +aS { return OPER_AS; } +pL { return OPER_PLUS_EQ; } +mI { return OPER_MINUS_EQ; } +mL { return OPER_MUL_EQ; } +dV { return OPER_DIV_EQ; } +rM { return OPER_MOD_EQ; } +aN { return OPER_AND_EQ; } +oR { return OPER_OR_EQ; } +eO { return OPER_EXCL_OR_EQ; } +ls { return OPER_LEFT_SHIFT; } +rs { return OPER_RIGHT_SHIFT; } +lS { return OPER_LEFT_SHIFT_EQ; } +rS { return OPER_RIGHT_SHIFT_EQ; } +eq { return OPER_EQUAL; } +ne { return OPER_NOT_EQ; } +lt { return OPER_LESS; } +gt { return OPER_GREATER; } +le { return OPER_LESS_EQ; } +ge { return OPER_GREATER_EQ; } +nt { return OPER_NOT; } +aa { return OPER_AND_AND; } +oo { return OPER_OR_OR; } +pp { return OPER_PLUS_PLUS; } +mm { return OPER_MINUS_MINUS; } +cm { return OPER_COMMA; } +pm { return OPER_PRIV_MEMB; } +pt { return OPER_POINTER_TO; } +cl { return OPER_CLASS; } +ix { return OPER_INDEX; } + + + [0-9]+ { yylval.val = atoi(yytext); return NUMBER; } <identifier>. { if (--itanium_txt_length == 0) BEGIN(INITIAL); yylval.car = *yytext; return CHAR; } |