15 #include "../clib/compilerspecifics.h" 43 class CompilerContext;
80 void optimize_binary_operations();
81 void optimize_unary_operations();
82 void optimize_assignments();
83 int get_num_tokens(
int idx )
const;
84 bool optimize_token(
int i );
90 std::stack<Token*>
TX;
91 std::queue<Token*>
CA;
125 static void write_words( std::ostream& os );
126 virtual int recognize_binary(
Token& tok,
const char* buf,
const char** s );
127 virtual int recognize_unary(
Token& tok,
const char* buf );
128 virtual int recognize(
Token& tok,
const char* buf,
const char** s );
129 virtual bool recognize_reserved_word(
Token& tok,
const char* buf );
131 virtual int tryOperator(
Token& tok,
const char* buf,
const char** s,
Operator* opList,
int n_ops,
164 virtual int isLegal(
Token& tok );
const unsigned EXPR_FLAG_DICTKEY_TERM_ALLOWED
const unsigned EXPR_FLAG_AUTO_TERM_ALLOWED
std::vector< Token * > Tokens
const unsigned EXPR_FLAG_SINGLE_ELEMENT
const unsigned EXPR_FLAG_RIGHTPAREN_TERM_ALLOWED
const unsigned EXPR_FLAG_CONSUME_RESULT
const unsigned EXPR_FLAG_TO_TERM_ALLOWED
Parser & operator=(const Parser &)
class ModuleFunction * modfunc_
const char * ParseErrorStr[PERR_NUM_ERRORS]
virtual int isUserFunc(Token &tok, UserFunction **userfunc)
const unsigned EXPR_FLAG_RIGHTBRACE_TERM_ALLOWED
virtual int isLegal(Token &tok)
const unsigned EXPR_FLAG_COMMA_TERM_ALLOWED
SmartParser & operator=(const SmartParser &)
const unsigned EXPR_FLAG_ENDENUM_TERM_ALLOWED
const unsigned EXPR_FLAG_SEMICOLON_TERM_ALLOWED