21 ch==
'~' || ch==
'!' || ch==
'@' || ch==
'$' || ch==
'%' ||
22 ch==
'^' || ch==
'&' || ch==
'*' || ch==
'_' || ch==
'-' ||
23 ch==
'+' || ch==
'=' || ch==
'<' || ch==
'>' || ch==
'.' ||
61 if(isdigit(ch) || ch==
'.')
86 if(ch==
'0' || ch==
'1')
173 error(
"EOF within string literal");
179 unsigned open_parentheses=0;
189 case static_cast<char>(160):
195 while(
in.get(ch) && ch!=
'\n')
209 if(open_parentheses==0)
211 error(
"unexpected closing parenthesis");
219 if(open_parentheses==0)
227 if(open_parentheses==0)
234 if(open_parentheses==0)
241 if(open_parentheses==0)
260 error(
"unexpected numeral token");
264 if(open_parentheses==0)
269 error(
"unexpected EOF in numeral token");
280 if(open_parentheses==0)
288 if(open_parentheses==0)
294 error(
"unexpected character");
300 if(open_parentheses==0)
307 error(
"EOF before end of expression");
void get_decimal_numeral()
virtual void open_expression()=0
void get_string_literal()
virtual void error(const std::string &)=0
virtual void close_expression()=0
bool is_simple_symbol_character(char ch)
virtual void string_literal()=0