summaryrefslogtreecommitdiff
path: root/src/format/mangling/itanium_tok.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/format/mangling/itanium_tok.l')
-rw-r--r--src/format/mangling/itanium_tok.l49
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; }