1/* 2 * -*- tcl -*- 3 * Parsing Expression Grammar 'TEMPLATE'. 4 * Generated for unknown, from file 'TEST' 5 */ 6 7/* 8 * Declaring the parse functions 9 */ 10 11<<attributes>> void <<ns>>sym_Expression (<<STATE>> <<state>>); 12<<attributes>> void <<ns>>sym_Function (<<STATE>> <<state>>); 13<<attributes>> void <<ns>>sequence_9 (<<STATE>> <<state>>); 14<<attributes>> void <<ns>>sym_Sinus (<<STATE>> <<state>>); 15 16/* 17 * Precomputed table of strings (symbols, error messages, etc.). 18 */ 19 20static char const* <<string-table>> [8] = { 21 /* 0 = */ "n Expression", 22 /* 1 = */ "Expression", 23 /* 2 = */ "n Function", 24 /* 3 = */ "Function", 25 /* 4 = */ "str 'sin\50'", 26 /* 5 = */ "t \51", 27 /* 6 = */ "n Sinus", 28 /* 7 = */ "Sinus" 29}; 30 31/* 32 * Grammar Start Expression 33 */ 34 35<<attributes>> void <<ns>><<main>> (<<STATE>> <<state>>) { <<prelude>> 36 <<self>> <<ns>>sym_Expression (<<state>>); 37 return; 38} 39 40/* 41 * value Symbol 'Expression' 42 */ 43 44<<attributes>> void <<ns>>sym_Expression (<<STATE>> <<state>>) { <<prelude>> 45 /* 46 * (Function) 47 */ 48 49 if (rde_param_i_symbol_start_d (<<state>>, 1)) return ; 50 <<self>> <<ns>>sym_Function (<<state>>); 51 rde_param_i_symbol_done_d_reduce (<<state>>, 1, 0); 52 return; 53} 54 55/* 56 * value Symbol 'Function' 57 */ 58 59<<attributes>> void <<ns>>sym_Function (<<STATE>> <<state>>) { <<prelude>> 60 /* 61 * (Sinus) 62 */ 63 64 if (rde_param_i_symbol_start_d (<<state>>, 3)) return ; 65 <<self>> <<ns>>sym_Sinus (<<state>>); 66 rde_param_i_symbol_done_d_reduce (<<state>>, 3, 2); 67 return; 68} 69 70/* 71 * value Symbol 'Sinus' 72 */ 73 74<<attributes>> void <<ns>>sym_Sinus (<<STATE>> <<state>>) { <<prelude>> 75 /* 76 * x 77 * "sin\(" 78 * (Expression) 79 * '\)' 80 */ 81 82 if (rde_param_i_symbol_start_d (<<state>>, 7)) return ; 83 <<self>> <<ns>>sequence_9 (<<state>>); 84 rde_param_i_symbol_done_d_reduce (<<state>>, 7, 6); 85 return; 86} 87 88<<attributes>> void <<ns>>sequence_9 (<<STATE>> <<state>>) { <<prelude>> 89 /* 90 * x 91 * "sin\(" 92 * (Expression) 93 * '\)' 94 */ 95 96 rde_param_i_state_push_void (<<state>>); 97 rde_param_i_next_str (<<state>>, "sin\50", 4); 98 if (rde_param_i_seq_void2value(<<state>>)) return; 99 <<self>> <<ns>>sym_Expression (<<state>>); 100 if (rde_param_i_seq_value2value(<<state>>)) return; 101 rde_param_i_next_char (<<state>>, "\51", 5); 102 rde_param_i_state_merge_value (<<state>>); 103 return; 104} 105 106/* 107 */ 108