t_LPAREN = r'\('
t_RPAREN = r'\)'
t_STRING = r'\$[^$]*\$'
-t_BOOLNUM = r'[01]B'
reserved_map = { }
for r in reserved:
t.value += "0"
return t
+def t_BOOLNUM(t):
+ r'[01]B'
+ t.value = int(t.value[0])
+ return t
+
def t_INTNUM(t):
r'\d+'
# Leading zeros flip us into octal in C, therefore strip them.
'expression : LPAREN expression RPAREN'
t[0] = t[2]
+def p_expression_bool(t):
+ 'expression : BOOLNUM'
+ t[0] = ('boolnum', t[1])
+
def p_expression_integer(t):
'expression : INTNUM'
t[0] = ('intnum', t[1])
'expression : FLOATNUM'
t[0] = ('floatnum', t[1])
-def p_expression_bool(t):
- 'expression : BOOLNUM'
- t[0] = ('boolnum', t[1])
-
def p_expression_subscript(t):
'expression : NAME application'
t[0] = ('variable', t[1], tuple(t[2]))