def t_func_idt(self, s): r'[a-zA-Z_][\.a-zA-Z_0-9]*' self.rv.append(Token(type='id', attr=s))
def t_stringt(self, s): r'(\"|\')([^\"\'])*(\"|\')' self.rv.append(Token(type='string', attr=s))
def t_bracketst(self, s): r'\[|\]|\(|\)' self.rv.append(Token(type=s, attr=s))
def t_separatort(self, s): r'[,]' self.rv.append(Token(type=s, attr=s))
def t_numbert(self, s): r'(\d+(\.(\d+)?)?|\.(\d+)?)((e|E)(\+|-)?\d+)?' self.rv.append(Token(type='number', attr=s))
def t_nott(self, s): r'not' self.rv.append(Token(type='not', attr=s))
def t_groupt(self, s): r'\(|\)' self.rv.append(Token(type=s, attr=s))
def t_logical_opt(self, s): r'and|or' self.rv.append(Token(type='logop', attr=s))
def t_relational_opt(self, s): r'<(?!(<|=))|>(?!(>|=))|<=|>=|\!=|==' self.rv.append(Token(type='relop', attr=s))
def t_shift_opt(self, s): r'<<|>>' self.rv.append(Token(type=s, attr=s))
def t_mul_opt(self, s): r'\*|\/' self.rv.append(Token(type='mulop', attr=s))
def t_add_opt(self, s): r'\+|-' self.rv.append(Token(type=s, attr=s))