diff options
Diffstat (limited to 'src/if1.h')
-rw-r--r-- | src/if1.h | 1148 |
1 files changed, 1148 insertions, 0 deletions
diff --git a/src/if1.h b/src/if1.h new file mode 100644 index 0000000..7199da6 --- /dev/null +++ b/src/if1.h @@ -0,0 +1,1148 @@ +#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 _literal_0005; +struct _literal_0007; +struct _literal_0009; +struct _literal_000b; +struct _literal_000d; +struct _literal_001b; +struct _literal_001d; +struct _literal_001f; +struct _literal_0021; +struct _literal_0023; +struct _literal_0025; +struct _literal_0027; +struct _literal_0029; +struct _literal_002b; +struct _literal_002d; +struct _ignore_0001; +struct _ignore_0003; +struct NI; +struct COMMIT; +struct id; +struct literal; +struct STAR; +struct PLUS; +struct lex_factor; +struct lex_factor_neg; +struct lex_factor_rep; +struct lex_term; +struct lex_expr; +struct opt_ni; +struct opt_prod_repeat; +struct opt_prod_el_name; +struct prod_el; +struct prod_el_list; +struct opt_commit; +struct opt_prod_name; +struct prod; +struct prod_list; +struct ignore_def; +struct token_def; +struct token_list; +struct item; +struct start; +struct _ign_0x11bb1a0; +struct __accum0; +struct _repeat_item; +struct __list0; +struct _T_any; +struct _T_lex_factor; +struct _T_lex_factor_neg; +struct _T_lex_factor_rep; +struct _T_lex_term; +struct _T_lex_expr; +struct _T_opt_ni; +struct _T_opt_prod_repeat; +struct _T_opt_prod_el_name; +struct _T_prod_el; +struct _T_prod_el_list; +struct _T_opt_commit; +struct _T_opt_prod_name; +struct _T_prod; +struct _T_prod_list; +struct _T_ignore_def; +struct _T_token_def; +struct _T_token_list; +struct _T_item; +struct _T_start; +struct _T___accum0; +struct _T__repeat_item; +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 _literal_0005 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0005( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0007 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0007( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0009 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0009( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_000b +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_000b( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_000d +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_000d( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_001b +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_001b( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_001d +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_001d( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_001f +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_001f( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0021 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0021( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0023 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0023( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0025 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0025( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0027 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0027( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_0029 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0029( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_002b +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_002b( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _literal_002d +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_002d( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ignore_0001 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0001( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} +}; +struct _ignore_0003 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0003( 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 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 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 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 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 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 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) {} + ::literal Literal(); + ::lex_expr Expr(); + ::literal Low(); + ::literal High(); + ::id Id(); +}; +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_factor_neg FactorNeg(); + ::lex_factor Factor(); +}; +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 FactorRep(); + ::STAR Star(); + ::PLUS Plus(); + ::lex_factor_neg FactorNeg(); +}; +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 Term(); + ::lex_factor_rep FactorRep(); +}; +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 Expr(); + ::lex_term Term(); +}; +struct opt_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; + opt_ni( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::NI Ni(); +}; +struct opt_prod_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_prod_repeat( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::STAR Star(); +}; +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 Name(); +}; +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 OptName(); + ::id Id(); + ::opt_prod_repeat OptRepeat(); +}; +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 ProdElList(); + ::prod_el ProdEl(); +}; +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(); +}; +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) {} + ::id Name(); +}; +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) {} + ::prod_el_list ProdElList(); + ::opt_prod_name OptName(); + ::opt_commit OptCommit(); +}; +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 ProdList(); + ::prod Prod(); +}; +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) {} + ::lex_expr 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) {} + ::id Id(); + ::opt_ni LeftNi(); + ::lex_expr Expr(); + ::opt_ni RightNi(); +}; +struct 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; + token_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::token_list TokenList(); + ::token_def TokenDef(); + ::ignore_def IgnoreDef(); +}; +struct 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; + item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::token_list TokenList(); + ::id DefId(); + ::prod_list ProdList(); +}; +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_item ItemList(); +}; +struct _ign_0x11bb1a0 +{ + std::string text() { return printTreeStr( __prg, __tree, true ); } + colm_location *loc() { return colm_find_location( __prg, __tree ); } + std::string text_notrim() { return printTreeStr( __prg, __tree, false ); } + std::string 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_0x11bb1a0( 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_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_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + int end() { return colm_repeat_end( __tree ); } + ::_repeat_item next(); + ::item 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_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) {} + ::literal Literal(); + ::lex_expr Expr(); + ::literal Low(); + ::literal High(); + ::id Id(); +}; +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_factor_neg FactorNeg(); + ::lex_factor Factor(); +}; +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 FactorRep(); + ::STAR Star(); + ::PLUS Plus(); + ::lex_factor_neg FactorNeg(); +}; +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 Term(); + ::lex_factor_rep FactorRep(); +}; +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 Expr(); + ::lex_term Term(); +}; +struct _T_opt_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; + _T_opt_ni( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::NI Ni(); +}; +struct _T_opt_prod_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_prod_repeat( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::STAR Star(); +}; +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 Name(); +}; +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 OptName(); + ::id Id(); + ::opt_prod_repeat OptRepeat(); +}; +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 ProdElList(); + ::prod_el ProdEl(); +}; +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) {} + ::id Name(); +}; +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) {} + ::prod_el_list ProdElList(); + ::opt_prod_name OptName(); + ::opt_commit OptCommit(); +}; +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 ProdList(); + ::prod Prod(); +}; +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) {} + ::lex_expr 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) {} + ::id Id(); + ::opt_ni LeftNi(); + ::lex_expr Expr(); + ::opt_ni RightNi(); +}; +struct _T_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_token_list( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::token_list TokenList(); + ::token_def TokenDef(); + ::ignore_def IgnoreDef(); +}; +struct _T_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_item( colm_program *prg, colm_tree *tree ) : __prg(prg), __tree(tree) {} + ::token_list TokenList(); + ::id DefId(); + ::prod_list ProdList(); +}; +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_item ItemList(); +}; +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_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_item( 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 ); + +#endif |