1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#!/usr/bin/env ruby
2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#
3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# GroupFile.g
4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# 
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# Generated using ANTLR version: 3.2.1-SNAPSHOT Jun 18, 2010 05:38:11
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# Ruby runtime library version: 1.7.5
7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# Input grammar file: GroupFile.g
8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# Generated at: 2010-07-03 23:15:35
9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# 
10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# ~~~> start load path setup
12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverthis_directory = File.expand_path( File.dirname( __FILE__ ) )
13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver$LOAD_PATH.unshift( this_directory ) unless $LOAD_PATH.include?( this_directory )
14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverantlr_load_failed = proc do
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  load_path = $LOAD_PATH.map { |dir| '  - ' << dir }.join( $/ )
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  raise LoadError, <<-END.strip!
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
19324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverFailed to load the ANTLR3 runtime library (version 1.7.5):
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
21324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverEnsure the library has been installed on your system and is available
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruveron the load path. If rubygems is available on your system, this can
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverbe done with the command:
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  gem install antlr3
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
27324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverCurrent load path:
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#{ load_path }
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  END
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverdefined?( ANTLR3 ) or begin
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  # 1: try to load the ruby antlr3 runtime library from the system path
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  require 'antlr3'
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverrescue LoadError
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  # 2: try to load rubygems if it isn't already loaded
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  defined?( Gem ) or begin
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    require 'rubygems'
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  rescue LoadError
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    antlr_load_failed.call
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  end
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  # 3: try to activate the antlr3 gem
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  begin
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    Gem.activate( 'antlr3', '~> 1.7.5' )
50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  rescue Gem::LoadError
51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    antlr_load_failed.call
52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  end
53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  require 'antlr3'
55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  
56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend
57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# <~~~ end load path setup
58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# - - - - - - begin action @lexer::header - - - - - -
60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# GroupFile.g
61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvermodule ANTLR3
64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvermodule Template
65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# - - - - - - end action @lexer::header - - - - - - -
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvermodule GroupFile
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  # TokenData defines all of the token type integer values
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  # as constants, which will be included in all 
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  # ANTLR-generated recognizers.
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  const_defined?( :TokenData ) or TokenData = ANTLR3::TokenScheme.new
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  module TokenData
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # define the token constants
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    define_tokens( :ID => 5, :EOF => -1, :T__19 => 19, :WS => 9, :T__16 => 16, 
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                   :T__15 => 15, :T__18 => 18, :T__17 => 17, :T__12 => 12, 
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                   :TEMPLATE => 6, :T__11 => 11, :T__14 => 14, :T__13 => 13, 
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                   :T__10 => 10, :CONSTANT => 4, :COMMENT => 8, :STRING => 7 )
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  end
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  class Lexer < ANTLR3::Lexer
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @grammar_home = GroupFile
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    include TokenData
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    begin
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      generated_using( "GroupFile.g", "3.2.1-SNAPSHOT Jun 18, 2010 05:38:11", "1.7.5" )
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    rescue NoMethodError => error
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # ignore
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    RULE_NAMES   = [ "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", 
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                     "T__16", "T__17", "T__18", "T__19", "CONSTANT", "ID", 
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                     "TEMPLATE", "STRING", "COMMENT", "WS" ].freeze
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    RULE_METHODS = [ :t__10!, :t__11!, :t__12!, :t__13!, :t__14!, :t__15!, 
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                     :t__16!, :t__17!, :t__18!, :t__19!, :constant!, :id!, 
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                     :template!, :string!, :comment!, :ws! ].freeze
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def initialize( input=nil, options = {} )
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      super( input, options )
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # - - - - - - - - - - - lexer rules - - - - - - - - - - - -
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__10! (T__10)
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__10!
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 1 )
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__10
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 16:9: 'group'
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( "group" )
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 1 )
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__11! (T__11)
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__11!
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 2 )
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__11
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 17:9: '::'
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( "::" )
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 2 )
157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__12! (T__12)
161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__12!
163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 3 )
165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__12
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 18:9: ';'
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x3b )
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 3 )
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__13! (T__13)
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__13!
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 4 )
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__13
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 19:9: '::='
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( "::=" )
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 4 )
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__14! (T__14)
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__14!
211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 5 )
213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__14
215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 20:9: '('
220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x28 )
221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 5 )
229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__15! (T__15)
233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__15!
235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 6 )
237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__15
239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 21:9: ')'
244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x29 )
245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 6 )
253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__16! (T__16)
257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__16!
259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 7 )
261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__16
263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 22:9: ','
268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x2c )
269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 7 )
277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__17! (T__17)
281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__17!
283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 8 )
285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__17
287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 23:9: '*'
292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x2a )
293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 8 )
301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__18! (T__18)
305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__18!
307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 9 )
309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__18
311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 24:9: '&'
316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x26 )
317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 9 )
325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule t__19! (T__19)
329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def t__19!
331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 10 )
333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = T__19
335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 25:9: '='
340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( 0x3d )
341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 10 )
349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule constant! (CONSTANT)
353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def constant!
355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 11 )
357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = CONSTANT
359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 125:5: 'A' .. 'Z' ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match_range( 0x41, 0x5a )
365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 125:14: ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      while true # decision 1
367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_1 = 2
368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        look_1_0 = @input.peek( 1 )
369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( look_1_0.between?( 0x30, 0x39 ) || look_1_0.between?( 0x41, 0x5a ) || look_1_0 == 0x5f || look_1_0.between?( 0x61, 0x7a ) )
371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_1 = 1
372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case alt_1
375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 1
376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 
377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @input.consume
379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            mse = MismatchedSet( nil )
381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            recover mse
382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            raise mse
383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else
388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          break # out of loop for decision 1
389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end # loop for decision 1
391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 11 )
399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule id! (ID)
403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def id!
405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 12 )
407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = ID
409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 129:5: ( 'a' .. 'z' | '_' ) ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      if @input.peek( 1 ) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        @input.consume
416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      else
417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        mse = MismatchedSet( nil )
418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        recover mse
419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        raise mse
420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 130:5: ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      while true # decision 2
425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_2 = 2
426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        look_2_0 = @input.peek( 1 )
427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( look_2_0.between?( 0x30, 0x39 ) || look_2_0.between?( 0x41, 0x5a ) || look_2_0 == 0x5f || look_2_0.between?( 0x61, 0x7a ) )
429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_2 = 1
430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case alt_2
433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 1
434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 
435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @input.consume
437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            mse = MismatchedSet( nil )
439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            recover mse
440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            raise mse
441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else
446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          break # out of loop for decision 2
447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end # loop for decision 2
449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 12 )
457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule template! (TEMPLATE)
461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def template!
463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 13 )
465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = TEMPLATE
467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 134:5: '<<<' ( options {greedy=false; } : '\\\\' . | . )* '>>>'
472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( "<<<" )
473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 135:5: ( options {greedy=false; } : '\\\\' . | . )*
474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      while true # decision 3
475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_3 = 3
476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        look_3_0 = @input.peek( 1 )
477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( look_3_0 == 0x3e )
479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          look_3_1 = @input.peek( 2 )
480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if ( look_3_1 == 0x3e )
482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            look_3_4 = @input.peek( 3 )
483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( look_3_4 == 0x3e )
485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              alt_3 = 3
486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            elsif ( look_3_4.between?( 0x0, 0x3d ) || look_3_4.between?( 0x3f, 0xffff ) )
487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              alt_3 = 2
488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            end
490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          elsif ( look_3_1.between?( 0x0, 0x3d ) || look_3_1.between?( 0x3f, 0xffff ) )
491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_3 = 2
492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        elsif ( look_3_0 == 0x5c )
495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          look_3_2 = @input.peek( 2 )
496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if ( look_3_2 == 0x3e )
498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_3 = 1
499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          elsif ( look_3_2 == 0x5c )
500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_3 = 1
501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          elsif ( look_3_2.between?( 0x0, 0x3d ) || look_3_2.between?( 0x3f, 0x5b ) || look_3_2.between?( 0x5d, 0xffff ) )
502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_3 = 1
503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        elsif ( look_3_0.between?( 0x0, 0x3d ) || look_3_0.between?( 0x3f, 0x5b ) || look_3_0.between?( 0x5d, 0xffff ) )
506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_3 = 2
507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case alt_3
510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 1
511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 135:35: '\\\\' .
512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          match( 0x5c )
513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          match_any
514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 2
516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 135:44: .
517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          match_any
518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else
520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          break # out of loop for decision 3
521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end # loop for decision 3
523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match( ">>>" )
524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 13 )
532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule string! (STRING)
536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def string!
538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 14 )
540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = STRING
542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 140:3: ( '\"' (~ ( '\\\\' | '\"' ) | '\\\\' . )* '\"' | '\\'' (~ ( '\\\\' | '\\'' ) | '\\\\' . )* '\\'' )
547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      alt_6 = 2
548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      look_6_0 = @input.peek( 1 )
549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      if ( look_6_0 == 0x22 )
551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_6 = 1
552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      elsif ( look_6_0 == 0x27 )
553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_6 = 2
554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      else
555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        raise NoViableAlternative( "", 6, 0 )
556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      case alt_6
558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 1
559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 140:5: '\"' (~ ( '\\\\' | '\"' ) | '\\\\' . )* '\"'
560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match( 0x22 )
561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 140:10: (~ ( '\\\\' | '\"' ) | '\\\\' . )*
562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        while true # decision 4
563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_4 = 3
564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          look_4_0 = @input.peek( 1 )
565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if ( look_4_0.between?( 0x0, 0x21 ) || look_4_0.between?( 0x23, 0x5b ) || look_4_0.between?( 0x5d, 0xffff ) )
567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_4 = 1
568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          elsif ( look_4_0 == 0x5c )
569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_4 = 2
570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          case alt_4
573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          when 1
574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            # at line 140:12: ~ ( '\\\\' | '\"' )
575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if @input.peek( 1 ).between?( 0x0, 0x21 ) || @input.peek( 1 ).between?( 0x23, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              @input.consume
577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            else
578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              mse = MismatchedSet( nil )
579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              recover mse
580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              raise mse
581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            end
582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          when 2
586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            # at line 140:31: '\\\\' .
587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            match( 0x5c )
588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            match_any
589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break # out of loop for decision 4
592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end # loop for decision 4
594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match( 0x22 )
595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 2
597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 141:5: '\\'' (~ ( '\\\\' | '\\'' ) | '\\\\' . )* '\\''
598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match( 0x27 )
599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 141:10: (~ ( '\\\\' | '\\'' ) | '\\\\' . )*
600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        while true # decision 5
601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_5 = 3
602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          look_5_0 = @input.peek( 1 )
603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if ( look_5_0.between?( 0x0, 0x26 ) || look_5_0.between?( 0x28, 0x5b ) || look_5_0.between?( 0x5d, 0xffff ) )
605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_5 = 1
606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          elsif ( look_5_0 == 0x5c )
607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_5 = 2
608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          case alt_5
611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          when 1
612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            # at line 141:12: ~ ( '\\\\' | '\\'' )
613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if @input.peek( 1 ).between?( 0x0, 0x26 ) || @input.peek( 1 ).between?( 0x28, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              @input.consume
615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            else
616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              mse = MismatchedSet( nil )
617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              recover mse
618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              raise mse
619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            end
620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          when 2
624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            # at line 141:31: '\\\\' .
625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            match( 0x5c )
626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            match_any
627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break # out of loop for decision 5
630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end # loop for decision 5
632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match( 0x27 )
633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 14 )
642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule comment! (COMMENT)
646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def comment!
648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 15 )
650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = COMMENT
652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 146:3: ( ( '#' | '//' ) (~ '\\n' )* | '/*' ( . )* '*/' )
657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      alt_10 = 2
658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      look_10_0 = @input.peek( 1 )
659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      if ( look_10_0 == 0x23 )
661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_10 = 1
662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      elsif ( look_10_0 == 0x2f )
663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        look_10_2 = @input.peek( 2 )
664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( look_10_2 == 0x2f )
666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_10 = 1
667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        elsif ( look_10_2 == 0x2a )
668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_10 = 2
669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else
670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          raise NoViableAlternative( "", 10, 2 )
671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      else
673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        raise NoViableAlternative( "", 10, 0 )
674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      case alt_10
676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 1
677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 146:5: ( '#' | '//' ) (~ '\\n' )*
678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 146:5: ( '#' | '//' )
679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_7 = 2
680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        look_7_0 = @input.peek( 1 )
681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( look_7_0 == 0x23 )
683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_7 = 1
684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        elsif ( look_7_0 == 0x2f )
685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_7 = 2
686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else
687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          raise NoViableAlternative( "", 7, 0 )
688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case alt_7
690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 1
691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 146:7: '#'
692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          match( 0x23 )
693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 2
695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 146:13: '//'
696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          match( "//" )
697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 146:20: (~ '\\n' )*
700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        while true # decision 8
701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_8 = 2
702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          look_8_0 = @input.peek( 1 )
703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if ( look_8_0.between?( 0x0, 0x9 ) || look_8_0.between?( 0xb, 0xffff ) )
705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_8 = 1
706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          case alt_8
709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          when 1
710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            # at line 146:20: ~ '\\n'
711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if @input.peek( 1 ).between?( 0x0, 0x9 ) || @input.peek( 1 ).between?( 0xb, 0xff )
712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              @input.consume
713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            else
714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              mse = MismatchedSet( nil )
715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              recover mse
716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              raise mse
717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            end
718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break # out of loop for decision 8
723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end # loop for decision 8
725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 2
727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 147:5: '/*' ( . )* '*/'
728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match( "/*" )
729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 147:10: ( . )*
730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        while true # decision 9
731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_9 = 2
732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          look_9_0 = @input.peek( 1 )
733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if ( look_9_0 == 0x2a )
735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            look_9_1 = @input.peek( 2 )
736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( look_9_1 == 0x2f )
738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              alt_9 = 2
739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            elsif ( look_9_1.between?( 0x0, 0x2e ) || look_9_1.between?( 0x30, 0xffff ) )
740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver              alt_9 = 1
741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            end
743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          elsif ( look_9_0.between?( 0x0, 0x29 ) || look_9_0.between?( 0x2b, 0xffff ) )
744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt_9 = 1
745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          case alt_9
748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          when 1
749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            # at line 147:10: .
750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            match_any
751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break # out of loop for decision 9
754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end # loop for decision 9
756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match( "*/" )
757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # --> action
763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver     skip 
764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # <-- action
765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 15 )
768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # lexer rule ws! (WS)
772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # (in GroupFile.g)
773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def ws!
774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_in( __method__, 16 )
776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      type = WS
778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      channel = ANTLR3::DEFAULT_CHANNEL
779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # - - - - main rule block - - - -
782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 151:5: ( ' ' | '\\t' | '\\n' | '\\r' | '\\f' )+
783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at file 151:5: ( ' ' | '\\t' | '\\n' | '\\r' | '\\f' )+
784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      match_count_11 = 0
785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      while true
786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt_11 = 2
787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        look_11_0 = @input.peek( 1 )
788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( look_11_0.between?( 0x9, 0xa ) || look_11_0.between?( 0xc, 0xd ) || look_11_0 == 0x20 )
790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          alt_11 = 1
791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case alt_11
794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        when 1
795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          # at line 
796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          if @input.peek( 1 ).between?( 0x9, 0xa ) || @input.peek( 1 ).between?( 0xc, 0xd ) || @input.peek( 1 ) == 0x20
797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @input.consume
798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          else
799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            mse = MismatchedSet( nil )
800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            recover mse
801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            raise mse
802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          end
803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else
807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          match_count_11 > 0 and break
808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          eee = EarlyExit( 11 )
809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          raise eee
812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        match_count_11 += 1
814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # --> action
817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver       skip 
818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # <-- action
819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.type = type
822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @state.channel = channel
823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ensure
825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # -> uncomment the next line to manually enable rule tracing
826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # trace_out( __method__, 16 )
827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # main rule used to study the input at the current position,
831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # and choose the proper lexer rule to call in order to
832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # fetch the next token
833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # 
834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # usually, you don't make direct calls to this method,
835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # but instead use the next_token method, which will
836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # build and emit the actual next token
837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def token!
838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      # at line 1:8: ( T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | CONSTANT | ID | TEMPLATE | STRING | COMMENT | WS )
839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      alt_12 = 16
840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      alt_12 = @dfa12.predict( @input )
841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      case alt_12
842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 1
843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:10: T__10
844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__10!
845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 2
847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:16: T__11
848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__11!
849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 3
851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:22: T__12
852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__12!
853324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
854324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 4
855324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:28: T__13
856324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__13!
857324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
858324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 5
859324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:34: T__14
860324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__14!
861324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
862324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 6
863324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:40: T__15
864324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__15!
865324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
866324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 7
867324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:46: T__16
868324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__16!
869324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
870324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 8
871324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:52: T__17
872324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__17!
873324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
874324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 9
875324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:58: T__18
876324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__18!
877324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
878324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 10
879324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:64: T__19
880324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        t__19!
881324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
882324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 11
883324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:70: CONSTANT
884324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        constant!
885324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
886324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 12
887324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:79: ID
888324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        id!
889324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
890324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 13
891324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:82: TEMPLATE
892324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        template!
893324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
894324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 14
895324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:91: STRING
896324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        string!
897324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
898324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 15
899324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:98: COMMENT
900324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        comment!
901324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
902324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      when 16
903324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        # at line 1:106: WS
904324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ws!
905324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
906324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
907324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
908324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
909324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
910324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    # - - - - - - - - - - DFA definitions - - - - - - - - - - -
911324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    class DFA12 < ANTLR3::DFA
912324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      EOT = unpack( 1, -1, 1, 11, 14, -1, 1, 11, 1, 20, 1, 11, 2, -1, 1, 
913324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    11, 1, 23, 1, -1 )
914324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      EOF = unpack( 24, -1 )
915324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      MIN = unpack( 1, 9, 1, 114, 1, 58, 13, -1, 1, 111, 1, 61, 1, 117, 
916324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    2, -1, 1, 112, 1, 48, 1, -1 )
917324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      MAX = unpack( 1, 122, 1, 114, 1, 58, 13, -1, 1, 111, 1, 61, 1, 117, 
918324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    2, -1, 1, 112, 1, 122, 1, -1 )
919324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      ACCEPT = unpack( 3, -1, 1, 3, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 
920324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                       1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 3, -1, 
921324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                       1, 4, 1, 2, 2, -1, 1, 1 )
922324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      SPECIAL = unpack( 24, -1 )
923324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      TRANSITION = [ 
924324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 2, 15, 1, -1, 2, 15, 18, -1, 1, 15, 1, -1, 1, 13, 1, 14, 
925324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                2, -1, 1, 8, 1, 13, 1, 4, 1, 5, 1, 7, 1, -1, 1, 6, 2, -1, 
926324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                1, 14, 10, -1, 1, 2, 1, 3, 1, 12, 1, 9, 3, -1, 26, 10, 4, 
927324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                -1, 1, 11, 1, -1, 6, 11, 1, 1, 19, 11 ),
928324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 1, 16 ),
929324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 1, 17 ),
930324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
931324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
932324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
933324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
934324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
935324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
936324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
937324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
938324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
939324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
940324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
941324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
942324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
943324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 1, 18 ),
944324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 1, 19 ),
945324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 1, 21 ),
946324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
947324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  ),
948324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 1, 22 ),
949324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack( 10, 11, 7, -1, 26, 11, 4, -1, 1, 11, 1, -1, 26, 11 ),
950324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unpack(  )
951324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      ].freeze
952324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
953324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      ( 0 ... MIN.length ).zip( MIN, MAX ) do | i, a, z |
954324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if a > 0 and z < 0
955324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          MAX[ i ] %= 0x10000
956324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        end
957324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
958324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
959324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @decision = 12
960324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      
961324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
962324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      def description
963324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        <<-'__dfa_description__'.strip!
964324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver          1:1: Tokens : ( T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | CONSTANT | ID | TEMPLATE | STRING | COMMENT | WS );
965324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        __dfa_description__
966324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      end
967324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
968324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
969324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
970324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    private
971324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    
972324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    def initialize_dfas
973324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      super rescue nil
974324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver      @dfa12 = DFA12.new( self, 12 )
975324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
976324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    end
977324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  end # class Lexer < ANTLR3::Lexer
978324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
979324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver  at_exit { Lexer.main( ARGV ) } if __FILE__ == $0
980324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend
981324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# - - - - - - begin action @lexer::footer - - - - - -
982324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# GroupFile.g
983324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
984324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
985324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend # module Template
986324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverend # module ANTLR3
987324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
988324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# - - - - - - end action @lexer::footer - - - - - - -
989