Class: Synvert::Core::NodeQuery::Parser
- Inherits:
-
Racc::Parser
- Object
- Racc::Parser
- Synvert::Core::NodeQuery::Parser
- Defined in:
- lib/synvert/core/node_query/parser.racc.rb
Constant Summary collapse
- Racc_arg =
[ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ]
- Racc_token_to_s_table =
[ "$end", "error", "tNODE_TYPE", "tATTRIBUTE", "tKEY", "tIDENTIFIER", "tIDENTIFIER_VALUE", "tINDEX", "tHAS", "tCOMMA", "tCHILD", "tSUBSEQUENT_SIBLING", "tNEXT_SIBLING", "tOPEN_ATTRIBUTE", "tCLOSE_ATTRIBUTE", "tOPEN_DYNAMIC_ATTRIBUTE", "tCLOSE_DYNAMIC_ATTRIBUTE", "tOPEN_ARRAY", "tCLOSE_ARRAY", "tOPEN_SELECTOR", "tCLOSE_SELECTOR", "tEQUAL", "tNOT_EQUAL", "tMATCH", "tNOT_MATCH", "tGREATER_THAN", "tGREATER_THAN_OR_EQUAL", "tLESS_THAN", "tLESS_THAN_OR_EQUAL", "tIN", "tNOT_IN", "tINCLUDES", "tARRAY_VALUE", "tDYNAMIC_ATTRIBUTE", "tBOOLEAN", "tFLOAT", "tINTEGER", "tNIL", "tREGEXP", "tSTRING", "tSYMBOL", "$start", "expression", "selector", "attribute_list", "attribute", "value", "array_value" ]
- Racc_debug_parser =
false
Instance Method Summary collapse
-
#_reduce_1(val, _values) ⇒ Object
reduce 0 omitted.
- #_reduce_10(val, _values) ⇒ Object
- #_reduce_11(val, _values) ⇒ Object
- #_reduce_12(val, _values) ⇒ Object
- #_reduce_13(val, _values) ⇒ Object
- #_reduce_14(val, _values) ⇒ Object
- #_reduce_15(val, _values) ⇒ Object
- #_reduce_16(val, _values) ⇒ Object
- #_reduce_17(val, _values) ⇒ Object
- #_reduce_18(val, _values) ⇒ Object
- #_reduce_19(val, _values) ⇒ Object
- #_reduce_2(val, _values) ⇒ Object
- #_reduce_20(val, _values) ⇒ Object
- #_reduce_21(val, _values) ⇒ Object
- #_reduce_22(val, _values) ⇒ Object
- #_reduce_23(val, _values) ⇒ Object
- #_reduce_24(val, _values) ⇒ Object
- #_reduce_25(val, _values) ⇒ Object
- #_reduce_26(val, _values) ⇒ Object
- #_reduce_27(val, _values) ⇒ Object
- #_reduce_28(val, _values) ⇒ Object
- #_reduce_29(val, _values) ⇒ Object
- #_reduce_3(val, _values) ⇒ Object
- #_reduce_30(val, _values) ⇒ Object
- #_reduce_31(val, _values) ⇒ Object
- #_reduce_32(val, _values) ⇒ Object
- #_reduce_33(val, _values) ⇒ Object
- #_reduce_34(val, _values) ⇒ Object
- #_reduce_35(val, _values) ⇒ Object
- #_reduce_36(val, _values) ⇒ Object
- #_reduce_37(val, _values) ⇒ Object
- #_reduce_38(val, _values) ⇒ Object
- #_reduce_4(val, _values) ⇒ Object
-
#_reduce_40(val, _values) ⇒ Object
reduce 39 omitted.
- #_reduce_41(val, _values) ⇒ Object
- #_reduce_42(val, _values) ⇒ Object
- #_reduce_43(val, _values) ⇒ Object
- #_reduce_44(val, _values) ⇒ Object
- #_reduce_45(val, _values) ⇒ Object
- #_reduce_46(val, _values) ⇒ Object
- #_reduce_47(val, _values) ⇒ Object
- #_reduce_48(val, _values) ⇒ Object
- #_reduce_5(val, _values) ⇒ Object
- #_reduce_6(val, _values) ⇒ Object
- #_reduce_7(val, _values) ⇒ Object
- #_reduce_8(val, _values) ⇒ Object
- #_reduce_9(val, _values) ⇒ Object
- #_reduce_none(val, _values) ⇒ Object
-
#initialize ⇒ Parser
constructor
A new instance of Parser.
- #next_token ⇒ Object
- #parse(string) ⇒ Object
Constructor Details
Instance Method Details
#_reduce_1(val, _values) ⇒ Object
reduce 0 omitted
321 322 323 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 321 def _reduce_1(val, _values) Compiler::Expression.new(selector: val[0], rest: val[2], relationship: :child) end |
#_reduce_10(val, _values) ⇒ Object
357 358 359 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 357 def _reduce_10(val, _values) Compiler::Selector.new(node_type: val[0], index: val[1]) end |
#_reduce_11(val, _values) ⇒ Object
361 362 363 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 361 def _reduce_11(val, _values) Compiler::Selector.new(attribute_list: val[0], index: val[1]) end |
#_reduce_12(val, _values) ⇒ Object
365 366 367 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 365 def _reduce_12(val, _values) Compiler::Selector.new(node_type: val[0], attribute_list: val[1], has_expression: val[4]) end |
#_reduce_13(val, _values) ⇒ Object
369 370 371 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 369 def _reduce_13(val, _values) Compiler::Selector.new(node_type: val[0], has_expression: val[3]) end |
#_reduce_14(val, _values) ⇒ Object
373 374 375 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 373 def _reduce_14(val, _values) Compiler::Selector.new(attribute_list: val[0], has_expression: val[3]) end |
#_reduce_15(val, _values) ⇒ Object
377 378 379 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 377 def _reduce_15(val, _values) Compiler::Selector.new(node_type: val[0], attribute_list: val[1]) end |
#_reduce_16(val, _values) ⇒ Object
381 382 383 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 381 def _reduce_16(val, _values) Compiler::Selector.new(node_type: val[0]) end |
#_reduce_17(val, _values) ⇒ Object
385 386 387 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 385 def _reduce_17(val, _values) Compiler::Selector.new(attribute_list: val[0]) end |
#_reduce_18(val, _values) ⇒ Object
389 390 391 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 389 def _reduce_18(val, _values) Compiler::AttributeList.new(attribute: val[1], rest: val[3]) end |
#_reduce_19(val, _values) ⇒ Object
393 394 395 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 393 def _reduce_19(val, _values) Compiler::AttributeList.new(attribute: val[1]) end |
#_reduce_2(val, _values) ⇒ Object
325 326 327 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 325 def _reduce_2(val, _values) Compiler::Expression.new(selector: val[0], rest: val[2], relationship: :subsequent_sibling) end |
#_reduce_20(val, _values) ⇒ Object
397 398 399 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 397 def _reduce_20(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :!=) end |
#_reduce_21(val, _values) ⇒ Object
401 402 403 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 401 def _reduce_21(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :!~) end |
#_reduce_22(val, _values) ⇒ Object
405 406 407 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 405 def _reduce_22(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :=~) end |
#_reduce_23(val, _values) ⇒ Object
409 410 411 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 409 def _reduce_23(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :>=) end |
#_reduce_24(val, _values) ⇒ Object
413 414 415 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 413 def _reduce_24(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :>) end |
#_reduce_25(val, _values) ⇒ Object
417 418 419 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 417 def _reduce_25(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :<=) end |
#_reduce_26(val, _values) ⇒ Object
421 422 423 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 421 def _reduce_26(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :<) end |
#_reduce_27(val, _values) ⇒ Object
425 426 427 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 425 def _reduce_27(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :==) end |
#_reduce_28(val, _values) ⇒ Object
429 430 431 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 429 def _reduce_28(val, _values) Compiler::Attribute.new(key: val[0], value: val[2], operator: :includes) end |
#_reduce_29(val, _values) ⇒ Object
433 434 435 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 433 def _reduce_29(val, _values) Compiler::Attribute.new(key: val[0], value: Compiler::Array.new, operator: :!=) end |
#_reduce_3(val, _values) ⇒ Object
329 330 331 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 329 def _reduce_3(val, _values) Compiler::Expression.new(selector: val[0], rest: val[2], relationship: :next_sibling) end |
#_reduce_30(val, _values) ⇒ Object
437 438 439 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 437 def _reduce_30(val, _values) Compiler::Attribute.new(key: val[0], value: Compiler::Array.new, operator: :==) end |
#_reduce_31(val, _values) ⇒ Object
441 442 443 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 441 def _reduce_31(val, _values) Compiler::Attribute.new(key: val[0], value: Compiler::Array.new, operator: :not_in) end |
#_reduce_32(val, _values) ⇒ Object
445 446 447 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 445 def _reduce_32(val, _values) Compiler::Attribute.new(key: val[0], value: Compiler::Array.new, operator: :in) end |
#_reduce_33(val, _values) ⇒ Object
449 450 451 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 449 def _reduce_33(val, _values) Compiler::Attribute.new(key: val[0], value: val[3], operator: :!=) end |
#_reduce_34(val, _values) ⇒ Object
453 454 455 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 453 def _reduce_34(val, _values) Compiler::Attribute.new(key: val[0], value: val[3], operator: :==) end |
#_reduce_35(val, _values) ⇒ Object
457 458 459 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 457 def _reduce_35(val, _values) Compiler::Attribute.new(key: val[0], value: val[3], operator: :not_in) end |
#_reduce_36(val, _values) ⇒ Object
461 462 463 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 461 def _reduce_36(val, _values) Compiler::Attribute.new(key: val[0], value: val[3], operator: :in) end |
#_reduce_37(val, _values) ⇒ Object
465 466 467 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 465 def _reduce_37(val, _values) Compiler::Array.new(value: val[0], rest: val[2]) end |
#_reduce_38(val, _values) ⇒ Object
469 470 471 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 469 def _reduce_38(val, _values) Compiler::Array.new(value: val[0]) end |
#_reduce_4(val, _values) ⇒ Object
333 334 335 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 333 def _reduce_4(val, _values) Compiler::Expression.new(selector: val[0], rest: val[1], relationship: :descendant) end |
#_reduce_40(val, _values) ⇒ Object
reduce 39 omitted
475 476 477 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 475 def _reduce_40(val, _values) Compiler::DynamicAttribute.new(value: val[1]) end |
#_reduce_41(val, _values) ⇒ Object
479 480 481 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 479 def _reduce_41(val, _values) Compiler::Boolean.new(value: val[0]) end |
#_reduce_42(val, _values) ⇒ Object
483 484 485 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 483 def _reduce_42(val, _values) Compiler::Float.new(value: val[0]) end |
#_reduce_43(val, _values) ⇒ Object
487 488 489 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 487 def _reduce_43(val, _values) Compiler::Integer.new(value: val[0]) end |
#_reduce_44(val, _values) ⇒ Object
491 492 493 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 491 def _reduce_44(val, _values) Compiler::Nil.new(value: val[0]) end |
#_reduce_45(val, _values) ⇒ Object
495 496 497 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 495 def _reduce_45(val, _values) Compiler::Regexp.new(value: val[0]) end |
#_reduce_46(val, _values) ⇒ Object
499 500 501 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 499 def _reduce_46(val, _values) Compiler::String.new(value: val[0]) end |
#_reduce_47(val, _values) ⇒ Object
503 504 505 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 503 def _reduce_47(val, _values) Compiler::Symbol.new(value: val[0]) end |
#_reduce_48(val, _values) ⇒ Object
507 508 509 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 507 def _reduce_48(val, _values) Compiler::Identifier.new(value: val[0]) end |
#_reduce_5(val, _values) ⇒ Object
337 338 339 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 337 def _reduce_5(val, _values) Compiler::Expression.new(selector: val[0]) end |
#_reduce_6(val, _values) ⇒ Object
341 342 343 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 341 def _reduce_6(val, _values) Compiler::Expression.new(rest: val[1], relationship: :child) end |
#_reduce_7(val, _values) ⇒ Object
345 346 347 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 345 def _reduce_7(val, _values) Compiler::Expression.new(rest: val[1], relationship: :subsequent_sibling) end |
#_reduce_8(val, _values) ⇒ Object
349 350 351 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 349 def _reduce_8(val, _values) Compiler::Expression.new(rest: val[1], relationship: :next_sibling) end |
#_reduce_9(val, _values) ⇒ Object
353 354 355 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 353 def _reduce_9(val, _values) Compiler::Selector.new(node_type: val[0], attribute_list: val[1], index: val[2]) end |
#_reduce_none(val, _values) ⇒ Object
511 512 513 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 511 def _reduce_none(val, _values) val[0] end |
#next_token ⇒ Object
22 23 24 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 22 def next_token @lexer.next_token end |
#parse(string) ⇒ Object
17 18 19 20 |
# File 'lib/synvert/core/node_query/parser.racc.rb', line 17 def parse string @lexer.parse string do_parse end |