aboutsummaryrefslogtreecommitdiff
path: root/runtime/Ruby/lib/antlr3/template/group-file-lexer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/Ruby/lib/antlr3/template/group-file-lexer.rb')
-rw-r--r--runtime/Ruby/lib/antlr3/template/group-file-lexer.rb988
1 files changed, 988 insertions, 0 deletions
diff --git a/runtime/Ruby/lib/antlr3/template/group-file-lexer.rb b/runtime/Ruby/lib/antlr3/template/group-file-lexer.rb
new file mode 100644
index 0000000..9d5d971
--- /dev/null
+++ b/runtime/Ruby/lib/antlr3/template/group-file-lexer.rb
@@ -0,0 +1,988 @@
+#!/usr/bin/env ruby
+#
+# GroupFile.g
+#
+# Generated using ANTLR version: 3.2.1-SNAPSHOT Jun 18, 2010 05:38:11
+# Ruby runtime library version: 1.7.5
+# Input grammar file: GroupFile.g
+# Generated at: 2010-07-03 23:15:35
+#
+
+# ~~~> start load path setup
+this_directory = File.expand_path( File.dirname( __FILE__ ) )
+$LOAD_PATH.unshift( this_directory ) unless $LOAD_PATH.include?( this_directory )
+
+antlr_load_failed = proc do
+ load_path = $LOAD_PATH.map { |dir| ' - ' << dir }.join( $/ )
+ raise LoadError, <<-END.strip!
+
+Failed to load the ANTLR3 runtime library (version 1.7.5):
+
+Ensure the library has been installed on your system and is available
+on the load path. If rubygems is available on your system, this can
+be done with the command:
+
+ gem install antlr3
+
+Current load path:
+#{ load_path }
+
+ END
+end
+
+defined?( ANTLR3 ) or begin
+
+ # 1: try to load the ruby antlr3 runtime library from the system path
+ require 'antlr3'
+
+rescue LoadError
+
+ # 2: try to load rubygems if it isn't already loaded
+ defined?( Gem ) or begin
+ require 'rubygems'
+ rescue LoadError
+ antlr_load_failed.call
+ end
+
+ # 3: try to activate the antlr3 gem
+ begin
+ Gem.activate( 'antlr3', '~> 1.7.5' )
+ rescue Gem::LoadError
+ antlr_load_failed.call
+ end
+
+ require 'antlr3'
+
+end
+# <~~~ end load path setup
+
+# - - - - - - begin action @lexer::header - - - - - -
+# GroupFile.g
+
+
+module ANTLR3
+module Template
+
+# - - - - - - end action @lexer::header - - - - - - -
+
+
+module GroupFile
+ # TokenData defines all of the token type integer values
+ # as constants, which will be included in all
+ # ANTLR-generated recognizers.
+ const_defined?( :TokenData ) or TokenData = ANTLR3::TokenScheme.new
+
+ module TokenData
+
+ # define the token constants
+ define_tokens( :ID => 5, :EOF => -1, :T__19 => 19, :WS => 9, :T__16 => 16,
+ :T__15 => 15, :T__18 => 18, :T__17 => 17, :T__12 => 12,
+ :TEMPLATE => 6, :T__11 => 11, :T__14 => 14, :T__13 => 13,
+ :T__10 => 10, :CONSTANT => 4, :COMMENT => 8, :STRING => 7 )
+
+ end
+
+
+ class Lexer < ANTLR3::Lexer
+ @grammar_home = GroupFile
+ include TokenData
+
+
+ begin
+ generated_using( "GroupFile.g", "3.2.1-SNAPSHOT Jun 18, 2010 05:38:11", "1.7.5" )
+ rescue NoMethodError => error
+ # ignore
+ end
+
+ RULE_NAMES = [ "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" ].freeze
+ RULE_METHODS = [ :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! ].freeze
+
+
+ def initialize( input=nil, options = {} )
+ super( input, options )
+
+ end
+
+
+ # - - - - - - - - - - - lexer rules - - - - - - - - - - - -
+ # lexer rule t__10! (T__10)
+ # (in GroupFile.g)
+ def t__10!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 1 )
+
+ type = T__10
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 16:9: 'group'
+ match( "group" )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 1 )
+
+ end
+
+ # lexer rule t__11! (T__11)
+ # (in GroupFile.g)
+ def t__11!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 2 )
+
+ type = T__11
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 17:9: '::'
+ match( "::" )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 2 )
+
+ end
+
+ # lexer rule t__12! (T__12)
+ # (in GroupFile.g)
+ def t__12!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 3 )
+
+ type = T__12
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 18:9: ';'
+ match( 0x3b )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 3 )
+
+ end
+
+ # lexer rule t__13! (T__13)
+ # (in GroupFile.g)
+ def t__13!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 4 )
+
+ type = T__13
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 19:9: '::='
+ match( "::=" )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 4 )
+
+ end
+
+ # lexer rule t__14! (T__14)
+ # (in GroupFile.g)
+ def t__14!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 5 )
+
+ type = T__14
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 20:9: '('
+ match( 0x28 )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 5 )
+
+ end
+
+ # lexer rule t__15! (T__15)
+ # (in GroupFile.g)
+ def t__15!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 6 )
+
+ type = T__15
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 21:9: ')'
+ match( 0x29 )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 6 )
+
+ end
+
+ # lexer rule t__16! (T__16)
+ # (in GroupFile.g)
+ def t__16!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 7 )
+
+ type = T__16
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 22:9: ','
+ match( 0x2c )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 7 )
+
+ end
+
+ # lexer rule t__17! (T__17)
+ # (in GroupFile.g)
+ def t__17!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 8 )
+
+ type = T__17
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 23:9: '*'
+ match( 0x2a )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 8 )
+
+ end
+
+ # lexer rule t__18! (T__18)
+ # (in GroupFile.g)
+ def t__18!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 9 )
+
+ type = T__18
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 24:9: '&'
+ match( 0x26 )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 9 )
+
+ end
+
+ # lexer rule t__19! (T__19)
+ # (in GroupFile.g)
+ def t__19!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 10 )
+
+ type = T__19
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 25:9: '='
+ match( 0x3d )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 10 )
+
+ end
+
+ # lexer rule constant! (CONSTANT)
+ # (in GroupFile.g)
+ def constant!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 11 )
+
+ type = CONSTANT
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 125:5: 'A' .. 'Z' ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
+ match_range( 0x41, 0x5a )
+ # at line 125:14: ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
+ while true # decision 1
+ alt_1 = 2
+ look_1_0 = @input.peek( 1 )
+
+ if ( look_1_0.between?( 0x30, 0x39 ) || look_1_0.between?( 0x41, 0x5a ) || look_1_0 == 0x5f || look_1_0.between?( 0x61, 0x7a ) )
+ alt_1 = 1
+
+ end
+ case alt_1
+ when 1
+ # at line
+ if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+
+ else
+ break # out of loop for decision 1
+ end
+ end # loop for decision 1
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 11 )
+
+ end
+
+ # lexer rule id! (ID)
+ # (in GroupFile.g)
+ def id!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 12 )
+
+ type = ID
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 129:5: ( 'a' .. 'z' | '_' ) ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
+ if @input.peek( 1 ) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+ # at line 130:5: ( 'a' .. 'z' | '_' | 'A' .. 'Z' | '0' .. '9' )*
+ while true # decision 2
+ alt_2 = 2
+ look_2_0 = @input.peek( 1 )
+
+ if ( look_2_0.between?( 0x30, 0x39 ) || look_2_0.between?( 0x41, 0x5a ) || look_2_0 == 0x5f || look_2_0.between?( 0x61, 0x7a ) )
+ alt_2 = 1
+
+ end
+ case alt_2
+ when 1
+ # at line
+ if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+
+ else
+ break # out of loop for decision 2
+ end
+ end # loop for decision 2
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 12 )
+
+ end
+
+ # lexer rule template! (TEMPLATE)
+ # (in GroupFile.g)
+ def template!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 13 )
+
+ type = TEMPLATE
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 134:5: '<<<' ( options {greedy=false; } : '\\\\' . | . )* '>>>'
+ match( "<<<" )
+ # at line 135:5: ( options {greedy=false; } : '\\\\' . | . )*
+ while true # decision 3
+ alt_3 = 3
+ look_3_0 = @input.peek( 1 )
+
+ if ( look_3_0 == 0x3e )
+ look_3_1 = @input.peek( 2 )
+
+ if ( look_3_1 == 0x3e )
+ look_3_4 = @input.peek( 3 )
+
+ if ( look_3_4 == 0x3e )
+ alt_3 = 3
+ elsif ( look_3_4.between?( 0x0, 0x3d ) || look_3_4.between?( 0x3f, 0xffff ) )
+ alt_3 = 2
+
+ end
+ elsif ( look_3_1.between?( 0x0, 0x3d ) || look_3_1.between?( 0x3f, 0xffff ) )
+ alt_3 = 2
+
+ end
+ elsif ( look_3_0 == 0x5c )
+ look_3_2 = @input.peek( 2 )
+
+ if ( look_3_2 == 0x3e )
+ alt_3 = 1
+ elsif ( look_3_2 == 0x5c )
+ alt_3 = 1
+ elsif ( look_3_2.between?( 0x0, 0x3d ) || look_3_2.between?( 0x3f, 0x5b ) || look_3_2.between?( 0x5d, 0xffff ) )
+ alt_3 = 1
+
+ end
+ elsif ( look_3_0.between?( 0x0, 0x3d ) || look_3_0.between?( 0x3f, 0x5b ) || look_3_0.between?( 0x5d, 0xffff ) )
+ alt_3 = 2
+
+ end
+ case alt_3
+ when 1
+ # at line 135:35: '\\\\' .
+ match( 0x5c )
+ match_any
+
+ when 2
+ # at line 135:44: .
+ match_any
+
+ else
+ break # out of loop for decision 3
+ end
+ end # loop for decision 3
+ match( ">>>" )
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 13 )
+
+ end
+
+ # lexer rule string! (STRING)
+ # (in GroupFile.g)
+ def string!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 14 )
+
+ type = STRING
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 140:3: ( '\"' (~ ( '\\\\' | '\"' ) | '\\\\' . )* '\"' | '\\'' (~ ( '\\\\' | '\\'' ) | '\\\\' . )* '\\'' )
+ alt_6 = 2
+ look_6_0 = @input.peek( 1 )
+
+ if ( look_6_0 == 0x22 )
+ alt_6 = 1
+ elsif ( look_6_0 == 0x27 )
+ alt_6 = 2
+ else
+ raise NoViableAlternative( "", 6, 0 )
+ end
+ case alt_6
+ when 1
+ # at line 140:5: '\"' (~ ( '\\\\' | '\"' ) | '\\\\' . )* '\"'
+ match( 0x22 )
+ # at line 140:10: (~ ( '\\\\' | '\"' ) | '\\\\' . )*
+ while true # decision 4
+ alt_4 = 3
+ look_4_0 = @input.peek( 1 )
+
+ if ( look_4_0.between?( 0x0, 0x21 ) || look_4_0.between?( 0x23, 0x5b ) || look_4_0.between?( 0x5d, 0xffff ) )
+ alt_4 = 1
+ elsif ( look_4_0 == 0x5c )
+ alt_4 = 2
+
+ end
+ case alt_4
+ when 1
+ # at line 140:12: ~ ( '\\\\' | '\"' )
+ if @input.peek( 1 ).between?( 0x0, 0x21 ) || @input.peek( 1 ).between?( 0x23, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+
+ when 2
+ # at line 140:31: '\\\\' .
+ match( 0x5c )
+ match_any
+
+ else
+ break # out of loop for decision 4
+ end
+ end # loop for decision 4
+ match( 0x22 )
+
+ when 2
+ # at line 141:5: '\\'' (~ ( '\\\\' | '\\'' ) | '\\\\' . )* '\\''
+ match( 0x27 )
+ # at line 141:10: (~ ( '\\\\' | '\\'' ) | '\\\\' . )*
+ while true # decision 5
+ alt_5 = 3
+ look_5_0 = @input.peek( 1 )
+
+ if ( look_5_0.between?( 0x0, 0x26 ) || look_5_0.between?( 0x28, 0x5b ) || look_5_0.between?( 0x5d, 0xffff ) )
+ alt_5 = 1
+ elsif ( look_5_0 == 0x5c )
+ alt_5 = 2
+
+ end
+ case alt_5
+ when 1
+ # at line 141:12: ~ ( '\\\\' | '\\'' )
+ if @input.peek( 1 ).between?( 0x0, 0x26 ) || @input.peek( 1 ).between?( 0x28, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+
+ when 2
+ # at line 141:31: '\\\\' .
+ match( 0x5c )
+ match_any
+
+ else
+ break # out of loop for decision 5
+ end
+ end # loop for decision 5
+ match( 0x27 )
+
+ end
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 14 )
+
+ end
+
+ # lexer rule comment! (COMMENT)
+ # (in GroupFile.g)
+ def comment!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 15 )
+
+ type = COMMENT
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 146:3: ( ( '#' | '//' ) (~ '\\n' )* | '/*' ( . )* '*/' )
+ alt_10 = 2
+ look_10_0 = @input.peek( 1 )
+
+ if ( look_10_0 == 0x23 )
+ alt_10 = 1
+ elsif ( look_10_0 == 0x2f )
+ look_10_2 = @input.peek( 2 )
+
+ if ( look_10_2 == 0x2f )
+ alt_10 = 1
+ elsif ( look_10_2 == 0x2a )
+ alt_10 = 2
+ else
+ raise NoViableAlternative( "", 10, 2 )
+ end
+ else
+ raise NoViableAlternative( "", 10, 0 )
+ end
+ case alt_10
+ when 1
+ # at line 146:5: ( '#' | '//' ) (~ '\\n' )*
+ # at line 146:5: ( '#' | '//' )
+ alt_7 = 2
+ look_7_0 = @input.peek( 1 )
+
+ if ( look_7_0 == 0x23 )
+ alt_7 = 1
+ elsif ( look_7_0 == 0x2f )
+ alt_7 = 2
+ else
+ raise NoViableAlternative( "", 7, 0 )
+ end
+ case alt_7
+ when 1
+ # at line 146:7: '#'
+ match( 0x23 )
+
+ when 2
+ # at line 146:13: '//'
+ match( "//" )
+
+ end
+ # at line 146:20: (~ '\\n' )*
+ while true # decision 8
+ alt_8 = 2
+ look_8_0 = @input.peek( 1 )
+
+ if ( look_8_0.between?( 0x0, 0x9 ) || look_8_0.between?( 0xb, 0xffff ) )
+ alt_8 = 1
+
+ end
+ case alt_8
+ when 1
+ # at line 146:20: ~ '\\n'
+ if @input.peek( 1 ).between?( 0x0, 0x9 ) || @input.peek( 1 ).between?( 0xb, 0xff )
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+
+ else
+ break # out of loop for decision 8
+ end
+ end # loop for decision 8
+
+ when 2
+ # at line 147:5: '/*' ( . )* '*/'
+ match( "/*" )
+ # at line 147:10: ( . )*
+ while true # decision 9
+ alt_9 = 2
+ look_9_0 = @input.peek( 1 )
+
+ if ( look_9_0 == 0x2a )
+ look_9_1 = @input.peek( 2 )
+
+ if ( look_9_1 == 0x2f )
+ alt_9 = 2
+ elsif ( look_9_1.between?( 0x0, 0x2e ) || look_9_1.between?( 0x30, 0xffff ) )
+ alt_9 = 1
+
+ end
+ elsif ( look_9_0.between?( 0x0, 0x29 ) || look_9_0.between?( 0x2b, 0xffff ) )
+ alt_9 = 1
+
+ end
+ case alt_9
+ when 1
+ # at line 147:10: .
+ match_any
+
+ else
+ break # out of loop for decision 9
+ end
+ end # loop for decision 9
+ match( "*/" )
+
+ end
+
+ @state.type = type
+ @state.channel = channel
+ # --> action
+ skip
+ # <-- action
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 15 )
+
+ end
+
+ # lexer rule ws! (WS)
+ # (in GroupFile.g)
+ def ws!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in( __method__, 16 )
+
+ type = WS
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 151:5: ( ' ' | '\\t' | '\\n' | '\\r' | '\\f' )+
+ # at file 151:5: ( ' ' | '\\t' | '\\n' | '\\r' | '\\f' )+
+ match_count_11 = 0
+ while true
+ alt_11 = 2
+ look_11_0 = @input.peek( 1 )
+
+ if ( look_11_0.between?( 0x9, 0xa ) || look_11_0.between?( 0xc, 0xd ) || look_11_0 == 0x20 )
+ alt_11 = 1
+
+ end
+ case alt_11
+ when 1
+ # at line
+ if @input.peek( 1 ).between?( 0x9, 0xa ) || @input.peek( 1 ).between?( 0xc, 0xd ) || @input.peek( 1 ) == 0x20
+ @input.consume
+ else
+ mse = MismatchedSet( nil )
+ recover mse
+ raise mse
+ end
+
+
+
+ else
+ match_count_11 > 0 and break
+ eee = EarlyExit( 11 )
+
+
+ raise eee
+ end
+ match_count_11 += 1
+ end
+
+ # --> action
+ skip
+ # <-- action
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out( __method__, 16 )
+
+ end
+
+ # main rule used to study the input at the current position,
+ # and choose the proper lexer rule to call in order to
+ # fetch the next token
+ #
+ # usually, you don't make direct calls to this method,
+ # but instead use the next_token method, which will
+ # build and emit the actual next token
+ def token!
+ # 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 )
+ alt_12 = 16
+ alt_12 = @dfa12.predict( @input )
+ case alt_12
+ when 1
+ # at line 1:10: T__10
+ t__10!
+
+ when 2
+ # at line 1:16: T__11
+ t__11!
+
+ when 3
+ # at line 1:22: T__12
+ t__12!
+
+ when 4
+ # at line 1:28: T__13
+ t__13!
+
+ when 5
+ # at line 1:34: T__14
+ t__14!
+
+ when 6
+ # at line 1:40: T__15
+ t__15!
+
+ when 7
+ # at line 1:46: T__16
+ t__16!
+
+ when 8
+ # at line 1:52: T__17
+ t__17!
+
+ when 9
+ # at line 1:58: T__18
+ t__18!
+
+ when 10
+ # at line 1:64: T__19
+ t__19!
+
+ when 11
+ # at line 1:70: CONSTANT
+ constant!
+
+ when 12
+ # at line 1:79: ID
+ id!
+
+ when 13
+ # at line 1:82: TEMPLATE
+ template!
+
+ when 14
+ # at line 1:91: STRING
+ string!
+
+ when 15
+ # at line 1:98: COMMENT
+ comment!
+
+ when 16
+ # at line 1:106: WS
+ ws!
+
+ end
+ end
+
+
+ # - - - - - - - - - - DFA definitions - - - - - - - - - - -
+ class DFA12 < ANTLR3::DFA
+ EOT = unpack( 1, -1, 1, 11, 14, -1, 1, 11, 1, 20, 1, 11, 2, -1, 1,
+ 11, 1, 23, 1, -1 )
+ EOF = unpack( 24, -1 )
+ MIN = unpack( 1, 9, 1, 114, 1, 58, 13, -1, 1, 111, 1, 61, 1, 117,
+ 2, -1, 1, 112, 1, 48, 1, -1 )
+ MAX = unpack( 1, 122, 1, 114, 1, 58, 13, -1, 1, 111, 1, 61, 1, 117,
+ 2, -1, 1, 112, 1, 122, 1, -1 )
+ ACCEPT = unpack( 3, -1, 1, 3, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10,
+ 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 3, -1,
+ 1, 4, 1, 2, 2, -1, 1, 1 )
+ SPECIAL = unpack( 24, -1 )
+ TRANSITION = [
+ unpack( 2, 15, 1, -1, 2, 15, 18, -1, 1, 15, 1, -1, 1, 13, 1, 14,
+ 2, -1, 1, 8, 1, 13, 1, 4, 1, 5, 1, 7, 1, -1, 1, 6, 2, -1,
+ 1, 14, 10, -1, 1, 2, 1, 3, 1, 12, 1, 9, 3, -1, 26, 10, 4,
+ -1, 1, 11, 1, -1, 6, 11, 1, 1, 19, 11 ),
+ unpack( 1, 16 ),
+ unpack( 1, 17 ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( ),
+ unpack( 1, 18 ),
+ unpack( 1, 19 ),
+ unpack( 1, 21 ),
+ unpack( ),
+ unpack( ),
+ unpack( 1, 22 ),
+ unpack( 10, 11, 7, -1, 26, 11, 4, -1, 1, 11, 1, -1, 26, 11 ),
+ unpack( )
+ ].freeze
+
+ ( 0 ... MIN.length ).zip( MIN, MAX ) do | i, a, z |
+ if a > 0 and z < 0
+ MAX[ i ] %= 0x10000
+ end
+ end
+
+ @decision = 12
+
+
+ def description
+ <<-'__dfa_description__'.strip!
+ 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 );
+ __dfa_description__
+ end
+ end
+
+
+ private
+
+ def initialize_dfas
+ super rescue nil
+ @dfa12 = DFA12.new( self, 12 )
+
+ end
+ end # class Lexer < ANTLR3::Lexer
+
+ at_exit { Lexer.main( ARGV ) } if __FILE__ == $0
+end
+# - - - - - - begin action @lexer::footer - - - - - -
+# GroupFile.g
+
+
+end # module Template
+end # module ANTLR3
+
+# - - - - - - end action @lexer::footer - - - - - - -