Class: Sparkql::Parser

Inherits:
Racc::Parser
  • Object
show all
Includes:
ParserCompatibility, ParserTools
Defined in:
lib/sparkql/parser.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
].freeze
Racc_token_to_s_table =
[
  "$end",
  "error",
  "UMINUS",
  "MUL",
  "DIV",
  "MOD",
  "ADD",
  "SUB",
  "OPERATOR",
  "RANGE_OPERATOR",
  "UNARY_CONJUNCTION",
  "CONJUNCTION",
  "LPAREN",
  "RPAREN",
  "KEYWORD",
  "COMMA",
  "INTEGER",
  "DECIMAL",
  "CHARACTER",
  "DATE",
  "DATETIME",
  "TIME",
  "BOOLEAN",
  "NULL",
  "STANDARD_FIELD",
  "CUSTOM_FIELD",
  "$start",
  "target",
  "expressions",
  "expression",
  "conjunction",
  "unary_conjunction",
  "field_expression",
  "condition",
  "range",
  "group",
  "field_arithmetic_expression",
  "literals",
  "field_function_expression",
  "field",
  "function",
  "arithmetic_condition",
  "literal_list",
  "literal",
  "function_name",
  "function_args",
  "literal_function",
  "literal_function_args",
  "function_arg",
  "literal_function_arg",
  "rangeable"
].freeze
Racc_debug_parser =
false

Constants included from ParserCompatibility

Sparkql::ParserCompatibility::FILTER_VALUES, Sparkql::ParserCompatibility::MAXIMUM_EXPRESSIONS, Sparkql::ParserCompatibility::MAXIMUM_FUNCTION_DEPTH, Sparkql::ParserCompatibility::MAXIMUM_LEVEL_DEPTH, Sparkql::ParserCompatibility::MAXIMUM_MULTIPLE_VALUES, Sparkql::ParserCompatibility::OPERATORS_SUPPORTING_MULTIPLES

Constants included from ParserTools

Sparkql::ParserTools::ARITHMETIC_TYPES, Sparkql::ParserTools::DATE_TYPES, Sparkql::ParserTools::GROUP, Sparkql::ParserTools::NEGATION, Sparkql::ParserTools::NUMBER_TYPES

Instance Method Summary collapse

Methods included from ParserCompatibility

#boolean_escape, #character_escape, #compile, #date_escape, #datetime_escape, #decimal_escape, #dropped_errors?, #errors, #errors?, #escape_value, #escape_value_list, #fatal_errors?, #integer_escape, #max_expressions, #max_function_depth, #max_level_depth, #max_values, #process_errors, #recovered_errors?, #rules_for_type, #supports_multiple?, #time_escape, #tokenize

Methods included from ParserTools

#add_fold, #arithmetic_error?, #arithmetic_field, #arithmetic_type, #coercible_types, #current_timestamp, #div_fold, #escape_arithmetic_value, #function_resolver, #group_fold, #lookup_function, #mod_fold, #mul_fold, #nested_function_depth, #next_token, #no_field_error, #offset, #on_error, #parse, #sub_fold, #supported_function?, #tokenize_arithmetic, #tokenize_arithmetic_group, #tokenize_arithmetic_negation, #tokenize_conjunction, #tokenize_expression, #tokenize_field_arg, #tokenize_function, #tokenize_function_args, #tokenize_group, #tokenize_list, #tokenize_literal_negation, #tokenize_multiple, #tokenize_unary_conjunction, #unescape_arithmetic, #validate_expressions, #validate_field_function_depth, #validate_level_depth, #validate_multiple_arguments, #validate_multiple_values, #zero_error?

Instance Method Details

#_reduce_10(val, _values, _result) ⇒ Object



382
383
384
# File 'lib/sparkql/parser.rb', line 382

def _reduce_10(val, _values, _result)
  tokenize_conjunction(val[0], val[1], val[2])
end

#_reduce_11(val, _values, _result) ⇒ Object



386
387
388
# File 'lib/sparkql/parser.rb', line 386

def _reduce_11(val, _values, _result)
  tokenize_conjunction(val[0], val[1], val[2])
end

#_reduce_12(val, _values, _result) ⇒ Object



390
391
392
# File 'lib/sparkql/parser.rb', line 390

def _reduce_12(val, _values, _result)
  tokenize_group(val[1])
end

#_reduce_14(val, _values, _result) ⇒ Object

reduce 13 omitted



396
397
398
# File 'lib/sparkql/parser.rb', line 396

def _reduce_14(val, _values, _result)
  tokenize_arithmetic(val[0], val[1], val[2])
end

#_reduce_15(val, _values, _result) ⇒ Object



400
401
402
# File 'lib/sparkql/parser.rb', line 400

def _reduce_15(val, _values, _result)
  tokenize_arithmetic(val[0], val[1], val[2])
end

#_reduce_16(val, _values, _result) ⇒ Object



404
405
406
# File 'lib/sparkql/parser.rb', line 404

def _reduce_16(val, _values, _result)
  tokenize_arithmetic(val[0], val[1], val[2])
end

#_reduce_17(val, _values, _result) ⇒ Object



408
409
410
# File 'lib/sparkql/parser.rb', line 408

def _reduce_17(val, _values, _result)
  tokenize_arithmetic(val[0], val[1], val[2])
end

#_reduce_18(val, _values, _result) ⇒ Object



412
413
414
# File 'lib/sparkql/parser.rb', line 412

def _reduce_18(val, _values, _result)
  tokenize_arithmetic(val[0], val[1], val[2])
end

#_reduce_19(val, _values, _result) ⇒ Object



416
417
418
# File 'lib/sparkql/parser.rb', line 416

def _reduce_19(val, _values, _result)
  tokenize_arithmetic_group(val[1])
end

#_reduce_2(_val, _values, _result) ⇒ Object

reduce 1 omitted



358
359
360
# File 'lib/sparkql/parser.rb', line 358

def _reduce_2(_val, _values, _result)
  0
end

#_reduce_20(val, _values, _result) ⇒ Object



420
421
422
# File 'lib/sparkql/parser.rb', line 420

def _reduce_20(val, _values, _result)
  tokenize_arithmetic_negation(val[1])
end

#_reduce_26(val, _values, _result) ⇒ Object

reduce 25 omitted



434
435
436
# File 'lib/sparkql/parser.rb', line 434

def _reduce_26(val, _values, _result)
  tokenize_list(val[0])
end

#_reduce_28(val, _values, _result) ⇒ Object

reduce 27 omitted



440
441
442
# File 'lib/sparkql/parser.rb', line 440

def _reduce_28(val, _values, _result)
  group_fold(val[1])
end

#_reduce_29(val, _values, _result) ⇒ Object



444
445
446
# File 'lib/sparkql/parser.rb', line 444

def _reduce_29(val, _values, _result)
  tokenize_literal_negation(val[1])
end

#_reduce_30(val, _values, _result) ⇒ Object



448
449
450
# File 'lib/sparkql/parser.rb', line 448

def _reduce_30(val, _values, _result)
  add_fold(val[0], val[2])
end

#_reduce_31(val, _values, _result) ⇒ Object



452
453
454
# File 'lib/sparkql/parser.rb', line 452

def _reduce_31(val, _values, _result)
  sub_fold(val[0], val[2])
end

#_reduce_32(val, _values, _result) ⇒ Object



456
457
458
# File 'lib/sparkql/parser.rb', line 456

def _reduce_32(val, _values, _result)
  mul_fold(val[0], val[2])
end

#_reduce_33(val, _values, _result) ⇒ Object



460
461
462
# File 'lib/sparkql/parser.rb', line 460

def _reduce_33(val, _values, _result)
  div_fold(val[0], val[2])
end

#_reduce_34(val, _values, _result) ⇒ Object



464
465
466
# File 'lib/sparkql/parser.rb', line 464

def _reduce_34(val, _values, _result)
  mod_fold(val[0], val[2])
end

#_reduce_35(val, _values, _result) ⇒ Object



468
469
470
# File 'lib/sparkql/parser.rb', line 468

def _reduce_35(val, _values, _result)
  tokenize_function(val[0], [])
end

#_reduce_36(val, _values, _result) ⇒ Object



472
473
474
# File 'lib/sparkql/parser.rb', line 472

def _reduce_36(val, _values, _result)
  tokenize_function(val[0], val[2])
end

#_reduce_37(val, _values, _result) ⇒ Object



476
477
478
# File 'lib/sparkql/parser.rb', line 476

def _reduce_37(val, _values, _result)
  tokenize_function(val[0], [])
end

#_reduce_38(val, _values, _result) ⇒ Object



480
481
482
# File 'lib/sparkql/parser.rb', line 480

def _reduce_38(val, _values, _result)
  tokenize_function(val[0], val[2])
end

#_reduce_41(val, _values, _result) ⇒ Object

reduce 40 omitted



488
489
490
# File 'lib/sparkql/parser.rb', line 488

def _reduce_41(val, _values, _result)
  tokenize_function_args(val[0], val[2])
end

#_reduce_42(val, _values, _result) ⇒ Object



492
493
494
# File 'lib/sparkql/parser.rb', line 492

def _reduce_42(val, _values, _result)
  tokenize_field_arg(val[0])
end

#_reduce_46(val, _values, _result) ⇒ Object

reduce 45 omitted



502
503
504
# File 'lib/sparkql/parser.rb', line 502

def _reduce_46(val, _values, _result)
  tokenize_function_args(val[0], val[2])
end

#_reduce_51(val, _values, _result) ⇒ Object

reduce 50 omitted



514
515
516
# File 'lib/sparkql/parser.rb', line 514

def _reduce_51(val, _values, _result)
  tokenize_multiple(val[0], val[2])
end

#_reduce_52(val, _values, _result) ⇒ Object



518
519
520
# File 'lib/sparkql/parser.rb', line 518

def _reduce_52(val, _values, _result)
  tokenize_multiple(val[0], val[2])
end

#_reduce_53(val, _values, _result) ⇒ Object



522
523
524
# File 'lib/sparkql/parser.rb', line 522

def _reduce_53(val, _values, _result)
  tokenize_multiple(val[0], val[2])
end

#_reduce_6(val, _values, _result) ⇒ Object

reduce 5 omitted



368
369
370
# File 'lib/sparkql/parser.rb', line 368

def _reduce_6(val, _values, _result)
  tokenize_expression(val[0], val[1], val[2])
end

#_reduce_7(val, _values, _result) ⇒ Object



372
373
374
# File 'lib/sparkql/parser.rb', line 372

def _reduce_7(val, _values, _result)
  tokenize_expression(val[0], val[1], val[2])
end

#_reduce_9(val, _values, _result) ⇒ Object

reduce 8 omitted



378
379
380
# File 'lib/sparkql/parser.rb', line 378

def _reduce_9(val, _values, _result)
  tokenize_unary_conjunction(val[0], val[1])
end

#_reduce_none(val, _values, _result) ⇒ Object

reduce 69 omitted



558
559
560
# File 'lib/sparkql/parser.rb', line 558

def _reduce_none(val, _values, _result)
  val[0]
end