64
66
"clr"|"Clr"|"CLR" {return tCLR;}
65
67
"cosh"|"Cosh"|"COSH" {return tCOSH;}
66
68
"cos"|"Cos"|"COS" {return tCOS;}
67
"ctrm"|"Ctrm"|"CTRM" {return tCTRM;}
68
"dbg"|"Ddb"|"DDB" {return tDDB;}
69
69
"eng"|"Eng"|"ENG" {return tEXP;}
70
70
"frac"|"Frac"|"FRAC" {return tFRAC;}
71
"fv"|"Fv"|"FV" {return tFV;}
72
71
"int"|"Int"|"INT" {return tINT;}
73
72
"ln"|"Ln"|"LN" {return tLN;}
74
73
"log"|"Log"|"LOG" {return tLOG10;}
77
76
"not"|"Not"|"NOT" {return tNOT;}
78
77
"or"|"Or"|"OR" {return tOR;}
79
78
"pi"|"Pi"|"PI" {return tPI;}
80
"pmt"|"Pmt"|"PMT" {return tPMT;}
81
"pv"|"Pv"|"PV" {return tPV;}
82
79
"rand"|"Rand"|"RAND" {return tRAND;}
83
"rate"|"Rate"|"RATE" {return tRATE;}
84
80
"rcl"|"Rcl"|"RCL" {return tRCL;}
85
81
"sinh"|"Sinh"|"SINH" {return tSINH;}
86
82
"sin"|"Sin"|"SIN" {return tSIN;}
87
"sln"|"Sln"|"SLN" {return tSLN;}
88
83
"sqrt"|"Sqrt"|"SQRT" {return tSQRT;}
89
84
"sto"|"Sto"|"STO" {return tSTO;}
90
"syd"|"Syd"|"SYD" {return tSYD;}
91
85
"tanh"|"Tanh"|"TANH" {return tTANH;}
92
86
"tan"|"Tan"|"TAN" {return tTAN;}
93
"term"|"Term"|"TERM" {return tTERM;}
94
87
"u16"|"u16"|"U16" {return tU16;}
95
88
"u32"|"u32"|"U32" {return tU32;}
96
89
"xnor"|"Xnor"|"XNOR" {return tXNOR;}
105
98
{DEC_NUM}{EXP}{DEC_NUM} {
106
99
if (v->base == HEX) REJECT;
107
100
if (strlen(yytext) > MAX_DIGITS) parser_state.error = -PARSER_ERR_TOO_LONG_NUMBER;
108
mp_set_from_string(yytext, celval.int_t);
101
mp_set_from_string(yytext, basevals[v->base], celval.int_t);
113
106
if (v->base != BIN) REJECT;
114
107
if (strlen(yytext) > MAX_DIGITS) parser_state.error = -PARSER_ERR_TOO_LONG_NUMBER;
115
MPstr_to_num(yytext, v->base, celval.int_t);
108
mp_set_from_string(yytext, basevals[v->base], celval.int_t);
120
113
if (v->base != OCT) REJECT;
121
114
if (strlen(yytext) > MAX_DIGITS) parser_state.error = -PARSER_ERR_TOO_LONG_NUMBER;
122
MPstr_to_num(yytext, v->base, celval.int_t);
115
mp_set_from_string(yytext, basevals[v->base], celval.int_t);
127
120
if (v->base != DEC) REJECT;
128
121
if (strlen(yytext) > MAX_DIGITS) parser_state.error = -PARSER_ERR_TOO_LONG_NUMBER;
129
MPstr_to_num(yytext, v->base, celval.int_t);
122
mp_set_from_string(yytext, basevals[v->base], celval.int_t);
134
127
if (v->base != HEX) REJECT;
135
128
if (strlen(yytext) > MAX_DIGITS) parser_state.error = -PARSER_ERR_TOO_LONG_NUMBER;
136
MPstr_to_num(yytext, v->base, celval.int_t);
129
mp_set_from_string(yytext, basevals[v->base], celval.int_t);