module OracleSqlParser::Grammar::Expression
Autogenerated from a Treetop
grammar. Edits may be lost.
Autogenerated from a Treetop
grammar. Edits may be lost.
Autogenerated from a Treetop
grammar. Edits may be lost.
Autogenerated from a Treetop
grammar. Edits may be lost.
Autogenerated from a Treetop
grammar. Edits may be lost.
Autogenerated from a Treetop
grammar. Edits may be lost.
Autogenerated from a Treetop
grammar. Edits may be lost.
Public Instance Methods
_nt_column_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 374 def _nt_column_expression start_index = index if node_cache[:column_expression].has_key?(index) cached = node_cache[:column_expression][index] if cached node_cache[:column_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('column_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'column_expression\'') r0 = nil end node_cache[:column_expression][start_index] = r0 r0 end
_nt_expr()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 625 def _nt_expr start_index = index if node_cache[:expr].has_key?(index) cached = node_cache[:expr][index] if cached node_cache[:expr][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end r0 = _nt_sql_expression r0.extend(Expr0) r0.extend(Expr0) node_cache[:expr][start_index] = r0 r0 end
_nt_expression_list()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 441 def _nt_expression_list start_index = index if node_cache[:expression_list].has_key?(index) cached = node_cache[:expression_list][index] if cached node_cache[:expression_list][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0 = index i1, s1 = index, [] if (match_len = has_terminal?('(', false, index)) r2 = true @index += match_len else terminal_parse_failure('\'(\'') r2 = nil end s1 << r2 if r2 r3 = _nt_exprs s1 << r3 if r3 if (match_len = has_terminal?(')', false, index)) r4 = true @index += match_len else terminal_parse_failure('\')\'') r4 = nil end s1 << r4 end end if s1.last r1 = instantiate_node(SyntaxNode,input, i1...index, s1) r1.extend(ExpressionList0) else @index = i1 r1 = nil end if r1 r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true r0 = r1 r0.extend(ExpressionList2) r0.extend(ExpressionList2) else i5, s5 = index, [] r6 = _nt_exprs s5 << r6 if s5.last r5 = instantiate_node(SyntaxNode,input, i5...index, s5) r5.extend(ExpressionList1) else @index = i5 r5 = nil end if r5 r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true r0 = r5 r0.extend(ExpressionList2) r0.extend(ExpressionList2) else @index = i0 r0 = nil end end node_cache[:expression_list][start_index] = r0 r0 end
_nt_exprs()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 541 def _nt_exprs start_index = index if node_cache[:exprs].has_key?(index) cached = node_cache[:exprs][index] if cached node_cache[:exprs][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_expr s0 << r1 if r1 s2, i2 = [], index loop do i3, s3 = index, [] r5 = _nt_space if r5 r4 = r5 else r4 = instantiate_node(SyntaxNode,input, index...index) end s3 << r4 if r4 if (match_len = has_terminal?(',', false, index)) r6 = true @index += match_len else terminal_parse_failure('\',\'') r6 = nil end s3 << r6 if r6 r8 = _nt_space if r8 r7 = r8 else r7 = instantiate_node(SyntaxNode,input, index...index) end s3 << r7 if r7 r9 = _nt_expr s3 << r9 end end end if s3.last r3 = instantiate_node(SyntaxNode,input, i3...index, s3) r3.extend(Exprs0) else @index = i3 r3 = nil end if r3 s2 << r3 else break end end r2 = instantiate_node(SyntaxNode,input, i2...index, s2) s0 << r2 end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(Exprs1) r0.extend(Exprs2) else @index = i0 r0 = nil end node_cache[:exprs][start_index] = r0 r0 end
_nt_json_object_access_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 398 def _nt_json_object_access_expression start_index = index if node_cache[:json_object_access_expression].has_key?(index) cached = node_cache[:json_object_access_expression][index] if cached node_cache[:json_object_access_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('json_object_access_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'json_object_access_expression\'') r0 = nil end node_cache[:json_object_access_expression][start_index] = r0 r0 end
_nt_model_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 302 def _nt_model_expression start_index = index if node_cache[:model_expression].has_key?(index) cached = node_cache[:model_expression][index] if cached node_cache[:model_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('model_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'model_expression\'') r0 = nil end node_cache[:model_expression][start_index] = r0 r0 end
_nt_not_loop_sql_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 170 def _nt_not_loop_sql_expression start_index = index if node_cache[:not_loop_sql_expression].has_key?(index) cached = node_cache[:not_loop_sql_expression][index] if cached node_cache[:not_loop_sql_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] i1 = index r2 = _nt_function_expression if r2 r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true r1 = r2 else r3 = _nt_case_expression if r3 r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true r1 = r3 else r4 = _nt_cursor_expression if r4 r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true r1 = r4 else r5 = _nt_object_access_expression if r5 r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true r1 = r5 else r6 = _nt_scalar_subquery_expression if r6 r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true r1 = r6 else r7 = _nt_model_expression if r7 r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true r1 = r7 else r8 = _nt_type_constructor_expression if r8 r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true r1 = r8 else r9 = _nt_simple_expression if r9 r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true r1 = r9 else r10 = _nt_variable_expression if r10 r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true r1 = r10 else @index = i1 r1 = nil end end end end end end end end end s0 << r1 if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(NotLoopSqlExpression0) r0.extend(NotLoopSqlExpression1) else @index = i0 r0 = nil end node_cache[:not_loop_sql_expression][start_index] = r0 r0 end
_nt_object_access_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 254 def _nt_object_access_expression start_index = index if node_cache[:object_access_expression].has_key?(index) cached = node_cache[:object_access_expression][index] if cached node_cache[:object_access_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('object_access_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'object_access_expression\'') r0 = nil end node_cache[:object_access_expression][start_index] = r0 r0 end
_nt_scalar_subquery_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 278 def _nt_scalar_subquery_expression start_index = index if node_cache[:scalar_subquery_expression].has_key?(index) cached = node_cache[:scalar_subquery_expression][index] if cached node_cache[:scalar_subquery_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('scalar_subquery_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'scalar_subquery_expression\'') r0 = nil end node_cache[:scalar_subquery_expression][start_index] = r0 r0 end
_nt_sql_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 38 def _nt_sql_expression start_index = index if node_cache[:sql_expression].has_key?(index) cached = node_cache[:sql_expression][index] if cached node_cache[:sql_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] i1 = index r2 = _nt_interval_expression if r2 r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true r1 = r2 else r3 = _nt_compound_expression if r3 r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true r1 = r3 else r4 = _nt_function_expression if r4 r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true r1 = r4 else r5 = _nt_case_expression if r5 r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true r1 = r5 else r6 = _nt_cursor_expression if r6 r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true r1 = r6 else r7 = _nt_datetime_expression if r7 r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true r1 = r7 else r8 = _nt_object_access_expression if r8 r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true r1 = r8 else r9 = _nt_scalar_subquery_expression if r9 r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true r1 = r9 else r10 = _nt_model_expression if r10 r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true r1 = r10 else r11 = _nt_type_constructor_expression if r11 r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true r1 = r11 else r12 = _nt_simple_expression if r12 r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true r1 = r12 else r13 = _nt_variable_expression if r13 r13 = SyntaxNode.new(input, (index-1)...index) if r13 == true r1 = r13 else r14 = _nt_column_expression if r14 r14 = SyntaxNode.new(input, (index-1)...index) if r14 == true r1 = r14 else r15 = _nt_json_object_access_expression if r15 r15 = SyntaxNode.new(input, (index-1)...index) if r15 == true r1 = r15 else r16 = _nt_object_access_expression if r16 r16 = SyntaxNode.new(input, (index-1)...index) if r16 == true r1 = r16 else @index = i1 r1 = nil end end end end end end end end end end end end end end end s0 << r1 if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(SqlExpression0) r0.extend(SqlExpression1) else @index = i0 r0 = nil end node_cache[:sql_expression][start_index] = r0 r0 end
_nt_type_constructor_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 326 def _nt_type_constructor_expression start_index = index if node_cache[:type_constructor_expression].has_key?(index) cached = node_cache[:type_constructor_expression][index] if cached node_cache[:type_constructor_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('type_constructor_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'type_constructor_expression\'') r0 = nil end node_cache[:type_constructor_expression][start_index] = r0 r0 end
_nt_variable_expression()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 350 def _nt_variable_expression start_index = index if node_cache[:variable_expression].has_key?(index) cached = node_cache[:variable_expression][index] if cached node_cache[:variable_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('variable_expression', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) @index += match_len else terminal_parse_failure('\'variable_expression\'') r0 = nil end node_cache[:variable_expression][start_index] = r0 r0 end
root()
click to toggle source
# File lib/oracle-sql-parser/grammar/expression.rb, line 8 def root @root ||= :sql_expression end