lib/surpass/ExcelFormulaLexer.rb in surpass-0.0.9 vs lib/surpass/ExcelFormulaLexer.rb in surpass-0.1.0
- old
+ new
@@ -3,11 +3,11 @@
# ExcelFormula.g
#
# Generated using ANTLR version: 3.2.1-SNAPSHOT Dec 18, 2009 04:29:28
# Ruby runtime library version: 1.3.1
# Input grammar file: ExcelFormula.g
-# Generated at: 2010-05-03 16:34:32
+# Generated at: 2010-06-13 10:19:27
#
# ~~~> start load path setup
this_directory = File.expand_path( File.dirname( __FILE__ ) )
$:.unshift( this_directory ) unless $:.include?( this_directory )
@@ -65,17 +65,17 @@
module TokenData
# define the token constants
define_tokens(:GE => 8, :LT => 7, :NUM_CONST => 21, :PERCENT => 16,
- :REF2D => 22, :CONCAT => 10, :RP => 29, :LP => 26, :INT_CONST => 20,
+ :REF2D => 22, :CONCAT => 10, :RP => 25, :LP => 24, :INT_CONST => 20,
:STR_CONST => 19, :POWER => 15, :SUB => 12, :FUNC_CHOOSE => 30,
- :SEMICOLON => 27, :BANG => 24, :TRUE_CONST => 17, :EOF => -1,
- :MUL => 13, :COLON => 23, :FALSE_CONST => 18, :NAME => 31,
- :COMMA => 28, :GT => 6, :DIGIT => 33, :DIV => 14, :EQ => 4,
- :FUNC_IF => 25, :QUOTENAME => 32, :LE => 9, :ADD => 11,
- :NE => 5)
+ :SEMICOLON => 28, :BANG => 26, :TRUE_CONST => 17, :EOF => -1,
+ :MUL => 13, :ALPHA => 34, :COLON => 23, :FALSE_CONST => 18,
+ :NAME => 31, :WS => 35, :COMMA => 29, :GT => 6, :DIGIT => 33,
+ :DIV => 14, :EQ => 4, :FUNC_IF => 27, :QUOTENAME => 32,
+ :LE => 9, :ADD => 11, :NE => 5)
end
class Lexer < ANTLR3::Lexer
@@ -89,17 +89,18 @@
end
RULE_NAMES = ["EQ", "LT", "GT", "NE", "LE", "GE", "ADD", "SUB", "MUL",
"DIV", "COLON", "SEMICOLON", "COMMA", "LP", "RP", "CONCAT",
"PERCENT", "POWER", "BANG", "DIGIT", "INT_CONST", "NUM_CONST",
- "STR_CONST", "REF2D", "TRUE_CONST", "FALSE_CONST", "NAME",
- "QUOTENAME", "FUNC_IF", "FUNC_CHOOSE"].freeze
+ "STR_CONST", "REF2D", "TRUE_CONST", "FALSE_CONST", "QUOTENAME",
+ "FUNC_IF", "FUNC_CHOOSE", "ALPHA", "NAME", "WS"].freeze
RULE_METHODS = [:eq!, :lt!, :gt!, :ne!, :le!, :ge!, :add!, :sub!, :mul!,
:div!, :colon!, :semicolon!, :comma!, :lp!, :rp!, :concat!,
:percent!, :power!, :bang!, :digit!, :int_const!, :num_const!,
:str_const!, :ref_2_d!, :true_const!, :false_const!,
- :name!, :quotename!, :func_if!, :func_choose!].freeze
+ :quotename!, :func_if!, :func_choose!, :alpha!, :name!,
+ :ws!].freeze
def initialize(input=nil, options = {})
super(input, options)
@@ -115,11 +116,11 @@
type = EQ
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 329:5: '='
+ # at line 340:5: '='
match(?=)
@state.type = type
@state.channel = channel
@@ -139,11 +140,11 @@
type = LT
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 330:5: '<'
+ # at line 341:5: '<'
match(?<)
@state.type = type
@state.channel = channel
@@ -163,11 +164,11 @@
type = GT
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 331:5: '>'
+ # at line 342:5: '>'
match(?>)
@state.type = type
@state.channel = channel
@@ -187,11 +188,11 @@
type = NE
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 332:5: '<>'
+ # at line 343:5: '<>'
match("<>")
@state.type = type
@state.channel = channel
@@ -211,11 +212,11 @@
type = LE
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 333:5: '<='
+ # at line 344:5: '<='
match("<=")
@state.type = type
@state.channel = channel
@@ -235,11 +236,11 @@
type = GE
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 334:5: '>='
+ # at line 345:5: '>='
match(">=")
@state.type = type
@state.channel = channel
@@ -259,11 +260,11 @@
type = ADD
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 336:6: '+'
+ # at line 347:6: '+'
match(?+)
@state.type = type
@state.channel = channel
@@ -283,11 +284,11 @@
type = SUB
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 337:6: '-'
+ # at line 348:6: '-'
match(?-)
@state.type = type
@state.channel = channel
@@ -307,11 +308,11 @@
type = MUL
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 338:6: '*'
+ # at line 349:6: '*'
match(?*)
@state.type = type
@state.channel = channel
@@ -331,11 +332,11 @@
type = DIV
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 339:6: '/'
+ # at line 350:6: '/'
match(?/)
@state.type = type
@state.channel = channel
@@ -355,11 +356,11 @@
type = COLON
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 341:8: ':'
+ # at line 352:8: ':'
match(?:)
@state.type = type
@state.channel = channel
@@ -379,11 +380,11 @@
type = SEMICOLON
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 342:12: ';'
+ # at line 353:12: ';'
match(?;)
@state.type = type
@state.channel = channel
@@ -403,11 +404,11 @@
type = COMMA
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 343:8: ','
+ # at line 354:8: ','
match(?,)
@state.type = type
@state.channel = channel
@@ -427,11 +428,11 @@
type = LP
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 345:5: '('
+ # at line 356:5: '('
match(?()
@state.type = type
@state.channel = channel
@@ -451,11 +452,11 @@
type = RP
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 346:5: ')'
+ # at line 357:5: ')'
match(?))
@state.type = type
@state.channel = channel
@@ -475,11 +476,11 @@
type = CONCAT
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 347:9: '&'
+ # at line 358:9: '&'
match(?&)
@state.type = type
@state.channel = channel
@@ -499,12 +500,12 @@
type = PERCENT
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 348:10: '%'
- match(?%)
+ # at line 359:10: '\\%'
+ match(?\%)
@state.type = type
@state.channel = channel
@@ -523,11 +524,11 @@
type = POWER
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 349:8: '^'
+ # at line 360:8: '^'
match(?^)
@state.type = type
@state.channel = channel
@@ -547,11 +548,11 @@
type = BANG
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 350:7: '!'
+ # at line 361:7: '!'
match(?!)
@state.type = type
@state.channel = channel
@@ -568,11 +569,11 @@
# -> uncomment the next line to manually enable rule tracing
# trace_in(__method__, 20)
# - - - - main rule block - - - -
- # at line 352:17: '0' .. '9'
+ # at line 363:17: '0' .. '9'
match_range(?0, ?9)
ensure
# -> uncomment the next line to manually enable rule tracing
# trace_out(__method__, 20)
@@ -588,12 +589,12 @@
type = INT_CONST
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 354:12: ( DIGIT )+
- # at file 354:12: ( DIGIT )+
+ # at line 365:12: ( DIGIT )+
+ # at file 365:12: ( DIGIT )+
match_count_1 = 0
loop do
alt_1 = 2
look_1_0 = @input.peek(1)
@@ -601,11 +602,11 @@
alt_1 = 1
end
case alt_1
when 1
- # at line 354:12: DIGIT
+ # at line 365:12: DIGIT
digit!
else
match_count_1 > 0 and break
eee = EarlyExit(1)
@@ -636,31 +637,31 @@
type = NUM_CONST
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 355:12: ( DIGIT )* '.' ( DIGIT )+ ( ( 'E' | 'e' ) ( '+' | '-' )? ( DIGIT )+ )?
- # at line 355:12: ( DIGIT )*
+ # at line 366:12: ( DIGIT )* '.' ( DIGIT )+ ( ( 'E' | 'e' ) ( '+' | '-' )? ( DIGIT )+ )?
+ # at line 366:12: ( DIGIT )*
loop do # decision 2
alt_2 = 2
look_2_0 = @input.peek(1)
if (look_2_0.between?(?0, ?9))
alt_2 = 1
end
case alt_2
when 1
- # at line 355:12: DIGIT
+ # at line 366:12: DIGIT
digit!
else
break # out of loop for decision 2
end
end # loop for decision 2
match(?.)
- # at file 355:23: ( DIGIT )+
+ # at file 366:23: ( DIGIT )+
match_count_3 = 0
loop do
alt_3 = 2
look_3_0 = @input.peek(1)
@@ -668,11 +669,11 @@
alt_3 = 1
end
case alt_3
when 1
- # at line 355:23: DIGIT
+ # at line 366:23: DIGIT
digit!
else
match_count_3 > 0 and break
eee = EarlyExit(3)
@@ -681,30 +682,30 @@
raise eee
end
match_count_3 += 1
end
- # at line 355:30: ( ( 'E' | 'e' ) ( '+' | '-' )? ( DIGIT )+ )?
+ # at line 366:30: ( ( 'E' | 'e' ) ( '+' | '-' )? ( DIGIT )+ )?
alt_6 = 2
look_6_0 = @input.peek(1)
if (look_6_0 == ?E || look_6_0 == ?e)
alt_6 = 1
end
case alt_6
when 1
- # at line 355:31: ( 'E' | 'e' ) ( '+' | '-' )? ( DIGIT )+
+ # at line 366:31: ( 'E' | 'e' ) ( '+' | '-' )? ( DIGIT )+
if @input.peek(1) == ?E || @input.peek(1) == ?e
@input.consume
else
mse = MismatchedSet(nil)
recover(mse)
raise mse
end
- # at line 355:41: ( '+' | '-' )?
+ # at line 366:41: ( '+' | '-' )?
alt_4 = 2
look_4_0 = @input.peek(1)
if (look_4_0 == ?+ || look_4_0 == ?-)
alt_4 = 1
@@ -721,11 +722,11 @@
end
end
- # at file 355:52: ( DIGIT )+
+ # at file 366:52: ( DIGIT )+
match_count_5 = 0
loop do
alt_5 = 2
look_5_0 = @input.peek(1)
@@ -733,11 +734,11 @@
alt_5 = 1
end
case alt_5
when 1
- # at line 355:52: DIGIT
+ # at line 366:52: DIGIT
digit!
else
match_count_5 > 0 and break
eee = EarlyExit(5)
@@ -770,13 +771,13 @@
type = STR_CONST
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 356:12: '\"' (~ '\"' )+ '\"'
+ # at line 367:12: '\"' (~ '\"' )+ '\"'
match(?")
- # at file 356:16: (~ '\"' )+
+ # at file 367:16: (~ '\"' )+
match_count_7 = 0
loop do
alt_7 = 2
look_7_0 = @input.peek(1)
@@ -784,11 +785,11 @@
alt_7 = 1
end
case alt_7
when 1
- # at line 356:17: ~ '\"'
+ # at line 367:17: ~ '\"'
if @input.peek(1).between?(0x0000, ?!) || @input.peek(1).between?(?#, 0x00FF)
@input.consume
else
mse = MismatchedSet(nil)
recover(mse)
@@ -828,25 +829,25 @@
type = REF2D
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 357:8: ( '$' )? ( 'A' .. 'I' )? ( 'A' .. 'Z' ) ( '$' )? ( DIGIT )+
- # at line 357:8: ( '$' )?
+ # at line 368:8: ( '$' )? ( 'A' .. 'I' )? ( 'A' .. 'Z' ) ( '$' )? ( DIGIT )+
+ # at line 368:8: ( '$' )?
alt_8 = 2
look_8_0 = @input.peek(1)
if (look_8_0 == ?$)
alt_8 = 1
end
case alt_8
when 1
- # at line 357:8: '$'
+ # at line 368:8: '$'
match(?$)
end
- # at line 357:13: ( 'A' .. 'I' )?
+ # at line 368:13: ( 'A' .. 'I' )?
alt_9 = 2
look_9_0 = @input.peek(1)
if (look_9_0.between?(?A, ?I))
look_9_1 = @input.peek(2)
@@ -855,32 +856,32 @@
alt_9 = 1
end
end
case alt_9
when 1
- # at line 357:14: 'A' .. 'I'
+ # at line 368:14: 'A' .. 'I'
match_range(?A, ?I)
end
- # at line 357:25: ( 'A' .. 'Z' )
- # at line 357:26: 'A' .. 'Z'
+ # at line 368:25: ( 'A' .. 'Z' )
+ # at line 368:26: 'A' .. 'Z'
match_range(?A, ?Z)
- # at line 357:36: ( '$' )?
+ # at line 368:36: ( '$' )?
alt_10 = 2
look_10_0 = @input.peek(1)
if (look_10_0 == ?$)
alt_10 = 1
end
case alt_10
when 1
- # at line 357:36: '$'
+ # at line 368:36: '$'
match(?$)
end
- # at file 357:41: ( DIGIT )+
+ # at file 368:41: ( DIGIT )+
match_count_11 = 0
loop do
alt_11 = 2
look_11_0 = @input.peek(1)
@@ -888,11 +889,11 @@
alt_11 = 1
end
case alt_11
when 1
- # at line 357:41: DIGIT
+ # at line 368:41: DIGIT
digit!
else
match_count_11 > 0 and break
eee = EarlyExit(11)
@@ -923,11 +924,11 @@
type = TRUE_CONST
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 358:13: ( 'T' | 't' ) ( 'R' | 'r' ) ( 'U' | 'u' ) ( 'E' | 'e' )
+ # at line 369:13: ( 'T' | 't' ) ( 'R' | 'r' ) ( 'U' | 'u' ) ( 'E' | 'e' )
if @input.peek(1) == ?T || @input.peek(1) == ?t
@input.consume
else
mse = MismatchedSet(nil)
recover(mse)
@@ -982,11 +983,11 @@
type = FALSE_CONST
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 359:14: ( 'F' | 'f' ) ( 'A' | 'a' ) ( 'L' | 'l' ) ( 'S' | 's' ) ( 'E' | 'e' )
+ # at line 370:14: ( 'F' | 'f' ) ( 'A' | 'a' ) ( 'L' | 'l' ) ( 'S' | 's' ) ( 'E' | 'e' )
if @input.peek(1) == ?F || @input.peek(1) == ?f
@input.consume
else
mse = MismatchedSet(nil)
recover(mse)
@@ -1039,23 +1040,23 @@
# -> uncomment the next line to manually enable rule tracing
# trace_out(__method__, 26)
end
- # lexer rule name! (NAME)
+ # lexer rule quotename! (QUOTENAME)
# (in ExcelFormula.g)
- def name!
+ def quotename!
# -> uncomment the next line to manually enable rule tracing
# trace_in(__method__, 27)
- type = NAME
+ type = QUOTENAME
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 360:7: '\\w[\\.\\w]*'
- match("w[.w]*")
+ # at line 371:12: '\\'(?:[^\\']|\\'\\')*\\''
+ match("'(?:[^']|'')*'")
@state.type = type
@state.channel = channel
@@ -1063,23 +1064,23 @@
# -> uncomment the next line to manually enable rule tracing
# trace_out(__method__, 27)
end
- # lexer rule quotename! (QUOTENAME)
+ # lexer rule func_if! (FUNC_IF)
# (in ExcelFormula.g)
- def quotename!
+ def func_if!
# -> uncomment the next line to manually enable rule tracing
# trace_in(__method__, 28)
- type = QUOTENAME
+ type = FUNC_IF
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 361:12: '\\'(?:[^\\']|\\'\\')*\\''
- match("'(?:[^']|'')*'")
+ # at line 372:10: 'IF'
+ match("IF")
@state.type = type
@state.channel = channel
@@ -1087,23 +1088,23 @@
# -> uncomment the next line to manually enable rule tracing
# trace_out(__method__, 28)
end
- # lexer rule func_if! (FUNC_IF)
+ # lexer rule func_choose! (FUNC_CHOOSE)
# (in ExcelFormula.g)
- def func_if!
+ def func_choose!
# -> uncomment the next line to manually enable rule tracing
# trace_in(__method__, 29)
- type = FUNC_IF
+ type = FUNC_CHOOSE
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 362:10: 'IF'
- match("IF")
+ # at line 373:14: 'CHOOSE'
+ match("CHOOSE")
@state.type = type
@state.channel = channel
@@ -1111,46 +1112,146 @@
# -> uncomment the next line to manually enable rule tracing
# trace_out(__method__, 29)
end
- # lexer rule func_choose! (FUNC_CHOOSE)
+ # lexer rule alpha! (ALPHA)
# (in ExcelFormula.g)
- def func_choose!
+ def alpha!
# -> uncomment the next line to manually enable rule tracing
# trace_in(__method__, 30)
- type = FUNC_CHOOSE
+
+ # - - - - main rule block - - - -
+ # at line
+ if @input.peek(1).between?(?A, ?Z) || @input.peek(1).between?(?a, ?z)
+ @input.consume
+ else
+ mse = MismatchedSet(nil)
+ recover(mse)
+ raise mse
+ end
+
+
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out(__method__, 30)
+
+ end
+
+ # lexer rule name! (NAME)
+ # (in ExcelFormula.g)
+ def name!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in(__method__, 31)
+
+ type = NAME
channel = ANTLR3::DEFAULT_CHANNEL
# - - - - main rule block - - - -
- # at line 363:14: 'CHOOSE'
- match("CHOOSE")
+ # at line 376:7: ( ALPHA )+
+ # at file 376:7: ( ALPHA )+
+ match_count_12 = 0
+ loop do
+ alt_12 = 2
+ look_12_0 = @input.peek(1)
+ if (look_12_0.between?(?A, ?Z) || look_12_0.between?(?a, ?z))
+ alt_12 = 1
+
+ end
+ case alt_12
+ when 1
+ # at line 376:7: ALPHA
+ alpha!
+
+ else
+ match_count_12 > 0 and break
+ eee = EarlyExit(12)
+
+
+ raise eee
+ end
+ match_count_12 += 1
+ end
+
+
@state.type = type
@state.channel = channel
ensure
# -> uncomment the next line to manually enable rule tracing
- # trace_out(__method__, 30)
+ # trace_out(__method__, 31)
end
+ # lexer rule ws! (WS)
+ # (in ExcelFormula.g)
+ def ws!
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_in(__method__, 32)
+
+ type = WS
+ channel = ANTLR3::DEFAULT_CHANNEL
+
+
+ # - - - - main rule block - - - -
+ # at line 378:5: ( ' ' )+
+ # at file 378:5: ( ' ' )+
+ match_count_13 = 0
+ loop do
+ alt_13 = 2
+ look_13_0 = @input.peek(1)
+
+ if (look_13_0 == ?\s)
+ alt_13 = 1
+
+ end
+ case alt_13
+ when 1
+ # at line 378:6: ' '
+ match(?\s)
+
+ else
+ match_count_13 > 0 and break
+ eee = EarlyExit(13)
+
+
+ raise eee
+ end
+ match_count_13 += 1
+ end
+
+ # --> action
+ skip()
+ # <-- action
+
+
+ @state.type = type
+ @state.channel = channel
+
+ ensure
+ # -> uncomment the next line to manually enable rule tracing
+ # trace_out(__method__, 32)
+
+ 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: ( EQ | LT | GT | NE | LE | GE | ADD | SUB | MUL | DIV | COLON | SEMICOLON | COMMA | LP | RP | CONCAT | PERCENT | POWER | BANG | INT_CONST | NUM_CONST | STR_CONST | REF2D | TRUE_CONST | FALSE_CONST | NAME | QUOTENAME | FUNC_IF | FUNC_CHOOSE )
- alt_12 = 29
- alt_12 = @dfa12.predict(@input)
- case alt_12
+ # at line 1:8: ( EQ | LT | GT | NE | LE | GE | ADD | SUB | MUL | DIV | COLON | SEMICOLON | COMMA | LP | RP | CONCAT | PERCENT | POWER | BANG | INT_CONST | NUM_CONST | STR_CONST | REF2D | TRUE_CONST | FALSE_CONST | QUOTENAME | FUNC_IF | FUNC_CHOOSE | NAME | WS )
+ alt_14 = 30
+ alt_14 = @dfa14.predict(@input)
+ case alt_14
when 1
# at line 1:10: EQ
eq!
when 2
@@ -1248,54 +1349,64 @@
when 25
# at line 1:145: FALSE_CONST
false_const!
when 26
- # at line 1:157: NAME
- name!
+ # at line 1:157: QUOTENAME
+ quotename!
when 27
- # at line 1:162: QUOTENAME
- quotename!
+ # at line 1:167: FUNC_IF
+ func_if!
when 28
- # at line 1:172: FUNC_IF
- func_if!
+ # at line 1:175: FUNC_CHOOSE
+ func_choose!
when 29
- # at line 1:180: FUNC_CHOOSE
- func_choose!
+ # at line 1:187: NAME
+ name!
+ when 30
+ # at line 1:192: WS
+ ws!
+
end
end
# - - - - - - - - - - DFA definitions - - - - - - - - - - -
- class DFA12 < ANTLR3::DFA
- EOT = unpack(2, -1, 1, 31, 1, 33, 13, -1, 1, 34, 18, -1, 1, 38, 3,
- -1)
- EOF = unpack(40, -1)
- MIN = unpack(1, 0, 1, -1, 2, 61, 13, -1, 1, 46, 3, -1, 2, 36, 1, -1,
- 1, 36, 3, -1, 1, 36, 6, -1, 3, 36, 2, -1)
- MAX = unpack(1, 116, 1, -1, 1, 62, 1, 61, 13, -1, 1, 57, 3, -1, 1,
- 97, 1, 114, 1, -1, 1, 90, 3, -1, 1, 90, 6, -1, 1, 108,
- 1, 57, 1, 79, 2, -1)
+ class DFA14 < ANTLR3::DFA
+ EOT = unpack(2, -1, 1, 34, 1, 36, 13, -1, 1, 37, 3, -1, 6, 30, 1,
+ -1, 2, 30, 8, -1, 3, 30, 1, 45, 3, 30, 1, -1, 2, 30,
+ 1, 51, 1, 30, 1, 53, 1, -1, 1, 30, 1, -1, 1, 55, 1, -1)
+ EOF = unpack(56, -1)
+ MIN = unpack(1, 32, 1, -1, 2, 61, 13, -1, 1, 46, 3, -1, 3, 36, 1,
+ 82, 1, 36, 1, 65, 1, -1, 2, 36, 8, -1, 1, 36, 1, 76,
+ 1, 85, 2, 36, 1, 83, 1, 69, 1, -1, 1, 79, 1, 69, 1, 65,
+ 1, 83, 1, 65, 1, -1, 1, 69, 1, -1, 1, 65, 1, -1)
+ MAX = unpack(1, 122, 1, -1, 1, 62, 1, 61, 13, -1, 1, 57, 3, -1, 1,
+ 97, 1, 114, 1, 57, 1, 114, 1, 90, 1, 97, 1, -1, 2, 90,
+ 8, -1, 2, 108, 1, 117, 1, 122, 1, 79, 1, 115, 1, 101,
+ 1, -1, 1, 79, 1, 101, 1, 122, 1, 83, 1, 122, 1, -1, 1,
+ 69, 1, -1, 1, 122, 1, -1)
ACCEPT = unpack(1, -1, 1, 1, 2, -1, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11,
1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1,
- 19, 1, -1, 1, 21, 1, 22, 1, 23, 2, -1, 1, 24, 1, -1,
- 1, 25, 1, 26, 1, 27, 1, -1, 1, 4, 1, 5, 1, 2, 1, 6,
- 1, 3, 1, 20, 3, -1, 1, 28, 1, 29)
- SPECIAL = unpack(40, -1)
+ 19, 1, -1, 1, 21, 1, 22, 1, 23, 6, -1, 1, 26, 2, -1,
+ 1, 29, 1, 30, 1, 4, 1, 5, 1, 2, 1, 6, 1, 3, 1, 20,
+ 7, -1, 1, 27, 5, -1, 1, 24, 1, -1, 1, 25, 1, -1, 1,
+ 28)
+ SPECIAL = unpack(56, -1)
TRANSITION = [
- unpack(1, 26, 32, -1, 1, 16, 1, 19, 1, -1, 1, 20, 1, 14, 1, 13,
- 1, 27, 1, 11, 1, 12, 1, 6, 1, 4, 1, 10, 1, 5, 1, 18, 1, 7,
- 10, 17, 1, 8, 1, 9, 1, 2, 1, 1, 1, 3, 2, -1, 2, 20, 1, 28,
- 2, 20, 1, 21, 2, 20, 1, 24, 10, 20, 1, 22, 6, 20, 3, -1,
- 1, 15, 7, -1, 1, 25, 13, -1, 1, 23),
+ unpack(1, 31, 1, 16, 1, 19, 1, -1, 1, 20, 1, 14, 1, 13, 1, 27, 1,
+ 11, 1, 12, 1, 6, 1, 4, 1, 10, 1, 5, 1, 18, 1, 7, 10, 17,
+ 1, 8, 1, 9, 1, 2, 1, 1, 1, 3, 2, -1, 2, 29, 1, 28, 2, 29,
+ 1, 21, 2, 29, 1, 25, 10, 23, 1, 22, 6, 23, 3, -1, 1, 15,
+ 2, -1, 5, 30, 1, 26, 13, 30, 1, 24, 6, 30),
unpack(),
- unpack(1, 30, 1, 29),
- unpack(1, 32),
+ unpack(1, 33, 1, 32),
+ unpack(1, 35),
unpack(),
unpack(),
unpack(),
unpack(),
unpack(),
@@ -1309,52 +1420,68 @@
unpack(),
unpack(1, 18, 1, -1, 10, 17),
unpack(),
unpack(),
unpack(),
- unpack(1, 20, 11, -1, 10, 20, 7, -1, 1, 35, 25, 20, 6, -1, 1, 25),
- unpack(1, 20, 11, -1, 10, 20, 24, -1, 1, 23, 31, -1, 1, 23),
+ unpack(1, 20, 11, -1, 10, 20, 7, -1, 1, 38, 25, 23, 6, -1, 1, 39),
+ unpack(1, 20, 11, -1, 10, 20, 24, -1, 1, 40, 31, -1, 1, 40),
+ unpack(1, 20, 11, -1, 10, 20),
+ unpack(1, 40, 31, -1, 1, 40),
+ unpack(1, 20, 11, -1, 10, 20, 7, -1, 5, 23, 1, 41, 20, 23),
+ unpack(1, 39, 31, -1, 1, 39),
unpack(),
- unpack(1, 20, 11, -1, 10, 20, 7, -1, 5, 20, 1, 36, 20, 20),
+ unpack(1, 20, 11, -1, 10, 20, 7, -1, 7, 23, 1, 42, 18, 23),
+ unpack(1, 20, 11, -1, 10, 20, 7, -1, 26, 23),
unpack(),
unpack(),
unpack(),
- unpack(1, 20, 11, -1, 10, 20, 7, -1, 7, 20, 1, 37, 18, 20),
unpack(),
unpack(),
unpack(),
unpack(),
unpack(),
+ unpack(1, 20, 11, -1, 10, 20, 18, -1, 1, 43, 31, -1, 1, 43),
+ unpack(1, 43, 31, -1, 1, 43),
+ unpack(1, 44, 31, -1, 1, 44),
+ unpack(1, 20, 11, -1, 10, 20, 7, -1, 26, 30, 6, -1, 26, 30),
+ unpack(1, 20, 11, -1, 10, 20, 21, -1, 1, 46),
+ unpack(1, 47, 31, -1, 1, 47),
+ unpack(1, 48, 31, -1, 1, 48),
unpack(),
- unpack(1, 20, 11, -1, 10, 20, 18, -1, 1, 25, 31, -1, 1, 25),
- unpack(1, 20, 11, -1, 10, 20),
- unpack(1, 20, 11, -1, 10, 20, 21, -1, 1, 39),
+ unpack(1, 49),
+ unpack(1, 50, 31, -1, 1, 50),
+ unpack(26, 30, 6, -1, 26, 30),
+ unpack(1, 52),
+ unpack(26, 30, 6, -1, 26, 30),
unpack(),
+ unpack(1, 54),
+ unpack(),
+ unpack(26, 30, 6, -1, 26, 30),
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
+ @decision = 14
def description
<<-'__dfa_description__'.strip!
- 1:1: Tokens : ( EQ | LT | GT | NE | LE | GE | ADD | SUB | MUL | DIV | COLON | SEMICOLON | COMMA | LP | RP | CONCAT | PERCENT | POWER | BANG | INT_CONST | NUM_CONST | STR_CONST | REF2D | TRUE_CONST | FALSE_CONST | NAME | QUOTENAME | FUNC_IF | FUNC_CHOOSE );
+ 1:1: Tokens : ( EQ | LT | GT | NE | LE | GE | ADD | SUB | MUL | DIV | COLON | SEMICOLON | COMMA | LP | RP | CONCAT | PERCENT | POWER | BANG | INT_CONST | NUM_CONST | STR_CONST | REF2D | TRUE_CONST | FALSE_CONST | QUOTENAME | FUNC_IF | FUNC_CHOOSE | NAME | WS );
__dfa_description__
end
end
private
def initialize_dfas
super rescue nil
- @dfa12 = DFA12.new(self, 12)
+ @dfa14 = DFA14.new(self, 14)
end
end # class Lexer < ANTLR3::Lexer
at_exit { Lexer.main(ARGV) } if __FILE__ == $0