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 ]
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" ]
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, #div_fold, #escape_arithmetic_value, #group_fold, #mod_fold, #mul_fold, #nested_function_depth, #next_token, #no_field_error, #on_error, #parse, #sub_fold, #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



375
376
377
378
# File 'lib/sparkql/parser.rb', line 375

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

#_reduce_11(val, _values, result) ⇒ Object



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

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

#_reduce_12(val, _values, result) ⇒ Object



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

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

#_reduce_14(val, _values, result) ⇒ Object

reduce 13 omitted



392
393
394
395
# File 'lib/sparkql/parser.rb', line 392

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

#_reduce_15(val, _values, result) ⇒ Object



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

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

#_reduce_16(val, _values, result) ⇒ Object



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

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

#_reduce_17(val, _values, result) ⇒ Object



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

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

#_reduce_18(val, _values, result) ⇒ Object



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

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

#_reduce_19(val, _values, result) ⇒ Object



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

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

#_reduce_2(val, _values, result) ⇒ Object

reduce 1 omitted



347
348
349
350
# File 'lib/sparkql/parser.rb', line 347

def _reduce_2(val, _values, result)
 result = 0 
    result
end

#_reduce_20(val, _values, result) ⇒ Object



422
423
424
425
# File 'lib/sparkql/parser.rb', line 422

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

#_reduce_26(val, _values, result) ⇒ Object

reduce 25 omitted



437
438
439
440
# File 'lib/sparkql/parser.rb', line 437

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

#_reduce_28(val, _values, result) ⇒ Object

reduce 27 omitted



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

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

#_reduce_29(val, _values, result) ⇒ Object



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

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

#_reduce_30(val, _values, result) ⇒ Object



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

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

#_reduce_31(val, _values, result) ⇒ Object



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

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

#_reduce_32(val, _values, result) ⇒ Object



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

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

#_reduce_33(val, _values, result) ⇒ Object



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

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

#_reduce_34(val, _values, result) ⇒ Object



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

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

#_reduce_35(val, _values, result) ⇒ Object



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

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

#_reduce_36(val, _values, result) ⇒ Object



484
485
486
487
# File 'lib/sparkql/parser.rb', line 484

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

#_reduce_37(val, _values, result) ⇒ Object



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

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

#_reduce_38(val, _values, result) ⇒ Object



494
495
496
497
# File 'lib/sparkql/parser.rb', line 494

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

#_reduce_41(val, _values, result) ⇒ Object

reduce 40 omitted



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

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

#_reduce_42(val, _values, result) ⇒ Object



508
509
510
511
# File 'lib/sparkql/parser.rb', line 508

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

#_reduce_46(val, _values, result) ⇒ Object

reduce 45 omitted



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

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

#_reduce_51(val, _values, result) ⇒ Object

reduce 50 omitted



532
533
534
535
# File 'lib/sparkql/parser.rb', line 532

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

#_reduce_52(val, _values, result) ⇒ Object



537
538
539
540
# File 'lib/sparkql/parser.rb', line 537

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

#_reduce_53(val, _values, result) ⇒ Object



542
543
544
545
# File 'lib/sparkql/parser.rb', line 542

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

#_reduce_6(val, _values, result) ⇒ Object

reduce 5 omitted



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

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

#_reduce_7(val, _values, result) ⇒ Object



363
364
365
366
# File 'lib/sparkql/parser.rb', line 363

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

#_reduce_9(val, _values, result) ⇒ Object

reduce 8 omitted



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

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

#_reduce_none(val, _values, result) ⇒ Object

reduce 69 omitted



579
580
581
# File 'lib/sparkql/parser.rb', line 579

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