vorax 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/vorax.rb +1 -0
- data/lib/vorax/parser/grammars/alias.rb +29 -38
- data/lib/vorax/parser/grammars/alias.rl +0 -9
- data/lib/vorax/parser/grammars/column.rb +1 -1
- data/lib/vorax/parser/grammars/column.rl +1 -1
- data/lib/vorax/parser/grammars/common.rl +3 -0
- data/lib/vorax/parser/grammars/for_block.rb +413 -0
- data/lib/vorax/parser/grammars/for_block.rl +67 -0
- data/lib/vorax/parser/grammars/plsql_def.rb +272 -202
- data/lib/vorax/parser/grammars/plsql_def.rl +15 -1
- data/lib/vorax/parser/plsql_structure.rb +71 -12
- data/lib/vorax/version.rb +1 -1
- data/spec/parser_spec.rb +27 -2
- data/spec/plsql_structure_spec.rb +5 -2
- data/spec/sql/test.pkg +15 -0
- metadata +3 -1
| @@ -0,0 +1,67 @@ | |
| 1 | 
            +
            %%{
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            machine for_block;
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            include common "common.rl";
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            action expr_start {
         | 
| 8 | 
            +
              @expr = Parser.walk_balanced_paren(data[(p..-1)])
         | 
| 9 | 
            +
              p += @expr.length - 1
         | 
| 10 | 
            +
            }
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            action mark_end {
         | 
| 13 | 
            +
            	@end_pos = p
         | 
| 14 | 
            +
            }
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            action for_var {
         | 
| 17 | 
            +
            	@for_var = data[(@start..@end)]
         | 
| 18 | 
            +
            }
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            action cursor_var {
         | 
| 21 | 
            +
            	@cursor_var = data[(@start..@end)]
         | 
| 22 | 
            +
            }
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            action start_identifier {
         | 
| 25 | 
            +
              @start = p
         | 
| 26 | 
            +
            }
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            action end_identifier {
         | 
| 29 | 
            +
              @end = p - 1
         | 
| 30 | 
            +
            }
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            # a bracket expression
         | 
| 33 | 
            +
            expression = '(' >expr_start;
         | 
| 34 | 
            +
            id = identifier >start_identifier %end_identifier;
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            for_stmt_range = ws+ (K_REVERSE ws+)? digit+ ws* '..' ws* digit+ ws+;
         | 
| 37 | 
            +
            for_stmt_query = ws* expression ws*;
         | 
| 38 | 
            +
            for_stmt_cursor = ws+ (id - K_REVERSE) %cursor_var ws+;
         | 
| 39 | 
            +
            for_stmt := (K_FOR ws+ id %for_var ws+ K_IN (for_stmt_range | for_stmt_query | for_stmt_cursor) K_LOOP ws+) @mark_end;
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            }%%
         | 
| 42 | 
            +
             | 
| 43 | 
            +
             | 
| 44 | 
            +
            module Vorax
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              module Parser
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                def self.describe_for(data)
         | 
| 49 | 
            +
                  @cursor_var = nil
         | 
| 50 | 
            +
                  @for_var = nil
         | 
| 51 | 
            +
                  @expr = nil
         | 
| 52 | 
            +
                  @end_pos = -1
         | 
| 53 | 
            +
                  if data
         | 
| 54 | 
            +
                    eof = data.length
         | 
| 55 | 
            +
                    %% write data;
         | 
| 56 | 
            +
                    %% write init;
         | 
| 57 | 
            +
                    %% write exec;
         | 
| 58 | 
            +
                  end
         | 
| 59 | 
            +
                  return {:cursor_var => @cursor_var,
         | 
| 60 | 
            +
            						  :for_var => @for_var,
         | 
| 61 | 
            +
            						  :expr => @expr,
         | 
| 62 | 
            +
            						  :end_pos => @end_pos}
         | 
| 63 | 
            +
                end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
              end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
            end
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 |  | 
| 2 | 
            -
            # line 1 " | 
| 2 | 
            +
            # line 1 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 3 3 |  | 
| 4 | 
            -
            # line  | 
| 4 | 
            +
            # line 45 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 5 5 |  | 
| 6 6 |  | 
| 7 7 | 
             
            module Vorax
         | 
| @@ -16,17 +16,20 @@ module Vorax | |
| 16 16 | 
             
                #   fragment ends (immediatelly after "AS|IS"), :type => 'SPEC' or 'BODY'.
         | 
| 17 17 | 
             
                def self.plsql_def(data)
         | 
| 18 18 | 
             
                  @end_pos = -1
         | 
| 19 | 
            +
                  @name = ""
         | 
| 20 | 
            +
                  @type = ""
         | 
| 19 21 | 
             
                  if data
         | 
| 20 22 | 
             
                    eof = data.length
         | 
| 21 23 |  | 
| 22 | 
            -
            # line  | 
| 24 | 
            +
            # line 25 "lib/vorax/parser/grammars/plsql_def.rb"
         | 
| 23 25 | 
             
            class << self
         | 
| 24 26 | 
             
            	attr_accessor :_plsql_def_actions
         | 
| 25 27 | 
             
            	private :_plsql_def_actions, :_plsql_def_actions=
         | 
| 26 28 | 
             
            end
         | 
| 27 29 | 
             
            self._plsql_def_actions = [
         | 
| 28 30 | 
             
            	0, 1, 0, 1, 1, 1, 2, 1, 
         | 
| 29 | 
            -
            	3, 1, 4,  | 
| 31 | 
            +
            	3, 1, 4, 1, 5, 1, 6, 2, 
         | 
| 32 | 
            +
            	5, 0
         | 
| 30 33 | 
             
            ]
         | 
| 31 34 |  | 
| 32 35 | 
             
            class << self
         | 
| @@ -34,19 +37,21 @@ class << self | |
| 34 37 | 
             
            	private :_plsql_def_key_offsets, :_plsql_def_key_offsets=
         | 
| 35 38 | 
             
            end
         | 
| 36 39 | 
             
            self._plsql_def_key_offsets = [
         | 
| 37 | 
            -
            	0, 0, 6, 8, 10,  | 
| 38 | 
            -
            	 | 
| 39 | 
            -
            	 | 
| 40 | 
            -
            	 | 
| 41 | 
            -
            	 | 
| 42 | 
            -
            	 | 
| 43 | 
            -
            	 | 
| 44 | 
            -
            	 | 
| 45 | 
            -
            	 | 
| 46 | 
            -
            	 | 
| 47 | 
            -
            	 | 
| 48 | 
            -
            	 | 
| 49 | 
            -
            	 | 
| 40 | 
            +
            	0, 0, 6, 8, 10, 20, 38, 39, 
         | 
| 41 | 
            +
            	45, 46, 47, 48, 49, 51, 66, 67, 
         | 
| 42 | 
            +
            	68, 69, 70, 72, 89, 104, 110, 111, 
         | 
| 43 | 
            +
            	112, 113, 114, 116, 133, 150, 167, 182, 
         | 
| 44 | 
            +
            	188, 189, 190, 191, 192, 194, 196, 198, 
         | 
| 45 | 
            +
            	200, 202, 204, 206, 208, 210, 212, 214, 
         | 
| 46 | 
            +
            	219, 234, 235, 241, 250, 251, 252, 253, 
         | 
| 47 | 
            +
            	254, 256, 258, 263, 264, 265, 266, 267, 
         | 
| 48 | 
            +
            	269, 277, 278, 283, 297, 312, 313, 314, 
         | 
| 49 | 
            +
            	315, 316, 318, 335, 352, 369, 384, 401, 
         | 
| 50 | 
            +
            	402, 408, 417, 418, 419, 420, 421, 423, 
         | 
| 51 | 
            +
            	425, 430, 431, 432, 433, 434, 436, 444, 
         | 
| 52 | 
            +
            	445, 450, 464, 479, 480, 481, 482, 483, 
         | 
| 53 | 
            +
            	485, 502, 517, 518, 519, 520, 521, 523, 
         | 
| 54 | 
            +
            	525, 527, 527, 532, 537
         | 
| 50 55 | 
             
            ]
         | 
| 51 56 |  | 
| 52 57 | 
             
            class << self
         | 
| @@ -55,27 +60,55 @@ class << self | |
| 55 60 | 
             
            end
         | 
| 56 61 | 
             
            self._plsql_def_trans_keys = [
         | 
| 57 62 | 
             
            	69, 80, 84, 101, 112, 116, 78, 110, 
         | 
| 58 | 
            -
            	68, 100, 32, 45, 47, 59,  | 
| 59 | 
            -
            	 | 
| 60 | 
            -
            	 | 
| 61 | 
            -
            	 | 
| 62 | 
            -
            	 | 
| 63 | 
            -
            	 | 
| 64 | 
            -
            	 | 
| 63 | 
            +
            	68, 100, 32, 45, 47, 59, 73, 76, 
         | 
| 64 | 
            +
            	105, 108, 9, 13, 32, 34, 45, 47, 
         | 
| 65 | 
            +
            	59, 73, 76, 95, 105, 108, 9, 13, 
         | 
| 66 | 
            +
            	35, 36, 65, 90, 97, 122, 34, 32, 
         | 
| 67 | 
            +
            	45, 47, 59, 9, 13, 45, 10, 42, 
         | 
| 68 | 
            +
            	42, 42, 47, 32, 45, 47, 59, 95, 
         | 
| 69 | 
            +
            	9, 13, 35, 36, 48, 57, 65, 90, 
         | 
| 70 | 
            +
            	97, 122, 45, 10, 42, 42, 42, 47, 
         | 
| 71 | 
            +
            	32, 45, 47, 59, 70, 95, 102, 9, 
         | 
| 72 | 
            +
            	13, 35, 36, 48, 57, 65, 90, 97, 
         | 
| 73 | 
            +
            	122, 32, 45, 47, 59, 95, 9, 13, 
         | 
| 74 | 
            +
            	35, 36, 48, 57, 65, 90, 97, 122, 
         | 
| 75 | 
            +
            	32, 45, 47, 59, 9, 13, 45, 10, 
         | 
| 65 76 | 
             
            	42, 42, 42, 47, 32, 45, 47, 59, 
         | 
| 66 | 
            -
            	 | 
| 67 | 
            -
            	57, 65, 90, 97, 122,  | 
| 77 | 
            +
            	79, 95, 111, 9, 13, 35, 36, 48, 
         | 
| 78 | 
            +
            	57, 65, 90, 97, 122, 32, 45, 47, 
         | 
| 79 | 
            +
            	59, 79, 95, 111, 9, 13, 35, 36, 
         | 
| 68 80 | 
             
            	48, 57, 65, 90, 97, 122, 32, 45, 
         | 
| 69 | 
            -
            	47, 59,  | 
| 81 | 
            +
            	47, 59, 80, 95, 112, 9, 13, 35, 
         | 
| 82 | 
            +
            	36, 48, 57, 65, 90, 97, 122, 32, 
         | 
| 83 | 
            +
            	45, 47, 59, 95, 9, 13, 35, 36, 
         | 
| 84 | 
            +
            	48, 57, 65, 90, 97, 122, 32, 45, 
         | 
| 85 | 
            +
            	47, 59, 9, 13, 45, 10, 42, 42, 
         | 
| 86 | 
            +
            	42, 47, 70, 102, 79, 111, 79, 111, 
         | 
| 87 | 
            +
            	80, 112, 65, 97, 67, 99, 75, 107, 
         | 
| 88 | 
            +
            	65, 97, 71, 103, 69, 101, 32, 45, 
         | 
| 89 | 
            +
            	47, 9, 13, 32, 34, 45, 47, 66, 
         | 
| 90 | 
            +
            	95, 98, 9, 13, 35, 36, 65, 90, 
         | 
| 91 | 
            +
            	97, 122, 34, 32, 45, 46, 47, 9, 
         | 
| 92 | 
            +
            	13, 32, 45, 47, 65, 73, 97, 105, 
         | 
| 93 | 
            +
            	9, 13, 45, 10, 42, 42, 42, 47, 
         | 
| 94 | 
            +
            	83, 115, 32, 45, 47, 9, 13, 45, 
         | 
| 95 | 
            +
            	10, 42, 42, 42, 47, 34, 95, 35, 
         | 
| 96 | 
            +
            	36, 65, 90, 97, 122, 34, 32, 45, 
         | 
| 97 | 
            +
            	47, 9, 13, 32, 45, 47, 95, 9, 
         | 
| 98 | 
            +
            	13, 35, 36, 48, 57, 65, 90, 97, 
         | 
| 99 | 
            +
            	122, 32, 45, 46, 47, 95, 9, 13, 
         | 
| 100 | 
            +
            	35, 36, 48, 57, 65, 90, 97, 122, 
         | 
| 101 | 
            +
            	45, 10, 42, 42, 42, 47, 32, 45, 
         | 
| 102 | 
            +
            	46, 47, 79, 95, 111, 9, 13, 35, 
         | 
| 70 103 | 
             
            	36, 48, 57, 65, 90, 97, 122, 32, 
         | 
| 71 | 
            -
            	45,  | 
| 104 | 
            +
            	45, 46, 47, 68, 95, 100, 9, 13, 
         | 
| 72 105 | 
             
            	35, 36, 48, 57, 65, 90, 97, 122, 
         | 
| 73 | 
            -
            	32, 45,  | 
| 106 | 
            +
            	32, 45, 46, 47, 89, 95, 121, 9, 
         | 
| 74 107 | 
             
            	13, 35, 36, 48, 57, 65, 90, 97, 
         | 
| 75 | 
            -
            	122,  | 
| 76 | 
            -
            	 | 
| 77 | 
            -
            	 | 
| 78 | 
            -
            	 | 
| 108 | 
            +
            	122, 32, 45, 46, 47, 95, 9, 13, 
         | 
| 109 | 
            +
            	35, 36, 48, 57, 65, 90, 97, 122, 
         | 
| 110 | 
            +
            	32, 34, 45, 47, 65, 73, 95, 97, 
         | 
| 111 | 
            +
            	105, 9, 13, 35, 36, 66, 90, 98, 
         | 
| 79 112 | 
             
            	122, 34, 32, 45, 46, 47, 9, 13, 
         | 
| 80 113 | 
             
            	32, 45, 47, 65, 73, 97, 105, 9, 
         | 
| 81 114 | 
             
            	13, 45, 10, 42, 42, 42, 47, 83, 
         | 
| @@ -87,35 +120,14 @@ self._plsql_def_trans_keys = [ | |
| 87 120 | 
             
            	32, 45, 46, 47, 95, 9, 13, 35, 
         | 
| 88 121 | 
             
            	36, 48, 57, 65, 90, 97, 122, 45, 
         | 
| 89 122 | 
             
            	10, 42, 42, 42, 47, 32, 45, 46, 
         | 
| 90 | 
            -
            	47,  | 
| 123 | 
            +
            	47, 83, 95, 115, 9, 13, 35, 36, 
         | 
| 91 124 | 
             
            	48, 57, 65, 90, 97, 122, 32, 45, 
         | 
| 92 | 
            -
            	46, 47,  | 
| 93 | 
            -
            	 | 
| 94 | 
            -
            	 | 
| 95 | 
            -
            	 | 
| 96 | 
            -
            	32, 45,  | 
| 97 | 
            -
            	 | 
| 98 | 
            -
            	34, 45, 47, 65, 73, 95, 97, 105, 
         | 
| 99 | 
            -
            	9, 13, 35, 36, 66, 90, 98, 122, 
         | 
| 100 | 
            -
            	34, 32, 45, 46, 47, 9, 13, 32, 
         | 
| 101 | 
            -
            	45, 47, 65, 73, 97, 105, 9, 13, 
         | 
| 102 | 
            -
            	45, 10, 42, 42, 42, 47, 83, 115, 
         | 
| 103 | 
            -
            	32, 45, 47, 9, 13, 45, 10, 42, 
         | 
| 104 | 
            -
            	42, 42, 47, 34, 95, 35, 36, 65, 
         | 
| 105 | 
            -
            	90, 97, 122, 34, 32, 45, 47, 9, 
         | 
| 106 | 
            -
            	13, 32, 45, 47, 95, 9, 13, 35, 
         | 
| 107 | 
            -
            	36, 48, 57, 65, 90, 97, 122, 32, 
         | 
| 108 | 
            -
            	45, 46, 47, 95, 9, 13, 35, 36, 
         | 
| 109 | 
            -
            	48, 57, 65, 90, 97, 122, 45, 10, 
         | 
| 110 | 
            -
            	42, 42, 42, 47, 32, 45, 46, 47, 
         | 
| 111 | 
            -
            	83, 95, 115, 9, 13, 35, 36, 48, 
         | 
| 112 | 
            -
            	57, 65, 90, 97, 122, 32, 45, 46, 
         | 
| 113 | 
            -
            	47, 95, 9, 13, 35, 36, 48, 57, 
         | 
| 114 | 
            -
            	65, 90, 97, 122, 45, 10, 42, 42, 
         | 
| 115 | 
            -
            	42, 47, 89, 121, 80, 112, 32, 45, 
         | 
| 116 | 
            -
            	47, 9, 13, 32, 45, 47, 9, 13, 
         | 
| 117 | 
            -
            	32, 45, 47, 65, 73, 97, 105, 9, 
         | 
| 118 | 
            -
            	13, 0
         | 
| 125 | 
            +
            	46, 47, 95, 9, 13, 35, 36, 48, 
         | 
| 126 | 
            +
            	57, 65, 90, 97, 122, 45, 10, 42, 
         | 
| 127 | 
            +
            	42, 42, 47, 89, 121, 80, 112, 32, 
         | 
| 128 | 
            +
            	45, 47, 9, 13, 32, 45, 47, 9, 
         | 
| 129 | 
            +
            	13, 32, 45, 47, 65, 73, 97, 105, 
         | 
| 130 | 
            +
            	9, 13, 0
         | 
| 119 131 | 
             
            ]
         | 
| 120 132 |  | 
| 121 133 | 
             
            class << self
         | 
| @@ -123,19 +135,21 @@ class << self | |
| 123 135 | 
             
            	private :_plsql_def_single_lengths, :_plsql_def_single_lengths=
         | 
| 124 136 | 
             
            end
         | 
| 125 137 | 
             
            self._plsql_def_single_lengths = [
         | 
| 126 | 
            -
            	0, 6, 2, 2,  | 
| 138 | 
            +
            	0, 6, 2, 2, 8, 10, 1, 4, 
         | 
| 127 139 | 
             
            	1, 1, 1, 1, 2, 5, 1, 1, 
         | 
| 128 | 
            -
            	1, 1, 2, 7,  | 
| 129 | 
            -
            	 | 
| 130 | 
            -
            	1,  | 
| 131 | 
            -
            	2,  | 
| 132 | 
            -
            	 | 
| 133 | 
            -
            	2,  | 
| 134 | 
            -
            	 | 
| 135 | 
            -
            	1,  | 
| 136 | 
            -
            	4,  | 
| 137 | 
            -
            	 | 
| 138 | 
            -
            	 | 
| 140 | 
            +
            	1, 1, 2, 7, 5, 4, 1, 1, 
         | 
| 141 | 
            +
            	1, 1, 2, 7, 7, 7, 5, 4, 
         | 
| 142 | 
            +
            	1, 1, 1, 1, 2, 2, 2, 2, 
         | 
| 143 | 
            +
            	2, 2, 2, 2, 2, 2, 2, 3, 
         | 
| 144 | 
            +
            	7, 1, 4, 7, 1, 1, 1, 1, 
         | 
| 145 | 
            +
            	2, 2, 3, 1, 1, 1, 1, 2, 
         | 
| 146 | 
            +
            	2, 1, 3, 4, 5, 1, 1, 1, 
         | 
| 147 | 
            +
            	1, 2, 7, 7, 7, 5, 9, 1, 
         | 
| 148 | 
            +
            	4, 7, 1, 1, 1, 1, 2, 2, 
         | 
| 149 | 
            +
            	3, 1, 1, 1, 1, 2, 2, 1, 
         | 
| 150 | 
            +
            	3, 4, 5, 1, 1, 1, 1, 2, 
         | 
| 151 | 
            +
            	7, 5, 1, 1, 1, 1, 2, 2, 
         | 
| 152 | 
            +
            	2, 0, 3, 3, 7
         | 
| 139 153 | 
             
            ]
         | 
| 140 154 |  | 
| 141 155 | 
             
            class << self
         | 
| @@ -145,17 +159,19 @@ end | |
| 145 159 | 
             
            self._plsql_def_range_lengths = [
         | 
| 146 160 | 
             
            	0, 0, 0, 0, 1, 4, 0, 1, 
         | 
| 147 161 | 
             
            	0, 0, 0, 0, 0, 5, 0, 0, 
         | 
| 148 | 
            -
            	0, 0, 0, 5,  | 
| 149 | 
            -
            	0, 0, 0,  | 
| 150 | 
            -
            	0,  | 
| 151 | 
            -
            	0,  | 
| 152 | 
            -
            	0, 1,  | 
| 153 | 
            -
            	0,  | 
| 154 | 
            -
            	 | 
| 155 | 
            -
            	0, 0,  | 
| 156 | 
            -
            	 | 
| 157 | 
            -
            	 | 
| 158 | 
            -
            	0,  | 
| 162 | 
            +
            	0, 0, 0, 5, 5, 1, 0, 0, 
         | 
| 163 | 
            +
            	0, 0, 0, 5, 5, 5, 5, 1, 
         | 
| 164 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 165 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 1, 
         | 
| 166 | 
            +
            	4, 0, 1, 1, 0, 0, 0, 0, 
         | 
| 167 | 
            +
            	0, 0, 1, 0, 0, 0, 0, 0, 
         | 
| 168 | 
            +
            	3, 0, 1, 5, 5, 0, 0, 0, 
         | 
| 169 | 
            +
            	0, 0, 5, 5, 5, 5, 4, 0, 
         | 
| 170 | 
            +
            	1, 1, 0, 0, 0, 0, 0, 0, 
         | 
| 171 | 
            +
            	1, 0, 0, 0, 0, 0, 3, 0, 
         | 
| 172 | 
            +
            	1, 5, 5, 0, 0, 0, 0, 0, 
         | 
| 173 | 
            +
            	5, 5, 0, 0, 0, 0, 0, 0, 
         | 
| 174 | 
            +
            	0, 0, 1, 1, 1
         | 
| 159 175 | 
             
            ]
         | 
| 160 176 |  | 
| 161 177 | 
             
            class << self
         | 
| @@ -163,86 +179,21 @@ class << self | |
| 163 179 | 
             
            	private :_plsql_def_index_offsets, :_plsql_def_index_offsets=
         | 
| 164 180 | 
             
            end
         | 
| 165 181 | 
             
            self._plsql_def_index_offsets = [
         | 
| 166 | 
            -
            	0, 0, 7, 10, 13,  | 
| 167 | 
            -
            	 | 
| 168 | 
            -
            	 | 
| 169 | 
            -
            	 | 
| 170 | 
            -
            	 | 
| 171 | 
            -
            	196, 199,  | 
| 172 | 
            -
            	 | 
| 173 | 
            -
            	 | 
| 174 | 
            -
            	 | 
| 175 | 
            -
            	 | 
| 176 | 
            -
            	 | 
| 177 | 
            -
            	 | 
| 178 | 
            -
            	 | 
| 179 | 
            -
             | 
| 180 | 
            -
             | 
| 181 | 
            -
            class << self
         | 
| 182 | 
            -
            	attr_accessor :_plsql_def_indicies
         | 
| 183 | 
            -
            	private :_plsql_def_indicies, :_plsql_def_indicies=
         | 
| 184 | 
            -
            end
         | 
| 185 | 
            -
            self._plsql_def_indicies = [
         | 
| 186 | 
            -
            	0, 2, 3, 0, 2, 3, 1, 4, 
         | 
| 187 | 
            -
            	4, 1, 5, 5, 1, 6, 7, 8, 
         | 
| 188 | 
            -
            	9, 6, 1, 6, 10, 7, 8, 9, 
         | 
| 189 | 
            -
            	12, 13, 11, 12, 13, 6, 11, 11, 
         | 
| 190 | 
            -
            	11, 1, 14, 10, 14, 15, 16, 9, 
         | 
| 191 | 
            -
            	14, 1, 17, 1, 14, 17, 18, 1, 
         | 
| 192 | 
            -
            	19, 18, 19, 14, 18, 14, 15, 16, 
         | 
| 193 | 
            -
            	9, 11, 14, 11, 11, 11, 11, 1, 
         | 
| 194 | 
            -
            	20, 1, 6, 20, 21, 1, 22, 21, 
         | 
| 195 | 
            -
            	22, 6, 21, 14, 15, 16, 9, 23, 
         | 
| 196 | 
            -
            	11, 23, 14, 11, 11, 11, 11, 1, 
         | 
| 197 | 
            -
            	11, 11, 11, 11, 11, 1, 14, 15, 
         | 
| 198 | 
            -
            	16, 9, 24, 11, 24, 14, 11, 11, 
         | 
| 199 | 
            -
            	11, 11, 1, 14, 15, 16, 9, 25, 
         | 
| 200 | 
            -
            	11, 25, 14, 11, 11, 11, 11, 1, 
         | 
| 201 | 
            -
            	14, 15, 16, 9, 23, 11, 23, 14, 
         | 
| 202 | 
            -
            	11, 11, 11, 11, 1, 26, 26, 1, 
         | 
| 203 | 
            -
            	27, 27, 1, 28, 28, 1, 29, 29, 
         | 
| 204 | 
            -
            	1, 30, 30, 1, 31, 31, 1, 32, 
         | 
| 205 | 
            -
            	33, 34, 32, 1, 32, 35, 33, 34, 
         | 
| 206 | 
            -
            	37, 36, 37, 32, 36, 36, 36, 1, 
         | 
| 207 | 
            -
            	39, 38, 40, 41, 42, 43, 40, 1, 
         | 
| 208 | 
            -
            	44, 45, 46, 47, 47, 47, 47, 44, 
         | 
| 209 | 
            -
            	1, 48, 1, 44, 48, 49, 1, 50, 
         | 
| 210 | 
            -
            	49, 50, 44, 49, 51, 51, 1, 52, 
         | 
| 211 | 
            -
            	53, 54, 52, 1, 55, 1, 52, 55, 
         | 
| 212 | 
            -
            	56, 1, 57, 56, 57, 52, 56, 58, 
         | 
| 213 | 
            -
            	59, 59, 59, 59, 1, 60, 58, 40, 
         | 
| 214 | 
            -
            	41, 43, 40, 1, 40, 41, 43, 59, 
         | 
| 215 | 
            -
            	40, 59, 59, 59, 59, 1, 40, 41, 
         | 
| 216 | 
            -
            	42, 43, 61, 40, 61, 61, 61, 61, 
         | 
| 217 | 
            -
            	1, 62, 1, 32, 62, 63, 1, 64, 
         | 
| 218 | 
            -
            	63, 64, 32, 63, 40, 41, 42, 43, 
         | 
| 219 | 
            -
            	65, 61, 65, 40, 61, 61, 61, 61, 
         | 
| 220 | 
            -
            	1, 40, 41, 42, 43, 66, 61, 66, 
         | 
| 221 | 
            -
            	40, 61, 61, 61, 61, 1, 40, 41, 
         | 
| 222 | 
            -
            	42, 43, 67, 61, 67, 40, 61, 61, 
         | 
| 223 | 
            -
            	61, 61, 1, 68, 69, 42, 70, 61, 
         | 
| 224 | 
            -
            	68, 61, 61, 61, 61, 1, 71, 72, 
         | 
| 225 | 
            -
            	74, 75, 76, 76, 73, 76, 76, 71, 
         | 
| 226 | 
            -
            	73, 73, 73, 1, 78, 77, 79, 80, 
         | 
| 227 | 
            -
            	81, 82, 79, 1, 83, 84, 85, 86, 
         | 
| 228 | 
            -
            	86, 86, 86, 83, 1, 87, 1, 83, 
         | 
| 229 | 
            -
            	87, 88, 1, 89, 88, 89, 83, 88, 
         | 
| 230 | 
            -
            	90, 90, 1, 91, 92, 93, 91, 1, 
         | 
| 231 | 
            -
            	94, 1, 91, 94, 95, 1, 96, 95, 
         | 
| 232 | 
            -
            	96, 91, 95, 97, 98, 98, 98, 98, 
         | 
| 233 | 
            -
            	1, 99, 97, 79, 80, 82, 79, 1, 
         | 
| 234 | 
            -
            	79, 80, 82, 98, 79, 98, 98, 98, 
         | 
| 235 | 
            -
            	98, 1, 79, 80, 81, 82, 100, 79, 
         | 
| 236 | 
            -
            	100, 100, 100, 100, 1, 101, 1, 71, 
         | 
| 237 | 
            -
            	101, 102, 1, 103, 102, 103, 71, 102, 
         | 
| 238 | 
            -
            	79, 80, 81, 82, 104, 100, 104, 79, 
         | 
| 239 | 
            -
            	100, 100, 100, 100, 1, 105, 106, 81, 
         | 
| 240 | 
            -
            	107, 100, 105, 100, 100, 100, 100, 1, 
         | 
| 241 | 
            -
            	108, 1, 109, 108, 110, 1, 111, 110, 
         | 
| 242 | 
            -
            	111, 109, 110, 112, 112, 1, 30, 30, 
         | 
| 243 | 
            -
            	1, 1, 52, 53, 54, 52, 1, 91, 
         | 
| 244 | 
            -
            	92, 93, 91, 1, 109, 113, 114, 86, 
         | 
| 245 | 
            -
            	86, 86, 86, 109, 1, 0
         | 
| 182 | 
            +
            	0, 0, 7, 10, 13, 23, 38, 40, 
         | 
| 183 | 
            +
            	46, 48, 50, 52, 54, 57, 68, 70, 
         | 
| 184 | 
            +
            	72, 74, 76, 79, 92, 103, 109, 111, 
         | 
| 185 | 
            +
            	113, 115, 117, 120, 133, 146, 159, 170, 
         | 
| 186 | 
            +
            	176, 178, 180, 182, 184, 187, 190, 193, 
         | 
| 187 | 
            +
            	196, 199, 202, 205, 208, 211, 214, 217, 
         | 
| 188 | 
            +
            	222, 234, 236, 242, 251, 253, 255, 257, 
         | 
| 189 | 
            +
            	259, 262, 265, 270, 272, 274, 276, 278, 
         | 
| 190 | 
            +
            	281, 287, 289, 294, 304, 315, 317, 319, 
         | 
| 191 | 
            +
            	321, 323, 326, 339, 352, 365, 376, 390, 
         | 
| 192 | 
            +
            	392, 398, 407, 409, 411, 413, 415, 418, 
         | 
| 193 | 
            +
            	421, 426, 428, 430, 432, 434, 437, 443, 
         | 
| 194 | 
            +
            	445, 450, 460, 471, 473, 475, 477, 479, 
         | 
| 195 | 
            +
            	482, 495, 506, 508, 510, 512, 514, 517, 
         | 
| 196 | 
            +
            	520, 523, 524, 529, 534
         | 
| 246 197 | 
             
            ]
         | 
| 247 198 |  | 
| 248 199 | 
             
            class << self
         | 
| @@ -250,21 +201,74 @@ class << self | |
| 250 201 | 
             
            	private :_plsql_def_trans_targs, :_plsql_def_trans_targs=
         | 
| 251 202 | 
             
            end
         | 
| 252 203 | 
             
            self._plsql_def_trans_targs = [
         | 
| 253 | 
            -
            	2,  | 
| 254 | 
            -
            	 | 
| 255 | 
            -
            	 | 
| 256 | 
            -
            	 | 
| 257 | 
            -
            	 | 
| 258 | 
            -
            	 | 
| 259 | 
            -
            	 | 
| 260 | 
            -
            	 | 
| 261 | 
            -
            	 | 
| 262 | 
            -
            	 | 
| 263 | 
            -
            	 | 
| 264 | 
            -
            	 | 
| 265 | 
            -
            	 | 
| 266 | 
            -
            	 | 
| 267 | 
            -
            	 | 
| 204 | 
            +
            	2, 41, 111, 2, 41, 111, 0, 3, 
         | 
| 205 | 
            +
            	3, 0, 4, 4, 0, 5, 14, 16, 
         | 
| 206 | 
            +
            	113, 37, 38, 37, 38, 5, 0, 5, 
         | 
| 207 | 
            +
            	6, 14, 16, 113, 19, 27, 13, 19, 
         | 
| 208 | 
            +
            	27, 5, 13, 13, 13, 0, 7, 6, 
         | 
| 209 | 
            +
            	7, 8, 10, 113, 7, 0, 9, 0, 
         | 
| 210 | 
            +
            	7, 9, 11, 0, 12, 11, 12, 7, 
         | 
| 211 | 
            +
            	11, 7, 8, 10, 113, 13, 7, 13, 
         | 
| 212 | 
            +
            	13, 13, 13, 0, 15, 0, 5, 15, 
         | 
| 213 | 
            +
            	17, 0, 18, 17, 18, 5, 17, 7, 
         | 
| 214 | 
            +
            	8, 10, 113, 20, 13, 20, 7, 13, 
         | 
| 215 | 
            +
            	13, 13, 13, 0, 21, 22, 24, 113, 
         | 
| 216 | 
            +
            	13, 21, 13, 13, 13, 13, 0, 21, 
         | 
| 217 | 
            +
            	22, 24, 113, 21, 0, 23, 0, 21, 
         | 
| 218 | 
            +
            	23, 25, 0, 26, 25, 26, 21, 25, 
         | 
| 219 | 
            +
            	7, 8, 10, 113, 28, 13, 28, 7, 
         | 
| 220 | 
            +
            	13, 13, 13, 13, 0, 7, 8, 10, 
         | 
| 221 | 
            +
            	113, 29, 13, 29, 7, 13, 13, 13, 
         | 
| 222 | 
            +
            	13, 0, 7, 8, 10, 113, 30, 13, 
         | 
| 223 | 
            +
            	30, 7, 13, 13, 13, 13, 0, 31, 
         | 
| 224 | 
            +
            	32, 34, 113, 13, 31, 13, 13, 13, 
         | 
| 225 | 
            +
            	13, 0, 31, 32, 34, 113, 31, 0, 
         | 
| 226 | 
            +
            	33, 0, 31, 33, 35, 0, 36, 35, 
         | 
| 227 | 
            +
            	36, 31, 35, 21, 21, 0, 39, 39, 
         | 
| 228 | 
            +
            	0, 40, 40, 0, 31, 31, 0, 42, 
         | 
| 229 | 
            +
            	42, 0, 43, 43, 0, 44, 44, 0, 
         | 
| 230 | 
            +
            	45, 45, 0, 46, 46, 0, 47, 47, 
         | 
| 231 | 
            +
            	0, 48, 69, 71, 48, 0, 48, 49, 
         | 
| 232 | 
            +
            	69, 71, 74, 68, 74, 48, 68, 68, 
         | 
| 233 | 
            +
            	68, 0, 50, 49, 51, 52, 64, 54, 
         | 
| 234 | 
            +
            	51, 0, 51, 52, 54, 57, 57, 57, 
         | 
| 235 | 
            +
            	57, 51, 0, 53, 0, 51, 53, 55, 
         | 
| 236 | 
            +
            	0, 56, 55, 56, 51, 55, 58, 58, 
         | 
| 237 | 
            +
            	0, 114, 59, 61, 114, 0, 60, 0, 
         | 
| 238 | 
            +
            	114, 60, 62, 0, 63, 62, 63, 114, 
         | 
| 239 | 
            +
            	62, 65, 67, 67, 67, 67, 0, 66, 
         | 
| 240 | 
            +
            	65, 51, 52, 54, 51, 0, 51, 52, 
         | 
| 241 | 
            +
            	54, 67, 51, 67, 67, 67, 67, 0, 
         | 
| 242 | 
            +
            	51, 52, 64, 54, 68, 51, 68, 68, 
         | 
| 243 | 
            +
            	68, 68, 0, 70, 0, 48, 70, 72, 
         | 
| 244 | 
            +
            	0, 73, 72, 73, 48, 72, 51, 52, 
         | 
| 245 | 
            +
            	64, 54, 75, 68, 75, 51, 68, 68, 
         | 
| 246 | 
            +
            	68, 68, 0, 51, 52, 64, 54, 76, 
         | 
| 247 | 
            +
            	68, 76, 51, 68, 68, 68, 68, 0, 
         | 
| 248 | 
            +
            	51, 52, 64, 54, 77, 68, 77, 51, 
         | 
| 249 | 
            +
            	68, 68, 68, 68, 0, 78, 99, 64, 
         | 
| 250 | 
            +
            	101, 68, 78, 68, 68, 68, 68, 0, 
         | 
| 251 | 
            +
            	78, 79, 99, 101, 104, 104, 98, 104, 
         | 
| 252 | 
            +
            	104, 78, 98, 98, 98, 0, 80, 79, 
         | 
| 253 | 
            +
            	81, 82, 94, 84, 81, 0, 81, 82, 
         | 
| 254 | 
            +
            	84, 87, 87, 87, 87, 81, 0, 83, 
         | 
| 255 | 
            +
            	0, 81, 83, 85, 0, 86, 85, 86, 
         | 
| 256 | 
            +
            	81, 85, 88, 88, 0, 115, 89, 91, 
         | 
| 257 | 
            +
            	115, 0, 90, 0, 115, 90, 92, 0, 
         | 
| 258 | 
            +
            	93, 92, 93, 115, 92, 95, 97, 97, 
         | 
| 259 | 
            +
            	97, 97, 0, 96, 95, 81, 82, 84, 
         | 
| 260 | 
            +
            	81, 0, 81, 82, 84, 97, 81, 97, 
         | 
| 261 | 
            +
            	97, 97, 97, 0, 81, 82, 94, 84, 
         | 
| 262 | 
            +
            	98, 81, 98, 98, 98, 98, 0, 100, 
         | 
| 263 | 
            +
            	0, 78, 100, 102, 0, 103, 102, 103, 
         | 
| 264 | 
            +
            	78, 102, 81, 82, 94, 84, 105, 98, 
         | 
| 265 | 
            +
            	105, 81, 98, 98, 98, 98, 0, 116, 
         | 
| 266 | 
            +
            	106, 94, 108, 98, 116, 98, 98, 98, 
         | 
| 267 | 
            +
            	98, 0, 107, 0, 116, 107, 109, 0, 
         | 
| 268 | 
            +
            	110, 109, 110, 116, 109, 112, 112, 0, 
         | 
| 269 | 
            +
            	46, 46, 0, 0, 114, 59, 61, 114, 
         | 
| 270 | 
            +
            	0, 115, 89, 91, 115, 0, 116, 106, 
         | 
| 271 | 
            +
            	108, 87, 87, 87, 87, 116, 0, 0
         | 
| 268 272 | 
             
            ]
         | 
| 269 273 |  | 
| 270 274 | 
             
            class << self
         | 
| @@ -273,20 +277,73 @@ class << self | |
| 273 277 | 
             
            end
         | 
| 274 278 | 
             
            self._plsql_def_trans_actions = [
         | 
| 275 279 | 
             
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 276 | 
            -
            	0, 5, 0, 0, 0, 0, 0, 0, 
         | 
| 277 280 | 
             
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 281 | 
            +
            	5, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 282 | 
            +
            	0, 0, 0, 5, 0, 0, 0, 0, 
         | 
| 283 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 284 | 
            +
            	0, 0, 0, 5, 0, 0, 0, 0, 
         | 
| 278 285 | 
             
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 279 | 
            -
            	0, 0, 0,  | 
| 280 | 
            -
            	 | 
| 281 | 
            -
            	0, 0, 0, 0,  | 
| 286 | 
            +
            	0, 0, 0, 0, 5, 0, 0, 0, 
         | 
| 287 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 288 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 289 | 
            +
            	0, 0, 5, 0, 0, 0, 0, 0, 
         | 
| 290 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 9, 
         | 
| 291 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 292 | 
            +
            	0, 0, 9, 0, 0, 0, 0, 0, 
         | 
| 282 293 | 
             
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 283 | 
            -
            	0, 0, 0,  | 
| 284 | 
            -
            	 | 
| 285 | 
            -
            	 | 
| 294 | 
            +
            	0, 0, 0, 5, 0, 0, 0, 0, 
         | 
| 295 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 296 | 
            +
            	5, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 297 | 
            +
            	0, 0, 0, 0, 0, 5, 0, 0, 
         | 
| 298 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 299 | 
            +
            	0, 0, 7, 0, 0, 0, 0, 0, 
         | 
| 300 | 
            +
            	0, 0, 0, 0, 0, 7, 0, 0, 
         | 
| 301 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 302 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 303 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 304 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 305 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 306 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 13, 
         | 
| 307 | 
            +
            	0, 0, 13, 13, 13, 0, 13, 13, 
         | 
| 308 | 
            +
            	13, 0, 0, 0, 11, 11, 0, 11, 
         | 
| 309 | 
            +
            	11, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 310 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 311 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 312 | 
            +
            	0, 1, 0, 0, 1, 0, 0, 0, 
         | 
| 313 | 
            +
            	1, 0, 0, 0, 0, 0, 0, 1, 
         | 
| 314 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 315 | 
            +
            	0, 11, 11, 11, 11, 0, 11, 11, 
         | 
| 316 | 
            +
            	11, 0, 11, 0, 0, 0, 0, 0, 
         | 
| 317 | 
            +
            	11, 11, 0, 11, 0, 11, 0, 0, 
         | 
| 318 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 319 | 
            +
            	0, 0, 0, 0, 0, 0, 11, 11, 
         | 
| 320 | 
            +
            	0, 11, 0, 0, 0, 11, 0, 0, 
         | 
| 321 | 
            +
            	0, 0, 0, 11, 11, 0, 11, 0, 
         | 
| 322 | 
            +
            	0, 0, 11, 0, 0, 0, 0, 0, 
         | 
| 323 | 
            +
            	11, 11, 0, 11, 0, 0, 0, 11, 
         | 
| 324 | 
            +
            	0, 0, 0, 0, 0, 11, 11, 0, 
         | 
| 325 | 
            +
            	11, 0, 11, 0, 0, 0, 0, 0, 
         | 
| 326 | 
            +
            	0, 13, 0, 0, 13, 13, 13, 13, 
         | 
| 327 | 
            +
            	13, 0, 13, 13, 13, 0, 0, 0, 
         | 
| 328 | 
            +
            	11, 11, 0, 11, 11, 0, 0, 0, 
         | 
| 329 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 330 | 
            +
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 331 | 
            +
            	0, 0, 0, 0, 0, 3, 0, 0, 
         | 
| 332 | 
            +
            	3, 0, 0, 0, 3, 0, 0, 0, 
         | 
| 286 333 | 
             
            	0, 0, 0, 3, 0, 0, 0, 0, 
         | 
| 334 | 
            +
            	0, 0, 0, 0, 0, 11, 11, 11, 
         | 
| 335 | 
            +
            	11, 0, 11, 11, 11, 0, 11, 0, 
         | 
| 336 | 
            +
            	0, 0, 0, 0, 11, 11, 0, 11, 
         | 
| 337 | 
            +
            	0, 11, 0, 0, 0, 0, 0, 0, 
         | 
| 287 338 | 
             
            	0, 0, 0, 0, 0, 0, 0, 0, 
         | 
| 288 | 
            -
            	0,  | 
| 289 | 
            -
            	0, 0, 0
         | 
| 339 | 
            +
            	0, 0, 11, 11, 0, 11, 0, 0, 
         | 
| 340 | 
            +
            	0, 11, 0, 0, 0, 0, 0, 15, 
         | 
| 341 | 
            +
            	11, 0, 11, 0, 15, 0, 0, 0, 
         | 
| 342 | 
            +
            	0, 0, 0, 0, 1, 0, 0, 0, 
         | 
| 343 | 
            +
            	0, 0, 0, 1, 0, 0, 0, 0, 
         | 
| 344 | 
            +
            	0, 0, 0, 0, 1, 0, 0, 1, 
         | 
| 345 | 
            +
            	0, 3, 0, 0, 3, 0, 1, 0, 
         | 
| 346 | 
            +
            	0, 0, 0, 0, 0, 1, 0, 0
         | 
| 290 347 | 
             
            ]
         | 
| 291 348 |  | 
| 292 349 | 
             
            class << self
         | 
| @@ -296,7 +353,7 @@ self.plsql_def_start = 1; | |
| 296 353 | 
             
            class << self
         | 
| 297 354 | 
             
            	attr_accessor :plsql_def_first_final
         | 
| 298 355 | 
             
            end
         | 
| 299 | 
            -
            self.plsql_def_first_final =  | 
| 356 | 
            +
            self.plsql_def_first_final = 113;
         | 
| 300 357 | 
             
            class << self
         | 
| 301 358 | 
             
            	attr_accessor :plsql_def_error
         | 
| 302 359 | 
             
            end
         | 
| @@ -308,18 +365,18 @@ end | |
| 308 365 | 
             
            self.plsql_def_en_main = 1;
         | 
| 309 366 |  | 
| 310 367 |  | 
| 311 | 
            -
            # line  | 
| 368 | 
            +
            # line 64 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 312 369 |  | 
| 313 | 
            -
            # line  | 
| 370 | 
            +
            # line 371 "lib/vorax/parser/grammars/plsql_def.rb"
         | 
| 314 371 | 
             
            begin
         | 
| 315 372 | 
             
            	p ||= 0
         | 
| 316 373 | 
             
            	pe ||= data.length
         | 
| 317 374 | 
             
            	cs = plsql_def_start
         | 
| 318 375 | 
             
            end
         | 
| 319 376 |  | 
| 320 | 
            -
            # line  | 
| 377 | 
            +
            # line 65 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 321 378 |  | 
| 322 | 
            -
            # line  | 
| 379 | 
            +
            # line 380 "lib/vorax/parser/grammars/plsql_def.rb"
         | 
| 323 380 | 
             
            begin
         | 
| 324 381 | 
             
            	_klen, _trans, _keys, _acts, _nacts = nil
         | 
| 325 382 | 
             
            	_goto_level = 0
         | 
| @@ -390,7 +447,6 @@ begin | |
| 390 447 | 
             
            	     _trans += _klen
         | 
| 391 448 | 
             
            	  end
         | 
| 392 449 | 
             
            	end while false
         | 
| 393 | 
            -
            	_trans = _plsql_def_indicies[_trans]
         | 
| 394 450 | 
             
            	cs = _plsql_def_trans_targs[_trans]
         | 
| 395 451 | 
             
            	if _plsql_def_trans_actions[_trans] != 0
         | 
| 396 452 | 
             
            		_acts = _plsql_def_trans_actions[_trans]
         | 
| @@ -401,37 +457,51 @@ begin | |
| 401 457 | 
             
            			_acts += 1
         | 
| 402 458 | 
             
            			case _plsql_def_actions[_acts - 1]
         | 
| 403 459 | 
             
            when 0 then
         | 
| 404 | 
            -
            # line 7 " | 
| 460 | 
            +
            # line 7 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 405 461 | 
             
            		begin
         | 
| 406 462 |  | 
| 407 463 | 
             
              @end_pos = p - 1;
         | 
| 408 464 | 
             
              @type = 'SPEC';
         | 
| 409 465 | 
             
            		end
         | 
| 410 466 | 
             
            when 1 then
         | 
| 411 | 
            -
            # line 12 " | 
| 467 | 
            +
            # line 12 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 412 468 | 
             
            		begin
         | 
| 413 469 |  | 
| 414 470 | 
             
              @end_pos = p - 1;
         | 
| 415 471 | 
             
              @type = 'BODY';
         | 
| 416 472 | 
             
            		end
         | 
| 417 473 | 
             
            when 2 then
         | 
| 418 | 
            -
            # line 17 " | 
| 474 | 
            +
            # line 17 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 419 475 | 
             
            		begin
         | 
| 420 476 |  | 
| 421 477 | 
             
              @end_pos = p - 1;
         | 
| 422 478 | 
             
              @type = 'END';
         | 
| 423 479 | 
             
            		end
         | 
| 424 480 | 
             
            when 3 then
         | 
| 425 | 
            -
            # line 22 " | 
| 481 | 
            +
            # line 22 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 426 482 | 
             
            		begin
         | 
| 427 483 |  | 
| 428 | 
            -
              @ | 
| 484 | 
            +
              @end_pos = p - 1;
         | 
| 485 | 
            +
              @type = 'END_LOOP';
         | 
| 429 486 | 
             
            		end
         | 
| 430 487 | 
             
            when 4 then
         | 
| 431 | 
            -
            # line  | 
| 488 | 
            +
            # line 27 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 489 | 
            +
            		begin
         | 
| 490 | 
            +
             | 
| 491 | 
            +
              @end_pos = p - 1;
         | 
| 492 | 
            +
              @type = 'END_IF';
         | 
| 493 | 
            +
            		end
         | 
| 494 | 
            +
            when 5 then
         | 
| 495 | 
            +
            # line 32 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 496 | 
            +
            		begin
         | 
| 497 | 
            +
             | 
| 498 | 
            +
              @name = data[(@start..p-1)]
         | 
| 499 | 
            +
            		end
         | 
| 500 | 
            +
            when 6 then
         | 
| 501 | 
            +
            # line 40 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 432 502 | 
             
            		begin
         | 
| 433 503 | 
             
            @start = p		end
         | 
| 434 | 
            -
            # line  | 
| 504 | 
            +
            # line 505 "lib/vorax/parser/grammars/plsql_def.rb"
         | 
| 435 505 | 
             
            			end # action switch
         | 
| 436 506 | 
             
            		end
         | 
| 437 507 | 
             
            	end
         | 
| @@ -458,7 +528,7 @@ when 4 then | |
| 458 528 | 
             
            	end
         | 
| 459 529 | 
             
            	end
         | 
| 460 530 |  | 
| 461 | 
            -
            # line  | 
| 531 | 
            +
            # line 66 "lib/vorax/parser/grammars/plsql_def.rl"
         | 
| 462 532 | 
             
                  end
         | 
| 463 533 | 
             
                  return {:name => @name, :end_def => @end_pos, :type => @type}
         | 
| 464 534 | 
             
                end
         |