diff options
Diffstat (limited to 'src/if2.h')
-rw-r--r-- | src/if2.h | 6965 |
1 files changed, 6965 insertions, 0 deletions
diff --git a/src/if2.h b/src/if2.h new file mode 100644 index 0000000..4ae10d7 --- /dev/null +++ b/src/if2.h @@ -0,0 +1,6965 @@ +#ifndef _EXPORTS_H +#define _EXPORTS_H + +#include <colm/colm.h> +#include <string> + +inline void appendString( colm_print_args *args, const char *data, int length ) +{ + std::string *str = (std::string*)args->arg; + *str += std::string( data, length ); +} + +inline std::string printTreeStr( colm_program *prg, colm_tree *tree, bool trim ) +{ + std::string str; + colm_print_args printArgs = { &str, 1, 0, trim, &appendString, + &colm_print_null, &colm_print_term_tree, &colm_print_null }; + colm_print_tree_args( prg, colm_vm_root(prg), &printArgs, tree ); + return str; +} + +struct _notoken; +struct ptr; +struct _void; +struct _bool; +struct _int; +struct str; +struct stream; +struct il; +struct any; +struct DEF; +struct LEX; +struct END; +struct TOKEN; +struct RL; +struct IGNORE; +struct PRINT; +struct PRINTS; +struct PRINT_XML; +struct PRINT_XML_AC; +struct PARSE; +struct PARSE_STOP; +struct CONS; +struct MATCH; +struct REQUIRE; +struct SEND; +struct NAMESPACE; +struct FOR; +struct IF; +struct YIELD; +struct WHILE; +struct ELSIF; +struct ELSE; +struct IN; +struct PARSER; +struct LIST; +struct VECTOR; +struct MAP; +struct PTR; +struct ITER; +struct REF; +struct EXPORT; +struct RETURN; +struct BREAK; +struct REJECT; +struct REDUCEFIRST; +struct ALIAS; +struct COMMIT; +struct NEW; +struct PREEOF; +struct GLOBAL; +struct EOS; +struct CAST; +struct MAKE_TOKEN; +struct MAKE_TREE; +struct TYPEID; +struct LITERAL; +struct CONTEXT; +struct NI; +struct NIL; +struct TRUE; +struct FALSE; +struct LEFT; +struct RIGHT; +struct NONASSOC; +struct INCLUDE; +struct id; +struct number; +struct backtick_lit; +struct DQ; +struct SQ; +struct TILDE; +struct SQOPEN; +struct SQCLOSE; +struct BAR; +struct FSLASH; +struct COLON; +struct DOUBLE_COLON; +struct DOT; +struct ARROW; +struct POPEN; +struct PCLOSE; +struct COPEN; +struct CCLOSE; +struct STAR; +struct QUESTION; +struct EQUALS; +struct EQEQ; +struct NEQ; +struct COMMA; +struct LT; +struct GT; +struct LTEQ; +struct GTEQ; +struct BANG; +struct DOLLAR; +struct CARET; +struct PERCENT; +struct PLUS; +struct MINUS; +struct AMPAMP; +struct BARBAR; +struct _ignore_00b9; +struct _ignore_00bb; +struct CONS_DQ; +struct CONS_DQ_NL; +struct CONS_SQOPEN; +struct CONS_SQCLOSE; +struct dq_cons_data; +struct CONS_SQ; +struct CONS_SQ_NL; +struct sq_cons_data; +struct TILDE_NL; +struct tilde_data; +struct lex_id; +struct lex_uint; +struct lex_hex; +struct lex_lit; +struct LEX_DOT; +struct LEX_BAR; +struct LEX_AMP; +struct LEX_DASH; +struct LEX_POPEN; +struct LEX_PCLOSE; +struct LEX_STAR; +struct LEX_STARSTAR; +struct LEX_QUESTION; +struct LEX_PLUS; +struct LEX_CARET; +struct LEX_DOTDOT; +struct LEX_SQOPEN_POS; +struct LEX_SQOPEN_NEG; +struct LEX_FSLASH; +struct LEX_DASHDASH; +struct LEX_COLON_GT; +struct LEX_COLON_GTGT; +struct LEX_LT_COLON; +struct _ignore_00ff; +struct _ignore_0101; +struct RE_DASH; +struct RE_CHAR; +struct RE_SQCLOSE; +struct start; +struct root_item; +struct include; +struct precedence_def; +struct pred_type; +struct pred_token_list; +struct pred_token; +struct pre_eof_def; +struct alias_def; +struct context_item; +struct export_def; +struct global_def; +struct iter_def; +struct reference_type_ref; +struct param_var_def_list; +struct param_var_def; +struct opt_export; +struct function_def; +struct context_var_def; +struct context_def; +struct literal_def; +struct literal_list; +struct literal_item; +struct no_ignore_left; +struct no_ignore_right; +struct namespace_def; +struct namespace_item; +struct obj_var_list; +struct opt_reduce_first; +struct cfl_def; +struct region_def; +struct rl_def; +struct opt_lex_expr; +struct token_def; +struct ic_def; +struct opt_translate; +struct opt_id; +struct ignore_def; +struct prod_el; +struct opt_prod_el_name; +struct prod_el_list; +struct opt_commit; +struct opt_prod_name; +struct prod; +struct opt_reduce; +struct prod_list; +struct statement; +struct elsif_list; +struct elsif_clause; +struct optional_else; +struct call_arg_list; +struct iter_call; +struct block_or_single; +struct require_pattern; +struct opt_require_stmt; +struct lang_stmt_list; +struct opt_def_init; +struct var_def; +struct print_stmt; +struct expr_stmt; +struct code_expr; +struct code_relational; +struct code_additive; +struct code_multiplicitive; +struct code_unary; +struct opt_eos; +struct code_factor; +struct type_ref; +struct region_qual; +struct opt_repeat; +struct opt_capture; +struct opt_field_init; +struct field_init; +struct opt_label; +struct dq_lit_term; +struct sq_lit_term; +struct opt_tilde_data; +struct pattern_el_lel; +struct pattern_el; +struct litpat_el; +struct pattern_top_el; +struct pattern_list; +struct pattern; +struct E1; +struct E2; +struct E3; +struct E4; +struct cons_el; +struct lit_cons_el; +struct cons_top_el; +struct cons_list; +struct constructor; +struct accum_el; +struct lit_accum_el; +struct accum_top_el; +struct accum_list; +struct accumulate; +struct string_el; +struct lit_string_el; +struct string_top_el; +struct string_list; +struct string; +struct var_ref; +struct qual; +struct lex_expr; +struct opt_lex_dot; +struct lex_term; +struct lex_factor_rep; +struct lex_factor_neg; +struct lex_range_lit; +struct lex_num; +struct lex_factor; +struct reg_or_data; +struct reg_or_char; +struct _ign_0xdbb3a0; +struct _ign_0xde4b20; +struct _ign_0xde7770; +struct _ign_0xde9520; +struct _ign_0xdea540; +struct _ign_0xdf7df0; +struct __0xde4bc0_DEF_PAT_1; +struct __0xde7810_DEF_PAT_2; +struct __0xde95c0_DEF_PAT_3; +struct __0xdf7e90_DEF_PAT_4; +struct __accum0; +struct _repeat_root_item; +struct _repeat_sq_cons_data; +struct _repeat_context_item; +struct _repeat_namespace_item; +struct _repeat_var_def; +struct _repeat_statement; +struct _repeat_field_init; +struct _repeat_litpat_el; +struct _repeat_pattern_el; +struct _repeat_lit_cons_el; +struct _repeat_cons_el; +struct _repeat_lit_accum_el; +struct _repeat_accum_el; +struct _repeat_lit_string_el; +struct _repeat_string_el; +struct __list0; +struct _T_any; +struct _T_start; +struct _T_root_item; +struct _T_include; +struct _T_precedence_def; +struct _T_pred_type; +struct _T_pred_token_list; +struct _T_pred_token; +struct _T_pre_eof_def; +struct _T_alias_def; +struct _T_context_item; +struct _T_export_def; +struct _T_global_def; +struct _T_iter_def; +struct _T_reference_type_ref; +struct _T_param_var_def_list; +struct _T_param_var_def; +struct _T_opt_export; +struct _T_function_def; +struct _T_context_var_def; +struct _T_context_def; +struct _T_literal_def; +struct _T_literal_list; +struct _T_literal_item; +struct _T_no_ignore_left; +struct _T_no_ignore_right; +struct _T_namespace_def; +struct _T_namespace_item; +struct _T_obj_var_list; +struct _T_opt_reduce_first; +struct _T_cfl_def; +struct _T_region_def; +struct _T_rl_def; +struct _T_opt_lex_expr; +struct _T_token_def; +struct _T_ic_def; +struct _T_opt_translate; +struct _T_opt_id; +struct _T_ignore_def; +struct _T_prod_el; +struct _T_opt_prod_el_name; +struct _T_prod_el_list; +struct _T_opt_commit; +struct _T_opt_prod_name; +struct _T_prod; +struct _T_opt_reduce; +struct _T_prod_list; +struct _T_statement; +struct _T_elsif_list; +struct _T_elsif_clause; +struct _T_optional_else; +struct _T_call_arg_list; +struct _T_iter_call; +struct _T_block_or_single; +struct _T_require_pattern; +struct _T_opt_require_stmt; +struct _T_lang_stmt_list; +struct _T_opt_def_init; +struct _T_var_def; +struct _T_print_stmt; +struct _T_expr_stmt; +struct _T_code_expr; +struct _T_code_relational; +struct _T_code_additive; +struct _T_code_multiplicitive; +struct _T_code_unary; +struct _T_opt_eos; +struct _T_code_factor; +struct _T_type_ref; +struct _T_region_qual; +struct _T_opt_repeat; +struct _T_opt_capture; +struct _T_opt_field_init; +struct _T_field_init; +struct _T_opt_label; +struct _T_dq_lit_term; +struct _T_sq_lit_term; +struct _T_opt_tilde_data; +struct _T_pattern_el_lel; +struct _T_pattern_el; +struct _T_litpat_el; +struct _T_pattern_top_el; +struct _T_pattern_list; +struct _T_pattern; +struct _T_E1; +struct _T_E2; +struct _T_E3; +struct _T_E4; +struct _T_cons_el; +struct _T_lit_cons_el; +struct _T_cons_top_el; +struct _T_cons_list; +struct _T_constructor; +struct _T_accum_el; +struct _T_lit_accum_el; +struct _T_accum_top_el; +struct _T_accum_list; +struct _T_accumulate; +struct _T_string_el; +struct _T_lit_string_el; +struct _T_string_top_el; +struct _T_string_list; +struct _T_string; +struct _T_var_ref; +struct _T_qual; +struct _T_lex_expr; +struct _T_opt_lex_dot; +struct _T_lex_term; +struct _T_lex_factor_rep; +struct _T_lex_factor_neg; +struct _T_lex_range_lit; +struct _T_lex_num; +struct _T_lex_factor; +struct _T_reg_or_data; +struct _T_reg_or_char; +struct _T___accum0; +struct _T__repeat_root_item; +struct _T__repeat_sq_cons_data; +struct _T__repeat_context_item; +struct _T__repeat_namespace_item; +struct _T__repeat_var_def; +struct _T__repeat_statement; +struct _T__repeat_field_init; +struct _T__repeat_litpat_el; +struct _T__repeat_pattern_el; +struct _T__repeat_lit_cons_el; +struct _T__repeat_cons_el; +struct _T__repeat_lit_accum_el; +struct _T__repeat_accum_el; +struct _T__repeat_lit_string_el; +struct _T__repeat_string_el; +struct _T___list0; +struct _root; +struct _notoken +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _notoken( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct ptr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ptr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _void +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _void( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _bool +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _bool( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _int +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _int( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct str +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + str( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct stream +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + stream( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct il +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + il( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct any +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + any( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct DEF +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + DEF( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct END +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + END( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct TOKEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + TOKEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct RL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + RL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct IGNORE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + IGNORE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PRINT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PRINT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PRINTS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PRINTS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PRINT_XML +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PRINT_XML( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PRINT_XML_AC +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PRINT_XML_AC( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PARSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PARSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PARSE_STOP +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PARSE_STOP( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct MATCH +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + MATCH( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct REQUIRE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + REQUIRE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct SEND +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + SEND( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct NAMESPACE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + NAMESPACE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct FOR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + FOR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct IF +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + IF( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct YIELD +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + YIELD( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct WHILE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + WHILE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct ELSIF +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ELSIF( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct ELSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ELSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct IN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + IN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PARSER +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PARSER( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LIST +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LIST( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct VECTOR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + VECTOR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct MAP +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + MAP( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PTR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PTR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct ITER +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ITER( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct REF +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + REF( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct EXPORT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + EXPORT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct RETURN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + RETURN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct BREAK +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + BREAK( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct REJECT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + REJECT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct REDUCEFIRST +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + REDUCEFIRST( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct ALIAS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ALIAS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct COMMIT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + COMMIT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct NEW +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + NEW( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PREEOF +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PREEOF( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct GLOBAL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + GLOBAL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct EOS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + EOS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CAST +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CAST( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct MAKE_TOKEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + MAKE_TOKEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct MAKE_TREE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + MAKE_TREE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct TYPEID +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + TYPEID( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LITERAL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LITERAL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONTEXT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONTEXT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct NI +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + NI( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct NIL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + NIL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct TRUE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + TRUE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct FALSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + FALSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEFT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEFT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct RIGHT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + RIGHT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct NONASSOC +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + NONASSOC( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct INCLUDE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + INCLUDE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct id +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + id( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct number +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + number( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct backtick_lit +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + backtick_lit( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct DQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + DQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct SQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + SQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct TILDE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + TILDE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct SQOPEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + SQOPEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct SQCLOSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + SQCLOSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct BAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + BAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct FSLASH +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + FSLASH( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct COLON +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + COLON( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct DOUBLE_COLON +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + DOUBLE_COLON( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct DOT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + DOT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct ARROW +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ARROW( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct POPEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + POPEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PCLOSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PCLOSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct COPEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + COPEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CCLOSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CCLOSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct STAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + STAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct QUESTION +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + QUESTION( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct EQUALS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + EQUALS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct EQEQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + EQEQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct NEQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + NEQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct COMMA +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + COMMA( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct GT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + GT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LTEQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LTEQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct GTEQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + GTEQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct BANG +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + BANG( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct DOLLAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + DOLLAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CARET +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CARET( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PERCENT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PERCENT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct PLUS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + PLUS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct MINUS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + MINUS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct AMPAMP +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + AMPAMP( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct BARBAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + BARBAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ignore_00b9 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ignore_00b9( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ignore_00bb +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ignore_00bb( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS_DQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS_DQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS_DQ_NL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS_DQ_NL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS_SQOPEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS_SQOPEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS_SQCLOSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS_SQCLOSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct dq_cons_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + dq_cons_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS_SQ +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS_SQ( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct CONS_SQ_NL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + CONS_SQ_NL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct sq_cons_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + sq_cons_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct TILDE_NL +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + TILDE_NL( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct tilde_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + tilde_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct lex_id +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_id( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct lex_uint +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_uint( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct lex_hex +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_hex( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct lex_lit +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_lit( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_DOT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_DOT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_BAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_BAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_AMP +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_AMP( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_DASH +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_DASH( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_POPEN +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_POPEN( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_PCLOSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_PCLOSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_STAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_STAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_STARSTAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_STARSTAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_QUESTION +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_QUESTION( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_PLUS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_PLUS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_CARET +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_CARET( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_DOTDOT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_DOTDOT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_SQOPEN_POS +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_SQOPEN_POS( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_SQOPEN_NEG +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_SQOPEN_NEG( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_FSLASH +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_FSLASH( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_DASHDASH +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_DASHDASH( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_COLON_GT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_COLON_GT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_COLON_GTGT +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_COLON_GTGT( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct LEX_LT_COLON +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + LEX_LT_COLON( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ignore_00ff +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ignore_00ff( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ignore_0101 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ignore_0101( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct RE_DASH +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + RE_DASH( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct RE_CHAR +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + RE_CHAR( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct RE_SQCLOSE +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + RE_SQCLOSE( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct start +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + start( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::_repeat_root_item RootItemList(); +}; +struct root_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + root_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::rl_def rl_def(); + ::literal_def literal_def(); + ::token_def token_def(); + ::ic_def ic_def(); + ::ignore_def ignore_def(); + ::cfl_def cfl_def(); + ::region_def region_def(); + ::context_def context_def(); + ::namespace_def namespace_def(); + ::function_def function_def(); + ::iter_def iter_def(); + ::statement statement(); + ::global_def global_def(); + ::export_def export_def(); + ::pre_eof_def pre_eof_def(); + ::precedence_def precedence_def(); + ::alias_def alias_def(); + ::include include(); + enum prod_name { + _Rl = 0, + _Literal = 1, + _Token = 2, + _IgnoreCollector = 3, + _Ignore = 4, + _Cfl = 5, + _Region = 6, + _Context = 7, + _Namespace = 8, + _Function = 9, + _Iter = 10, + _Statement = 11, + _Global = 12, + _Export = 13, + _PreEof = 14, + _Precedence = 15, + _Alias = 16, + _Include = 17, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct include +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + include( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::INCLUDE INCLUDE(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); +}; +struct precedence_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + precedence_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pred_type pred_type(); + ::pred_token_list pred_token_list(); +}; +struct pred_type +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pred_type( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEFT LEFT(); + ::RIGHT RIGHT(); + ::NONASSOC NONASSOC(); + enum prod_name { + _Left = 0, + _Right = 1, + _NonAssoc = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pred_token_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pred_token_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pred_token_list _pred_token_list(); + ::COMMA COMMA(); + ::pred_token pred_token(); + enum prod_name { + _List = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pred_token +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pred_token( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual region_qual(); + ::id id(); + ::backtick_lit backtick_lit(); + enum prod_name { + _Id = 0, + _Lit = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pre_eof_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pre_eof_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::PREEOF PREEOF(); + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct alias_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + alias_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ALIAS ALIAS(); + ::id id(); + ::type_ref type_ref(); +}; +struct context_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + context_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::context_var_def context_var_def(); + ::literal_def literal_def(); + ::rl_def rl_def(); + ::token_def token_def(); + ::ic_def ic_def(); + ::ignore_def ignore_def(); + ::cfl_def cfl_def(); + ::region_def region_def(); + ::context_def context_def(); + ::function_def function_def(); + ::iter_def iter_def(); + ::export_def export_def(); + ::pre_eof_def pre_eof_def(); + ::precedence_def precedence_def(); + enum prod_name { + _ContextVar = 0, + _Literal = 1, + _Rl = 2, + _Token = 3, + _IgnoreCollector = 4, + _Ignore = 5, + _Cfl = 6, + _Region = 7, + _Context = 8, + _Function = 9, + _Iter = 10, + _Export = 11, + _PreEof = 12, + _Precedence = 13, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct export_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + export_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::EXPORT EXPORT(); + ::var_def var_def(); + ::opt_def_init opt_def_init(); +}; +struct global_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + global_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::GLOBAL GLOBAL(); + ::var_def var_def(); + ::opt_def_init opt_def_init(); +}; +struct iter_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + iter_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ITER ITER(); + ::id id(); + ::POPEN POPEN(); + ::param_var_def_list ParamVarDefList(); + ::PCLOSE PCLOSE(); + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct reference_type_ref +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + reference_type_ref( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::REF REF(); + ::LT LT(); + ::type_ref type_ref(); + ::GT GT(); +}; +struct param_var_def_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + param_var_def_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::param_var_def param_var_def(); + ::param_var_def_list _param_var_def_list(); +}; +struct param_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + param_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + ::type_ref type_ref(); + ::reference_type_ref reference_type_ref(); + enum prod_name { + _Type = 0, + _Ref = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_export +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_export( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::EXPORT EXPORT(); + enum prod_name { + _Export = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct function_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + function_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::opt_export opt_export(); + ::type_ref type_ref(); + ::id id(); + ::POPEN POPEN(); + ::param_var_def_list ParamVarDefList(); + ::PCLOSE PCLOSE(); + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct context_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + context_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::var_def var_def(); +}; +struct context_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + context_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::CONTEXT CONTEXT(); + ::id id(); + ::_repeat_context_item ContextItemList(); + ::END END(); +}; +struct literal_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + literal_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LITERAL LITERAL(); + ::literal_list literal_list(); +}; +struct literal_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + literal_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::literal_list _literal_list(); + ::literal_item literal_item(); + enum prod_name { + _Item = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct literal_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + literal_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::no_ignore_left no_ignore_left(); + ::backtick_lit backtick_lit(); + ::no_ignore_right no_ignore_right(); +}; +struct no_ignore_left +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + no_ignore_left( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::NI NI(); + ::MINUS MINUS(); + enum prod_name { + _Ni = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct no_ignore_right +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + no_ignore_right( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::MINUS MINUS(); + ::NI NI(); + enum prod_name { + _Ni = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct namespace_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + namespace_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::NAMESPACE NAMESPACE(); + ::id id(); + ::_repeat_namespace_item ItemList(); + ::END END(); +}; +struct namespace_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + namespace_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::rl_def rl_def(); + ::literal_def literal_def(); + ::token_def token_def(); + ::ic_def ic_def(); + ::ignore_def ignore_def(); + ::cfl_def cfl_def(); + ::region_def region_def(); + ::context_def context_def(); + ::namespace_def namespace_def(); + ::function_def function_def(); + ::iter_def iter_def(); + ::pre_eof_def pre_eof_def(); + ::precedence_def precedence_def(); + ::alias_def alias_def(); + ::include include(); + enum prod_name { + _Rl = 0, + _Literal = 1, + _Token = 2, + _IgnoreCollector = 3, + _Ignore = 4, + _Cfl = 5, + _Region = 6, + _Context = 7, + _Namespace = 8, + _Function = 9, + _Iter = 10, + _PreEof = 11, + _Precedence = 12, + _Alias = 13, + _Include = 14, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct obj_var_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + obj_var_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct opt_reduce_first +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_reduce_first( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::REDUCEFIRST REDUCEFIRST(); +}; +struct cfl_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + cfl_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DEF DEF(); + ::id id(); + ::_repeat_var_def VarDefList(); + ::opt_reduce_first opt_reduce_first(); + ::prod_list prod_list(); +}; +struct region_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + region_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEX LEX(); + ::_repeat_root_item RootItemList(); + ::END END(); +}; +struct rl_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + rl_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::RL RL(); + ::id id(); + ::LEX_FSLASH LEX_FSLASH(); + ::lex_expr lex_expr(); +}; +struct opt_lex_expr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_lex_expr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_expr lex_expr(); +}; +struct token_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + token_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::TOKEN TOKEN(); + ::id id(); + ::_repeat_var_def VarDefList(); + ::no_ignore_left no_ignore_left(); + ::LEX_FSLASH LEX_FSLASH(); + ::opt_lex_expr opt_lex_expr(); + ::no_ignore_right no_ignore_right(); + ::opt_translate opt_translate(); +}; +struct ic_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ic_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::TOKEN TOKEN(); + ::id id(); + ::MINUS MINUS(); +}; +struct opt_translate +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_translate( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); + enum prod_name { + _Translate = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_id +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_id( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + enum prod_name { + _Id = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct ignore_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + ignore_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::IGNORE IGNORE(); + ::opt_id opt_id(); + ::LEX_FSLASH LEX_FSLASH(); + ::opt_lex_expr opt_lex_expr(); +}; +struct prod_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + prod_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::opt_prod_el_name opt_prod_el_name(); + ::region_qual region_qual(); + ::id id(); + ::opt_repeat opt_repeat(); + ::backtick_lit backtick_lit(); + enum prod_name { + _Id = 0, + _Lit = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_prod_el_name +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_prod_el_name( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + enum prod_name { + _Name = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct prod_el_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + prod_el_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::prod_el_list _prod_el_list(); + ::prod_el prod_el(); + enum prod_name { + _List = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_commit +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_commit( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COMMIT COMMIT(); + enum prod_name { + _Commit = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_prod_name +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_prod_name( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COLON COLON(); + ::id id(); + enum prod_name { + _Name = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct prod +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + prod( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::SQOPEN SQOPEN(); + ::prod_el_list prod_el_list(); + ::SQCLOSE SQCLOSE(); + ::opt_prod_name opt_prod_name(); + ::opt_commit opt_commit(); + ::opt_reduce opt_reduce(); +}; +struct opt_reduce +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_reduce( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); + enum prod_name { + _Reduce = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct prod_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + prod_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::prod_list _prod_list(); + ::BAR BAR(); + ::prod prod(); + enum prod_name { + _List = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct statement +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + statement( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::print_stmt print_stmt(); + ::expr_stmt expr_stmt(); + ::var_def var_def(); + ::opt_def_init opt_def_init(); + ::FOR FOR(); + ::id id(); + ::COLON COLON(); + ::type_ref type_ref(); + ::IN IN(); + ::iter_call iter_call(); + ::block_or_single block_or_single(); + ::IF IF(); + ::code_expr code_expr(); + ::elsif_list elsif_list(); + ::WHILE WHILE(); + ::var_ref var_ref(); + ::EQUALS EQUALS(); + ::YIELD YIELD(); + ::RETURN RETURN(); + ::BREAK BREAK(); + ::REJECT REJECT(); + enum prod_name { + _Print = 0, + _Expr = 1, + _VarDef = 2, + _For = 3, + _If = 4, + _While = 5, + _LhsVarRef = 6, + _Yield = 7, + _Return = 8, + _Break = 9, + _Reject = 10, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct elsif_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + elsif_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::elsif_clause elsif_clause(); + ::elsif_list _elsif_list(); + ::optional_else optional_else(); + enum prod_name { + _Clause = 0, + _OptElse = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct elsif_clause +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + elsif_clause( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ELSIF ELSIF(); + ::code_expr code_expr(); + ::block_or_single block_or_single(); +}; +struct optional_else +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + optional_else( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ELSE ELSE(); + ::block_or_single block_or_single(); + enum prod_name { + _Else = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct call_arg_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + call_arg_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr code_expr(); + ::call_arg_list _call_arg_list(); +}; +struct iter_call +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + iter_call( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::var_ref var_ref(); + ::POPEN POPEN(); + ::call_arg_list call_arg_list(); + ::PCLOSE PCLOSE(); + ::E2 E2(); + ::id id(); + ::E3 E3(); + ::code_expr code_expr(); + enum prod_name { + _Call = 0, + _Id = 1, + _Expr = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct block_or_single +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + block_or_single( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); + ::statement statement(); + enum prod_name { + _Block = 0, + _Single = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct require_pattern +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + require_pattern( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::REQUIRE REQUIRE(); + ::var_ref var_ref(); + ::pattern pattern(); +}; +struct opt_require_stmt +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_require_stmt( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::require_pattern require_pattern(); + ::lang_stmt_list lang_stmt_list(); + enum prod_name { + _Require = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lang_stmt_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lang_stmt_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::_repeat_statement StmtList(); + ::opt_require_stmt opt_require_stmt(); +}; +struct opt_def_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_def_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::EQUALS EQUALS(); + ::code_expr code_expr(); + enum prod_name { + _Init = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + ::type_ref type_ref(); +}; +struct print_stmt +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + print_stmt( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::PRINT PRINT(); + ::POPEN POPEN(); + ::call_arg_list call_arg_list(); + ::PCLOSE PCLOSE(); + ::PRINTS PRINTS(); + ::PRINT_XML PRINT_XML(); + ::PRINT_XML_AC PRINT_XML_AC(); + enum prod_name { + _Tree = 0, + _PrintStream = 1, + _Xml = 2, + _XmlAc = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct expr_stmt +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + expr_stmt( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr code_expr(); +}; +struct code_expr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + code_expr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr _code_expr(); + ::AMPAMP AMPAMP(); + ::code_relational code_relational(); + ::BARBAR BARBAR(); + enum prod_name { + _AmpAmp = 0, + _BarBar = 1, + _Base = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct code_relational +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + code_relational( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_relational _code_relational(); + ::EQEQ EQEQ(); + ::code_additive code_additive(); + ::NEQ NEQ(); + ::LT LT(); + ::GT GT(); + ::LTEQ LTEQ(); + ::GTEQ GTEQ(); + enum prod_name { + _EqEq = 0, + _Neq = 1, + _Lt = 2, + _Gt = 3, + _LtEq = 4, + _GtEq = 5, + _Base = 6, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct code_additive +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + code_additive( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_additive _code_additive(); + ::PLUS PLUS(); + ::code_multiplicitive code_multiplicitive(); + ::MINUS MINUS(); + enum prod_name { + _Plus = 0, + _Minus = 1, + _Base = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct code_multiplicitive +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + code_multiplicitive( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_multiplicitive _code_multiplicitive(); + ::STAR STAR(); + ::code_unary code_unary(); + ::FSLASH FSLASH(); + enum prod_name { + _Star = 0, + _Fslash = 1, + _Base = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct code_unary +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + code_unary( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::BANG BANG(); + ::code_factor code_factor(); + ::DOLLAR DOLLAR(); + ::CARET CARET(); + ::PERCENT PERCENT(); + enum prod_name { + _Bang = 0, + _Dollar = 1, + _Caret = 2, + _Percent = 3, + _Base = 4, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_eos +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_eos( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DOT DOT(); + ::EOS EOS(); + enum prod_name { + _Dot = 0, + _Eos = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct code_factor +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + code_factor( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::number number(); + ::var_ref var_ref(); + ::POPEN POPEN(); + ::call_arg_list call_arg_list(); + ::PCLOSE PCLOSE(); + ::NIL NIL(); + ::TRUE TRUE(); + ::FALSE FALSE(); + ::code_expr code_expr(); + ::SEND SEND(); + ::accumulate accumulate(); + ::opt_eos opt_eos(); + ::PARSE PARSE(); + ::opt_capture opt_capture(); + ::type_ref type_ref(); + ::opt_field_init opt_field_init(); + ::PARSE_STOP PARSE_STOP(); + ::CONS CONS(); + ::constructor constructor(); + ::MATCH MATCH(); + ::pattern pattern(); + ::string string(); + ::IN IN(); + ::MAKE_TREE MAKE_TREE(); + ::MAKE_TOKEN MAKE_TOKEN(); + ::TYPEID TYPEID(); + ::LT LT(); + ::GT GT(); + ::NEW NEW(); + ::code_factor _code_factor(); + ::CAST CAST(); + enum prod_name { + _Number = 0, + _Call = 1, + _VarRef = 2, + _Nil = 3, + _True = 4, + _False = 5, + _Paren = 6, + _Send = 7, + _Parse = 8, + _ParseStop = 9, + _Cons = 10, + _Match = 11, + _String = 12, + _In = 13, + _MakeTree = 14, + _MakeToken = 15, + _TypeId = 16, + _New = 17, + _Cast = 18, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct type_ref +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + type_ref( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual region_qual(); + ::id id(); + ::opt_repeat opt_repeat(); + ::PTR PTR(); + ::LT LT(); + ::GT GT(); + ::MAP MAP(); + ::type_ref MapKeyType(); + ::type_ref MapValueType(); + ::LIST LIST(); + ::type_ref _type_ref(); + ::VECTOR VECTOR(); + ::PARSER PARSER(); + enum prod_name { + _Id = 0, + _Ptr = 1, + _Map = 2, + _List = 3, + _Vector = 4, + _Parser = 5, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct region_qual +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + region_qual( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual _region_qual(); + ::id id(); + ::DOUBLE_COLON DOUBLE_COLON(); + enum prod_name { + _Qual = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_repeat +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_repeat( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::STAR STAR(); + ::PLUS PLUS(); + ::QUESTION QUESTION(); + enum prod_name { + _Star = 0, + _Plus = 1, + _Question = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_capture +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_capture( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + enum prod_name { + _Id = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_field_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_field_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::POPEN POPEN(); + ::_repeat_field_init FieldInitList(); + ::PCLOSE PCLOSE(); + enum prod_name { + _Init = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct field_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + field_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr code_expr(); +}; +struct opt_label +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_label( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + enum prod_name { + _Id = 0, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct dq_lit_term +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + dq_lit_term( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::CONS_DQ CONS_DQ(); + ::CONS_DQ_NL CONS_DQ_NL(); +}; +struct sq_lit_term +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + sq_lit_term( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::CONS_SQ CONS_SQ(); + ::CONS_SQ_NL CONS_SQ_NL(); +}; +struct opt_tilde_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_tilde_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::tilde_data tilde_data(); +}; +struct pattern_el_lel +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pattern_el_lel( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual region_qual(); + ::id id(); + ::opt_repeat opt_repeat(); + ::backtick_lit backtick_lit(); + enum prod_name { + _Id = 0, + _Lit = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pattern_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pattern_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::opt_label opt_label(); + ::pattern_el_lel pattern_el_lel(); + ::DQ DQ(); + ::_repeat_litpat_el LitpatElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + enum prod_name { + _PatternEl = 0, + _Dq = 1, + _Sq = 2, + _Tilde = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct litpat_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + litpat_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_pattern_el PatternElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); + enum prod_name { + _ConsData = 0, + _SubList = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pattern_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pattern_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_litpat_el LitpatElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_pattern_el PatternElList(); + ::SQCLOSE SQCLOSE(); + enum prod_name { + _Dq = 0, + _Sq = 1, + _Tilde = 2, + _SubList = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pattern_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pattern_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pattern_list _pattern_list(); + ::pattern_top_el pattern_top_el(); + enum prod_name { + _List = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct pattern +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + pattern( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pattern_list pattern_list(); +}; +struct E1 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + E1( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct E2 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + E2( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct E3 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + E3( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct E4 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + E4( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::region_qual region_qual(); + ::backtick_lit backtick_lit(); + ::DQ DQ(); + ::_repeat_lit_cons_el LitConsElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::E2 E2(); + ::code_expr code_expr(); + enum prod_name { + _Lit = 0, + _Dq = 1, + _Sq = 2, + _Tilde = 3, + _CodeExpr = 4, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lit_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lit_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_cons_el ConsElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); + enum prod_name { + _ConsData = 0, + _SubList = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct cons_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + cons_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_lit_cons_el LitConsElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_cons_el ConsElList(); + ::SQCLOSE SQCLOSE(); + enum prod_name { + _Dq = 0, + _Sq = 1, + _Tilde = 2, + _SubList = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct cons_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + cons_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::cons_top_el cons_top_el(); + ::cons_list _cons_list(); + enum prod_name { + _List = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct constructor +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + constructor( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::cons_list cons_list(); +}; +struct accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::DQ DQ(); + ::_repeat_lit_accum_el LitAccumElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::E2 E2(); + ::code_expr code_expr(); + enum prod_name { + _Dq = 0, + _Sq = 1, + _Tilde = 2, + _CodeExpr = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lit_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lit_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_accum_el AccumElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); + enum prod_name { + _ConsData = 0, + _SubList = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct accum_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + accum_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_lit_accum_el LitAccumElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_accum_el AccumElList(); + ::SQCLOSE SQCLOSE(); + enum prod_name { + _Dq = 0, + _Sq = 1, + _Tilde = 2, + _SubList = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct accum_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + accum_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::accum_top_el accum_top_el(); + ::accum_list _accum_list(); + enum prod_name { + _List = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct accumulate +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + accumulate( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::accum_list accum_list(); +}; +struct string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::DQ DQ(); + ::_repeat_lit_string_el LitStringElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::E2 E2(); + ::code_expr code_expr(); + enum prod_name { + _Dq = 0, + _Sq = 1, + _Tilde = 2, + _CodeExpr = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lit_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lit_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_string_el StringElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); + enum prod_name { + _ConsData = 0, + _SubList = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct string_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + string_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_lit_string_el LitStringElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_string_el StringElList(); + ::SQCLOSE SQCLOSE(); + enum prod_name { + _Dq = 0, + _Sq = 1, + _Tilde = 2, + _SubList = 3, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct string_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + string_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::string_top_el string_top_el(); + ::string_list _string_list(); + enum prod_name { + _List = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct string +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + string( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::string_list string_list(); +}; +struct var_ref +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + var_ref( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::qual qual(); + ::id id(); +}; +struct qual +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + qual( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::qual _qual(); + ::id id(); + ::DOT DOT(); + ::ARROW ARROW(); + enum prod_name { + _Dot = 0, + _Arrow = 1, + _Base = 2, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lex_expr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_expr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_expr _lex_expr(); + ::LEX_BAR LEX_BAR(); + ::lex_term lex_term(); + ::LEX_AMP LEX_AMP(); + ::LEX_DASH LEX_DASH(); + ::LEX_DASHDASH LEX_DASHDASH(); + enum prod_name { + _Bar = 0, + _Amp = 1, + _Dash = 2, + _DashDash = 3, + _Base = 4, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct opt_lex_dot +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + opt_lex_dot( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEX_DOT LEX_DOT(); +}; +struct lex_term +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_term( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_term _lex_term(); + ::opt_lex_dot opt_lex_dot(); + ::lex_factor_rep lex_factor_rep(); + ::LEX_COLON_GT LEX_COLON_GT(); + ::LEX_COLON_GTGT LEX_COLON_GTGT(); + ::LEX_LT_COLON LEX_LT_COLON(); + enum prod_name { + _Dot = 0, + _ColonGt = 1, + _ColonGtGt = 2, + _LtColon = 3, + _Base = 4, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lex_factor_rep +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_factor_rep( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_factor_rep _lex_factor_rep(); + ::LEX_STAR LEX_STAR(); + ::LEX_STARSTAR LEX_STARSTAR(); + ::LEX_PLUS LEX_PLUS(); + ::LEX_QUESTION LEX_QUESTION(); + ::COPEN COPEN(); + ::lex_uint lex_uint(); + ::CCLOSE CCLOSE(); + ::COMMA COMMA(); + ::lex_uint Low(); + ::lex_uint High(); + ::lex_factor_neg lex_factor_neg(); + enum prod_name { + _Star = 0, + _StarStar = 1, + _Plus = 2, + _Question = 3, + _Exact = 4, + _Max = 5, + _Min = 6, + _Range = 7, + _Base = 8, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lex_factor_neg +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_factor_neg( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEX_CARET LEX_CARET(); + ::lex_factor_neg _lex_factor_neg(); + ::lex_factor lex_factor(); + enum prod_name { + _Caret = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lex_range_lit +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_range_lit( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_lit lex_lit(); + ::lex_num lex_num(); + enum prod_name { + _Lit = 0, + _Number = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct lex_num +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_num( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_uint lex_uint(); + ::lex_hex lex_hex(); +}; +struct lex_factor +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + lex_factor( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_lit lex_lit(); + ::lex_id lex_id(); + ::lex_uint lex_uint(); + ::lex_hex lex_hex(); + ::lex_range_lit Low(); + ::LEX_DOTDOT LEX_DOTDOT(); + ::lex_range_lit High(); + ::LEX_SQOPEN_POS LEX_SQOPEN_POS(); + ::reg_or_data reg_or_data(); + ::RE_SQCLOSE RE_SQCLOSE(); + ::LEX_SQOPEN_NEG LEX_SQOPEN_NEG(); + ::LEX_POPEN LEX_POPEN(); + ::lex_expr lex_expr(); + ::LEX_PCLOSE LEX_PCLOSE(); + enum prod_name { + _Literal = 0, + _Id = 1, + _Number = 2, + _Hex = 3, + _Range = 4, + _PosOrBlock = 5, + _NegOrBlock = 6, + _Paren = 7, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct reg_or_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + reg_or_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::reg_or_data _reg_or_data(); + ::reg_or_char reg_or_char(); + enum prod_name { + _Data = 0, + _Base = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct reg_or_char +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + reg_or_char( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::RE_CHAR RE_CHAR(); + ::RE_CHAR Low(); + ::RE_DASH RE_DASH(); + ::RE_CHAR High(); + enum prod_name { + _Char = 0, + _Range = 1, + }; + enum prod_name prodName() { return (enum prod_name)__tree->prodNum; } +}; +struct _ign_0xdbb3a0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ign_0xdbb3a0( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ign_0xde4b20 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ign_0xde4b20( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ign_0xde7770 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ign_0xde7770( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ign_0xde9520 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ign_0xde9520( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ign_0xdea540 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ign_0xdea540( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ign_0xdf7df0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _ign_0xdf7df0( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct __0xde4bc0_DEF_PAT_1 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + __0xde4bc0_DEF_PAT_1( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct __0xde7810_DEF_PAT_2 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + __0xde7810_DEF_PAT_2( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct __0xde95c0_DEF_PAT_3 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + __0xde95c0_DEF_PAT_3( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct __0xdf7e90_DEF_PAT_4 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + __0xdf7e90_DEF_PAT_4( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct __accum0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + __accum0( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::start tree(); + ::str error(); +}; +struct _repeat_root_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_root_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_root_item next(); + ::root_item value(); +}; +struct _repeat_sq_cons_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_sq_cons_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_sq_cons_data next(); + ::sq_cons_data value(); +}; +struct _repeat_context_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_context_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_context_item next(); + ::context_item value(); +}; +struct _repeat_namespace_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_namespace_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_namespace_item next(); + ::namespace_item value(); +}; +struct _repeat_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_var_def next(); + ::var_def value(); +}; +struct _repeat_statement +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_statement( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_statement next(); + ::statement value(); +}; +struct _repeat_field_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_field_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_field_init next(); + ::field_init value(); +}; +struct _repeat_litpat_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_litpat_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_litpat_el next(); + ::litpat_el value(); +}; +struct _repeat_pattern_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_pattern_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_pattern_el next(); + ::pattern_el value(); +}; +struct _repeat_lit_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_lit_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_lit_cons_el next(); + ::lit_cons_el value(); +}; +struct _repeat_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_cons_el next(); + ::cons_el value(); +}; +struct _repeat_lit_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_lit_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_lit_accum_el next(); + ::lit_accum_el value(); +}; +struct _repeat_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_accum_el next(); + ::accum_el value(); +}; +struct _repeat_lit_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_lit_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_lit_string_el next(); + ::lit_string_el value(); +}; +struct _repeat_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _repeat_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_string_el next(); + ::string_el value(); +}; +struct __list0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + __list0( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::str head(); + ::str tail(); + ::str top(); +}; +struct _T_any +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_any( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T_start +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_start( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::_repeat_root_item RootItemList(); +}; +struct _T_root_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_root_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::rl_def rl_def(); + ::literal_def literal_def(); + ::token_def token_def(); + ::ic_def ic_def(); + ::ignore_def ignore_def(); + ::cfl_def cfl_def(); + ::region_def region_def(); + ::context_def context_def(); + ::namespace_def namespace_def(); + ::function_def function_def(); + ::iter_def iter_def(); + ::statement statement(); + ::global_def global_def(); + ::export_def export_def(); + ::pre_eof_def pre_eof_def(); + ::precedence_def precedence_def(); + ::alias_def alias_def(); + ::include include(); +}; +struct _T_include +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_include( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::INCLUDE INCLUDE(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); +}; +struct _T_precedence_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_precedence_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pred_type pred_type(); + ::pred_token_list pred_token_list(); +}; +struct _T_pred_type +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pred_type( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEFT LEFT(); + ::RIGHT RIGHT(); + ::NONASSOC NONASSOC(); +}; +struct _T_pred_token_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pred_token_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pred_token_list _pred_token_list(); + ::COMMA COMMA(); + ::pred_token pred_token(); +}; +struct _T_pred_token +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pred_token( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual region_qual(); + ::id id(); + ::backtick_lit backtick_lit(); +}; +struct _T_pre_eof_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pre_eof_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::PREEOF PREEOF(); + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct _T_alias_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_alias_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ALIAS ALIAS(); + ::id id(); + ::type_ref type_ref(); +}; +struct _T_context_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_context_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::context_var_def context_var_def(); + ::literal_def literal_def(); + ::rl_def rl_def(); + ::token_def token_def(); + ::ic_def ic_def(); + ::ignore_def ignore_def(); + ::cfl_def cfl_def(); + ::region_def region_def(); + ::context_def context_def(); + ::function_def function_def(); + ::iter_def iter_def(); + ::export_def export_def(); + ::pre_eof_def pre_eof_def(); + ::precedence_def precedence_def(); +}; +struct _T_export_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_export_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::EXPORT EXPORT(); + ::var_def var_def(); + ::opt_def_init opt_def_init(); +}; +struct _T_global_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_global_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::GLOBAL GLOBAL(); + ::var_def var_def(); + ::opt_def_init opt_def_init(); +}; +struct _T_iter_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_iter_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ITER ITER(); + ::id id(); + ::POPEN POPEN(); + ::param_var_def_list ParamVarDefList(); + ::PCLOSE PCLOSE(); + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct _T_reference_type_ref +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_reference_type_ref( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::REF REF(); + ::LT LT(); + ::type_ref type_ref(); + ::GT GT(); +}; +struct _T_param_var_def_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_param_var_def_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::param_var_def param_var_def(); + ::param_var_def_list _param_var_def_list(); +}; +struct _T_param_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_param_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + ::type_ref type_ref(); + ::reference_type_ref reference_type_ref(); +}; +struct _T_opt_export +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_export( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::EXPORT EXPORT(); +}; +struct _T_function_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_function_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::opt_export opt_export(); + ::type_ref type_ref(); + ::id id(); + ::POPEN POPEN(); + ::param_var_def_list ParamVarDefList(); + ::PCLOSE PCLOSE(); + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct _T_context_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_context_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::var_def var_def(); +}; +struct _T_context_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_context_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::CONTEXT CONTEXT(); + ::id id(); + ::_repeat_context_item ContextItemList(); + ::END END(); +}; +struct _T_literal_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_literal_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LITERAL LITERAL(); + ::literal_list literal_list(); +}; +struct _T_literal_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_literal_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::literal_list _literal_list(); + ::literal_item literal_item(); +}; +struct _T_literal_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_literal_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::no_ignore_left no_ignore_left(); + ::backtick_lit backtick_lit(); + ::no_ignore_right no_ignore_right(); +}; +struct _T_no_ignore_left +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_no_ignore_left( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::NI NI(); + ::MINUS MINUS(); +}; +struct _T_no_ignore_right +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_no_ignore_right( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::MINUS MINUS(); + ::NI NI(); +}; +struct _T_namespace_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_namespace_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::NAMESPACE NAMESPACE(); + ::id id(); + ::_repeat_namespace_item ItemList(); + ::END END(); +}; +struct _T_namespace_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_namespace_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::rl_def rl_def(); + ::literal_def literal_def(); + ::token_def token_def(); + ::ic_def ic_def(); + ::ignore_def ignore_def(); + ::cfl_def cfl_def(); + ::region_def region_def(); + ::context_def context_def(); + ::namespace_def namespace_def(); + ::function_def function_def(); + ::iter_def iter_def(); + ::pre_eof_def pre_eof_def(); + ::precedence_def precedence_def(); + ::alias_def alias_def(); + ::include include(); +}; +struct _T_obj_var_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_obj_var_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T_opt_reduce_first +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_reduce_first( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::REDUCEFIRST REDUCEFIRST(); +}; +struct _T_cfl_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_cfl_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DEF DEF(); + ::id id(); + ::_repeat_var_def VarDefList(); + ::opt_reduce_first opt_reduce_first(); + ::prod_list prod_list(); +}; +struct _T_region_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_region_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEX LEX(); + ::_repeat_root_item RootItemList(); + ::END END(); +}; +struct _T_rl_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_rl_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::RL RL(); + ::id id(); + ::LEX_FSLASH LEX_FSLASH(); + ::lex_expr lex_expr(); +}; +struct _T_opt_lex_expr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_lex_expr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_expr lex_expr(); +}; +struct _T_token_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_token_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::TOKEN TOKEN(); + ::id id(); + ::_repeat_var_def VarDefList(); + ::no_ignore_left no_ignore_left(); + ::LEX_FSLASH LEX_FSLASH(); + ::opt_lex_expr opt_lex_expr(); + ::no_ignore_right no_ignore_right(); + ::opt_translate opt_translate(); +}; +struct _T_ic_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_ic_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::TOKEN TOKEN(); + ::id id(); + ::MINUS MINUS(); +}; +struct _T_opt_translate +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_translate( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct _T_opt_id +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_id( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); +}; +struct _T_ignore_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_ignore_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::IGNORE IGNORE(); + ::opt_id opt_id(); + ::LEX_FSLASH LEX_FSLASH(); + ::opt_lex_expr opt_lex_expr(); +}; +struct _T_prod_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_prod_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::opt_prod_el_name opt_prod_el_name(); + ::region_qual region_qual(); + ::id id(); + ::opt_repeat opt_repeat(); + ::backtick_lit backtick_lit(); +}; +struct _T_opt_prod_el_name +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_prod_el_name( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); +}; +struct _T_prod_el_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_prod_el_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::prod_el_list _prod_el_list(); + ::prod_el prod_el(); +}; +struct _T_opt_commit +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_commit( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COMMIT COMMIT(); +}; +struct _T_opt_prod_name +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_prod_name( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COLON COLON(); + ::id id(); +}; +struct _T_prod +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_prod( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::SQOPEN SQOPEN(); + ::prod_el_list prod_el_list(); + ::SQCLOSE SQCLOSE(); + ::opt_prod_name opt_prod_name(); + ::opt_commit opt_commit(); + ::opt_reduce opt_reduce(); +}; +struct _T_opt_reduce +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_reduce( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); +}; +struct _T_prod_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_prod_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::prod_list _prod_list(); + ::BAR BAR(); + ::prod prod(); +}; +struct _T_statement +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_statement( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::print_stmt print_stmt(); + ::expr_stmt expr_stmt(); + ::var_def var_def(); + ::opt_def_init opt_def_init(); + ::FOR FOR(); + ::id id(); + ::COLON COLON(); + ::type_ref type_ref(); + ::IN IN(); + ::iter_call iter_call(); + ::block_or_single block_or_single(); + ::IF IF(); + ::code_expr code_expr(); + ::elsif_list elsif_list(); + ::WHILE WHILE(); + ::var_ref var_ref(); + ::EQUALS EQUALS(); + ::YIELD YIELD(); + ::RETURN RETURN(); + ::BREAK BREAK(); + ::REJECT REJECT(); +}; +struct _T_elsif_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_elsif_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::elsif_clause elsif_clause(); + ::elsif_list _elsif_list(); + ::optional_else optional_else(); +}; +struct _T_elsif_clause +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_elsif_clause( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ELSIF ELSIF(); + ::code_expr code_expr(); + ::block_or_single block_or_single(); +}; +struct _T_optional_else +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_optional_else( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::ELSE ELSE(); + ::block_or_single block_or_single(); +}; +struct _T_call_arg_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_call_arg_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr code_expr(); + ::call_arg_list _call_arg_list(); +}; +struct _T_iter_call +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_iter_call( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::var_ref var_ref(); + ::POPEN POPEN(); + ::call_arg_list call_arg_list(); + ::PCLOSE PCLOSE(); + ::E2 E2(); + ::id id(); + ::E3 E3(); + ::code_expr code_expr(); +}; +struct _T_block_or_single +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_block_or_single( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::COPEN COPEN(); + ::lang_stmt_list lang_stmt_list(); + ::CCLOSE CCLOSE(); + ::statement statement(); +}; +struct _T_require_pattern +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_require_pattern( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::REQUIRE REQUIRE(); + ::var_ref var_ref(); + ::pattern pattern(); +}; +struct _T_opt_require_stmt +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_require_stmt( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::require_pattern require_pattern(); + ::lang_stmt_list lang_stmt_list(); +}; +struct _T_lang_stmt_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lang_stmt_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::_repeat_statement StmtList(); + ::opt_require_stmt opt_require_stmt(); +}; +struct _T_opt_def_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_def_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::EQUALS EQUALS(); + ::code_expr code_expr(); +}; +struct _T_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); + ::type_ref type_ref(); +}; +struct _T_print_stmt +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_print_stmt( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::PRINT PRINT(); + ::POPEN POPEN(); + ::call_arg_list call_arg_list(); + ::PCLOSE PCLOSE(); + ::PRINTS PRINTS(); + ::PRINT_XML PRINT_XML(); + ::PRINT_XML_AC PRINT_XML_AC(); +}; +struct _T_expr_stmt +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_expr_stmt( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr code_expr(); +}; +struct _T_code_expr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_code_expr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr _code_expr(); + ::AMPAMP AMPAMP(); + ::code_relational code_relational(); + ::BARBAR BARBAR(); +}; +struct _T_code_relational +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_code_relational( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_relational _code_relational(); + ::EQEQ EQEQ(); + ::code_additive code_additive(); + ::NEQ NEQ(); + ::LT LT(); + ::GT GT(); + ::LTEQ LTEQ(); + ::GTEQ GTEQ(); +}; +struct _T_code_additive +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_code_additive( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_additive _code_additive(); + ::PLUS PLUS(); + ::code_multiplicitive code_multiplicitive(); + ::MINUS MINUS(); +}; +struct _T_code_multiplicitive +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_code_multiplicitive( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_multiplicitive _code_multiplicitive(); + ::STAR STAR(); + ::code_unary code_unary(); + ::FSLASH FSLASH(); +}; +struct _T_code_unary +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_code_unary( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::BANG BANG(); + ::code_factor code_factor(); + ::DOLLAR DOLLAR(); + ::CARET CARET(); + ::PERCENT PERCENT(); +}; +struct _T_opt_eos +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_eos( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DOT DOT(); + ::EOS EOS(); +}; +struct _T_code_factor +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_code_factor( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::number number(); + ::var_ref var_ref(); + ::POPEN POPEN(); + ::call_arg_list call_arg_list(); + ::PCLOSE PCLOSE(); + ::NIL NIL(); + ::TRUE TRUE(); + ::FALSE FALSE(); + ::code_expr code_expr(); + ::SEND SEND(); + ::accumulate accumulate(); + ::opt_eos opt_eos(); + ::PARSE PARSE(); + ::opt_capture opt_capture(); + ::type_ref type_ref(); + ::opt_field_init opt_field_init(); + ::PARSE_STOP PARSE_STOP(); + ::CONS CONS(); + ::constructor constructor(); + ::MATCH MATCH(); + ::pattern pattern(); + ::string string(); + ::IN IN(); + ::MAKE_TREE MAKE_TREE(); + ::MAKE_TOKEN MAKE_TOKEN(); + ::TYPEID TYPEID(); + ::LT LT(); + ::GT GT(); + ::NEW NEW(); + ::code_factor _code_factor(); + ::CAST CAST(); +}; +struct _T_type_ref +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_type_ref( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual region_qual(); + ::id id(); + ::opt_repeat opt_repeat(); + ::PTR PTR(); + ::LT LT(); + ::GT GT(); + ::MAP MAP(); + ::type_ref MapKeyType(); + ::type_ref MapValueType(); + ::LIST LIST(); + ::type_ref _type_ref(); + ::VECTOR VECTOR(); + ::PARSER PARSER(); +}; +struct _T_region_qual +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_region_qual( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual _region_qual(); + ::id id(); + ::DOUBLE_COLON DOUBLE_COLON(); +}; +struct _T_opt_repeat +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_repeat( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::STAR STAR(); + ::PLUS PLUS(); + ::QUESTION QUESTION(); +}; +struct _T_opt_capture +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_capture( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); +}; +struct _T_opt_field_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_field_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::POPEN POPEN(); + ::_repeat_field_init FieldInitList(); + ::PCLOSE PCLOSE(); +}; +struct _T_field_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_field_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::code_expr code_expr(); +}; +struct _T_opt_label +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_label( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::id id(); + ::COLON COLON(); +}; +struct _T_dq_lit_term +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_dq_lit_term( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::CONS_DQ CONS_DQ(); + ::CONS_DQ_NL CONS_DQ_NL(); +}; +struct _T_sq_lit_term +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_sq_lit_term( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::CONS_SQ CONS_SQ(); + ::CONS_SQ_NL CONS_SQ_NL(); +}; +struct _T_opt_tilde_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_tilde_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::tilde_data tilde_data(); +}; +struct _T_pattern_el_lel +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pattern_el_lel( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::region_qual region_qual(); + ::id id(); + ::opt_repeat opt_repeat(); + ::backtick_lit backtick_lit(); +}; +struct _T_pattern_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pattern_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::opt_label opt_label(); + ::pattern_el_lel pattern_el_lel(); + ::DQ DQ(); + ::_repeat_litpat_el LitpatElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); +}; +struct _T_litpat_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_litpat_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_pattern_el PatternElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); +}; +struct _T_pattern_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pattern_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_litpat_el LitpatElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_pattern_el PatternElList(); + ::SQCLOSE SQCLOSE(); +}; +struct _T_pattern_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pattern_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pattern_list _pattern_list(); + ::pattern_top_el pattern_top_el(); +}; +struct _T_pattern +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_pattern( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::pattern_list pattern_list(); +}; +struct _T_E1 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_E1( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T_E2 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_E2( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T_E3 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_E3( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T_E4 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_E4( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::region_qual region_qual(); + ::backtick_lit backtick_lit(); + ::DQ DQ(); + ::_repeat_lit_cons_el LitConsElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::E2 E2(); + ::code_expr code_expr(); +}; +struct _T_lit_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lit_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_cons_el ConsElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); +}; +struct _T_cons_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_cons_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_lit_cons_el LitConsElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_cons_el ConsElList(); + ::SQCLOSE SQCLOSE(); +}; +struct _T_cons_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_cons_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::cons_top_el cons_top_el(); + ::cons_list _cons_list(); +}; +struct _T_constructor +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_constructor( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::cons_list cons_list(); +}; +struct _T_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::DQ DQ(); + ::_repeat_lit_accum_el LitAccumElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::E2 E2(); + ::code_expr code_expr(); +}; +struct _T_lit_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lit_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_accum_el AccumElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); +}; +struct _T_accum_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_accum_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_lit_accum_el LitAccumElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_accum_el AccumElList(); + ::SQCLOSE SQCLOSE(); +}; +struct _T_accum_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_accum_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::accum_top_el accum_top_el(); + ::accum_list _accum_list(); +}; +struct _T_accumulate +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_accumulate( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::accum_list accum_list(); +}; +struct _T_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::E1 E1(); + ::DQ DQ(); + ::_repeat_lit_string_el LitStringElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::E2 E2(); + ::code_expr code_expr(); +}; +struct _T_lit_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lit_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::dq_cons_data dq_cons_data(); + ::CONS_SQOPEN CONS_SQOPEN(); + ::_repeat_string_el StringElList(); + ::CONS_SQCLOSE CONS_SQCLOSE(); +}; +struct _T_string_top_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_string_top_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::DQ DQ(); + ::_repeat_lit_string_el LitStringElList(); + ::dq_lit_term dq_lit_term(); + ::SQ SQ(); + ::_repeat_sq_cons_data SqConsDataList(); + ::sq_lit_term sq_lit_term(); + ::TILDE TILDE(); + ::opt_tilde_data opt_tilde_data(); + ::TILDE_NL TILDE_NL(); + ::SQOPEN SQOPEN(); + ::_repeat_string_el StringElList(); + ::SQCLOSE SQCLOSE(); +}; +struct _T_string_list +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_string_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::string_top_el string_top_el(); + ::string_list _string_list(); +}; +struct _T_string +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_string( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::string_list string_list(); +}; +struct _T_var_ref +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_var_ref( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::qual qual(); + ::id id(); +}; +struct _T_qual +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_qual( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::qual _qual(); + ::id id(); + ::DOT DOT(); + ::ARROW ARROW(); +}; +struct _T_lex_expr +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_expr( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_expr _lex_expr(); + ::LEX_BAR LEX_BAR(); + ::lex_term lex_term(); + ::LEX_AMP LEX_AMP(); + ::LEX_DASH LEX_DASH(); + ::LEX_DASHDASH LEX_DASHDASH(); +}; +struct _T_opt_lex_dot +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_opt_lex_dot( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEX_DOT LEX_DOT(); +}; +struct _T_lex_term +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_term( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_term _lex_term(); + ::opt_lex_dot opt_lex_dot(); + ::lex_factor_rep lex_factor_rep(); + ::LEX_COLON_GT LEX_COLON_GT(); + ::LEX_COLON_GTGT LEX_COLON_GTGT(); + ::LEX_LT_COLON LEX_LT_COLON(); +}; +struct _T_lex_factor_rep +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_factor_rep( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_factor_rep _lex_factor_rep(); + ::LEX_STAR LEX_STAR(); + ::LEX_STARSTAR LEX_STARSTAR(); + ::LEX_PLUS LEX_PLUS(); + ::LEX_QUESTION LEX_QUESTION(); + ::COPEN COPEN(); + ::lex_uint lex_uint(); + ::CCLOSE CCLOSE(); + ::COMMA COMMA(); + ::lex_uint Low(); + ::lex_uint High(); + ::lex_factor_neg lex_factor_neg(); +}; +struct _T_lex_factor_neg +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_factor_neg( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::LEX_CARET LEX_CARET(); + ::lex_factor_neg _lex_factor_neg(); + ::lex_factor lex_factor(); +}; +struct _T_lex_range_lit +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_range_lit( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_lit lex_lit(); + ::lex_num lex_num(); +}; +struct _T_lex_num +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_num( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_uint lex_uint(); + ::lex_hex lex_hex(); +}; +struct _T_lex_factor +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_lex_factor( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::lex_lit lex_lit(); + ::lex_id lex_id(); + ::lex_uint lex_uint(); + ::lex_hex lex_hex(); + ::lex_range_lit Low(); + ::LEX_DOTDOT LEX_DOTDOT(); + ::lex_range_lit High(); + ::LEX_SQOPEN_POS LEX_SQOPEN_POS(); + ::reg_or_data reg_or_data(); + ::RE_SQCLOSE RE_SQCLOSE(); + ::LEX_SQOPEN_NEG LEX_SQOPEN_NEG(); + ::LEX_POPEN LEX_POPEN(); + ::lex_expr lex_expr(); + ::LEX_PCLOSE LEX_PCLOSE(); +}; +struct _T_reg_or_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_reg_or_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::reg_or_data _reg_or_data(); + ::reg_or_char reg_or_char(); +}; +struct _T_reg_or_char +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T_reg_or_char( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::RE_CHAR RE_CHAR(); + ::RE_CHAR Low(); + ::RE_DASH RE_DASH(); + ::RE_CHAR High(); +}; +struct _T___accum0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T___accum0( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::start tree(); + ::str error(); +}; +struct _T__repeat_root_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_root_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_sq_cons_data +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_sq_cons_data( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_context_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_context_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_namespace_item +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_namespace_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_var_def +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_var_def( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_statement +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_statement( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_field_init +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_field_init( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_litpat_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_litpat_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_pattern_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_pattern_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_lit_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_lit_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_cons_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_cons_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_lit_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_lit_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_accum_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_accum_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_lit_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_lit_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T__repeat_string_el +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T__repeat_string_el( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _T___list0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _T___list0( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::str head(); + ::str tail(); + ::str top(); +}; +struct _root +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string text_ws() { return printTreeStr( __prg, __tree, false ); } + colm_data *data() { return __tree->tokdata; } + operator colm_tree *() { return __tree; } + colm_program *__prg; + colm_tree *__tree; + _root( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +::start ColmTree( colm_program *prg ); +::str ColmError( colm_program *prg ); + +#endif |