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::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, #mod_fold, #mul_fold, #nested_function_depth, #next_token, #no_field_error, #on_error, #parse, #sub_fold, #tokenize_arithmetic, #tokenize_conjunction, #tokenize_expression, #tokenize_field_arg, #tokenize_function, #tokenize_function_args, #tokenize_group, #tokenize_list, #tokenize_literal_negation, #tokenize_multiple, #tokenize_unary_conjunction, #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



365
366
367
368
# File 'lib/sparkql/parser.rb', line 365

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

#_reduce_11(val, _values, result) ⇒ Object



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

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

#_reduce_12(val, _values, result) ⇒ Object



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

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

#_reduce_14(val, _values, result) ⇒ Object

reduce 13 omitted



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

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

#_reduce_15(val, _values, result) ⇒ Object



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

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

#_reduce_16(val, _values, result) ⇒ Object



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

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

#_reduce_17(val, _values, result) ⇒ Object



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

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

#_reduce_18(val, _values, result) ⇒ Object



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

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

#_reduce_2(val, _values, result) ⇒ Object

reduce 1 omitted



337
338
339
340
# File 'lib/sparkql/parser.rb', line 337

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

#_reduce_24(val, _values, result) ⇒ Object

reduce 23 omitted



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

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

#_reduce_26(val, _values, result) ⇒ Object

reduce 25 omitted



424
425
426
427
# File 'lib/sparkql/parser.rb', line 424

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

#_reduce_27(val, _values, result) ⇒ Object



429
430
431
432
# File 'lib/sparkql/parser.rb', line 429

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

#_reduce_28(val, _values, result) ⇒ Object



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

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

#_reduce_29(val, _values, result) ⇒ Object



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

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

#_reduce_30(val, _values, result) ⇒ Object



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

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

#_reduce_31(val, _values, result) ⇒ Object



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

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

#_reduce_32(val, _values, result) ⇒ Object



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

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

#_reduce_33(val, _values, result) ⇒ Object



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

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

#_reduce_34(val, _values, result) ⇒ Object



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

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

#_reduce_37(val, _values, result) ⇒ Object

reduce 36 omitted



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

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

#_reduce_38(val, _values, result) ⇒ Object



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

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

#_reduce_42(val, _values, result) ⇒ Object

reduce 41 omitted



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

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

#_reduce_47(val, _values, result) ⇒ Object

reduce 46 omitted



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

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

#_reduce_48(val, _values, result) ⇒ Object



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

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

#_reduce_49(val, _values, result) ⇒ Object



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

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

#_reduce_53(val, _values, result) ⇒ Object

reduce 52 omitted



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

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

#_reduce_54(val, _values, result) ⇒ Object



528
529
530
531
# File 'lib/sparkql/parser.rb', line 528

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

#_reduce_6(val, _values, result) ⇒ Object

reduce 5 omitted



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

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

#_reduce_7(val, _values, result) ⇒ Object



353
354
355
356
# File 'lib/sparkql/parser.rb', line 353

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



360
361
362
363
# File 'lib/sparkql/parser.rb', line 360

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

#_reduce_none(val, _values, result) ⇒ Object

reduce 67 omitted



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

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