void HTTPTokenizer::executeAction(int production) try { if (d_token__ != _UNDETERMINED_) pushToken__(d_token__); // save an already available token // $insert defaultactionreturn // save default non-nested block $$ if (int size = s_productionInfo[production].d_size) d_val__ = d_vsp__[1 - size]; switch (production) { // $insert actioncases case 1: { if (d_scanner.d_content_length != 0) { d_scanner.body(); d_scanner.d_content_length = 0; } else if (d_scanner.d_chunked.length() != 0) { d_scanner.body(); d_scanner.d_chunked_length = -1; d_scanner.d_chunked.assign(""); } } break; case 2: d_val__ = d_vsp__[0]; { d_scanner.d_content_length = 0; d_scanner.init(zpt::HTTPRequest); } break; case 3: d_val__ = d_vsp__[-3]; { d_scanner.url(); } break; case 4: { if (d_scanner.d_content_length != 0) { d_scanner.body(); d_scanner.d_content_length = 0; } else if (d_scanner.d_chunked.length() != 0) { d_scanner.body(); d_scanner.d_chunked_length = -1; d_scanner.d_chunked.assign(""); } } break; case 5: d_val__ = d_vsp__[0]; { d_scanner.d_content_length = 0; d_scanner.init(zpt::HTTPReply); } break; case 6: d_val__ = d_vsp__[-3]; { d_scanner.status(); } break; case 7: d_val__ = d_vsp__[-6]; { } break; case 9: { } break; case 10: { d_scanner.value(); } break; case 11: d_val__ = d_vsp__[0]; { d_scanner.name(); } break; case 12: { d_scanner.value(); } break; case 13: d_val__ = d_vsp__[-2]; { d_scanner.name(); } break; case 18: { d_scanner.add(); } break; case 19: d_val__ = d_vsp__[0]; { d_scanner.add(); } break; case 20: { d_scanner.add(); } break; case 21: d_val__ = d_vsp__[-2]; { d_scanner.add(); } break; case 22: { d_scanner.body(); d_scanner.d_content_length = 0; d_scanner.d_chunked_length = -1; d_scanner.d_chunked.assign(""); } break; } } catch (std::exception const &exc) { exceptionHandler__(exc); }
void JSONTokenizer::executeAction(int production) try { if (d_token__ != _UNDETERMINED_) pushToken__(d_token__); // save an already available token // save default non-nested block $$ if (int size = s_productionInfo[production].d_size) d_val__ = d_vsp__[1 - size]; switch (production) { // $insert actioncases case 1: { d_scanner.result(muzzley::JSObject); } break; case 2: { d_scanner.result(muzzley::JSArray); } break; case 3: { d_scanner.finish(muzzley::JSObject); } break; case 4: d_val__ = d_vsp__[0]; { d_scanner.init(muzzley::JSObject); } break; case 5: { d_scanner.finish(muzzley::JSArray); } break; case 6: d_val__ = d_vsp__[0]; { d_scanner.init(muzzley::JSArray); } break; case 8: { } break; case 9: { d_scanner.add(); } break; case 10: d_val__ = d_vsp__[0]; { d_scanner.init(muzzley::JSObject, d_scanner.matched()); } break; case 11: { d_scanner.add(); } break; case 12: d_val__ = d_vsp__[-2]; { d_scanner.init(muzzley::JSObject, d_scanner.matched()); } break; case 14: { } break; case 15: { d_scanner.add(); } break; case 16: { d_scanner.add(); } break; case 17: { } break; case 18: { } break; case 19: { string _out(d_scanner.matched()); d_scanner.init(_out); } break; case 20: { bool _out; string _in(d_scanner.matched()); muzzley::fromstr(_in, &_out); d_scanner.init(_out); } break; case 21: { long long _out; string _in(d_scanner.matched()); muzzley::fromstr(_in, &_out); d_scanner.init(_out); } break; case 22: { double _out; string _in(d_scanner.matched()); muzzley::fromstr(_in, &_out); d_scanner.init(_out); } break; case 23: { d_scanner.init(); } break; } } catch (std::exception const &exc) { exceptionHandler__(exc); }
void Parser::executeAction(int production) try { if (d_token__ != _UNDETERMINED_) pushToken__(d_token__); // save an already available token // $insert defaultactionreturn // save default non-nested block $$ if (int size = s_productionInfo[production].d_size) d_val__ = d_vsp__[1 - size]; switch (production) { // $insert actioncases case 1: #line 43 "parser.yy" { d_val__.get<Tag__::basic>() = d_vsp__[0].data<Tag__::basic>(); res = d_val__.get<Tag__::basic>(); } break; case 2: #line 51 "parser.yy" { d_val__.get<Tag__::basic>() = add(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>()); } break; case 3: #line 54 "parser.yy" { d_val__.get<Tag__::basic>() = sub(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>()); } break; case 4: #line 57 "parser.yy" { d_val__.get<Tag__::basic>() = mul(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>()); } break; case 5: #line 60 "parser.yy" { d_val__.get<Tag__::basic>() = div(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>()); } break; case 6: #line 63 "parser.yy" { auto tup = parse_implicit_mul(d_vsp__[-2].data<Tag__::string>()); if (neq(*std::get<1>(tup), *one)) { d_val__.get<Tag__::basic>() = mul( std::get<0>(tup), pow(std::get<1>(tup), d_vsp__[0].data<Tag__::basic>())); } else { d_val__.get<Tag__::basic>() = pow(std::get<0>(tup), d_vsp__[0].data<Tag__::basic>()); } } break; case 7: #line 73 "parser.yy" { d_val__.get<Tag__::basic>() = pow(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>()); } break; case 8: #line 76 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>( Lt(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>())); } break; case 9: #line 79 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>( Gt(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>())); } break; case 10: #line 82 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>( Le(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>())); } break; case 11: #line 85 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>( Ge(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>())); } break; case 12: #line 88 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>( Eq(d_vsp__[-2].data<Tag__::basic>(), d_vsp__[0].data<Tag__::basic>())); } break; case 13: #line 91 "parser.yy" { set_boolean s; s.insert(rcp_static_cast<const Boolean>( d_vsp__[-2].data<Tag__::basic>())); s.insert(rcp_static_cast<const Boolean>( d_vsp__[0].data<Tag__::basic>())); d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>(logical_or(s)); } break; case 14: #line 99 "parser.yy" { set_boolean s; s.insert(rcp_static_cast<const Boolean>( d_vsp__[-2].data<Tag__::basic>())); s.insert(rcp_static_cast<const Boolean>( d_vsp__[0].data<Tag__::basic>())); d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>(logical_and(s)); } break; case 15: #line 107 "parser.yy" { vec_boolean s; s.push_back(rcp_static_cast<const Boolean>( d_vsp__[-2].data<Tag__::basic>())); s.push_back(rcp_static_cast<const Boolean>( d_vsp__[0].data<Tag__::basic>())); d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>(logical_xor(s)); } break; case 16: #line 115 "parser.yy" { d_val__.get<Tag__::basic>() = d_vsp__[-1].data<Tag__::basic>(); } break; case 17: #line 118 "parser.yy" { d_val__.get<Tag__::basic>() = neg(d_vsp__[0].data<Tag__::basic>()); } break; case 18: #line 121 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>( logical_not(rcp_static_cast<const Boolean>( d_vsp__[0].data<Tag__::basic>()))); } break; case 19: #line 124 "parser.yy" { d_val__.get<Tag__::basic>() = rcp_static_cast<const Basic>(d_vsp__[0].data<Tag__::basic>()); } break; case 20: #line 129 "parser.yy" { d_val__.get<Tag__::basic>() = parse_identifier(d_vsp__[0].data<Tag__::string>()); } break; case 21: #line 134 "parser.yy" { auto tup = parse_implicit_mul(d_vsp__[0].data<Tag__::string>()); d_val__.get<Tag__::basic>() = mul(std::get<0>(tup), std::get<1>(tup)); } break; case 22: #line 140 "parser.yy" { d_val__.get<Tag__::basic>() = parse_numeric(d_vsp__[0].data<Tag__::string>()); } break; case 23: #line 145 "parser.yy" { d_val__.get<Tag__::basic>() = d_vsp__[0].data<Tag__::basic>(); } break; case 24: #line 152 "parser.yy" { d_val__.get<Tag__::basic>() = functionify(d_vsp__[-3].data<Tag__::string>(), d_vsp__[-1].data<Tag__::basic_vec>()); } break; case 25: #line 160 "parser.yy" { d_val__.get<Tag__::basic_vec>() = d_vsp__[-2].data<Tag__::basic_vec>(); d_val__.get<Tag__::basic_vec>().push_back( d_vsp__[0].data<Tag__::basic>()); } break; case 26: #line 166 "parser.yy" { d_val__.get<Tag__::basic_vec>() = vec_basic(1, d_vsp__[0].data<Tag__::basic>()); } break; } } catch (std::exception const &exc) { exceptionHandler__(exc); }