private import tables
redef class Token
- redef readable var _text: String
+ var _text: nullable String
+
+ redef fun text
+ do
+ var res = _text
+ if res != null then return res
+ res = location.text
+ _text = res
+ return res
+ end
fun parser_index: Int is abstract
end
return 0
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 1
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 2
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "import"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "class"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "abstract"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "interface"
_location = loc
end
end
return 7
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "special"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "end"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "fun"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "type"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "init"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "redef"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "is"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "do"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "readable"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "writable"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "var"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "intern"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "extern"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "protected"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "private"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "intrude"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "if"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "then"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "else"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "while"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "loop"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "for"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "in"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "and"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "or"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "not"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "return"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "continue"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "break"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "abort"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "assert"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "new"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "isa"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "once"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "super"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "self"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "true"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "false"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "null"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "as"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "nullable"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "isset"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "label"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "__debug__"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "("
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ")"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "["
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "]"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ","
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ":"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "::"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "+="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "-="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "..."
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ".."
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "."
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "+"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "-"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "*"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "/"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "%"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "=="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "!="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "<"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "<="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "<<"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ">"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ">="
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once ">>"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "<=>"
_location = loc
end
end
init init_tk(loc: Location)
do
- _text = once "!"
_location = loc
end
end
return 80
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 81
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 82
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 83
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 84
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 85
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 86
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 87
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 88
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 89
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 90
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return 91
end
- init init_tk(text: String, loc: Location)
+ init init_tk(loc: Location)
do
- _text = text
_location = loc
end
end
return null
end
if accept_token == 1 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TEol.init_tk(token_text, location)
+ return new TEol.init_tk(location)
end
if accept_token == 2 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TComment.init_tk(token_text, location)
+ return new TComment.init_tk(location)
end
if accept_token == 3 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TKwmodule.init_tk(token_text, location)
+ return new TKwmodule.init_tk(location)
end
if accept_token == 4 then
return new TKwimport.init_tk(location)
return new TKwinterface.init_tk(location)
end
if accept_token == 8 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TKwenum.init_tk(token_text, location)
+ return new TKwenum.init_tk(location)
end
if accept_token == 9 then
return new TKwspecial.init_tk(location)
return new TBang.init_tk(location)
end
if accept_token == 81 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TClassid.init_tk(token_text, location)
+ return new TClassid.init_tk(location)
end
if accept_token == 82 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TId.init_tk(token_text, location)
+ return new TId.init_tk(location)
end
if accept_token == 83 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TAttrid.init_tk(token_text, location)
+ return new TAttrid.init_tk(location)
end
if accept_token == 84 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TNumber.init_tk(token_text, location)
+ return new TNumber.init_tk(location)
end
if accept_token == 85 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TFloat.init_tk(token_text, location)
+ return new TFloat.init_tk(location)
end
if accept_token == 86 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TChar.init_tk(token_text, location)
+ return new TChar.init_tk(location)
end
if accept_token == 87 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TString.init_tk(token_text, location)
+ return new TString.init_tk(location)
end
if accept_token == 88 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TStartString.init_tk(token_text, location)
+ return new TStartString.init_tk(location)
end
if accept_token == 89 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TMidString.init_tk(token_text, location)
+ return new TMidString.init_tk(location)
end
if accept_token == 90 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TEndString.init_tk(token_text, location)
+ return new TEndString.init_tk(location)
end
if accept_token == 91 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TBadChar.init_tk(token_text, location)
+ return new TBadChar.init_tk(location)
end
if accept_token == 92 then
- var token_text = string.substring(start_stream_pos, accept_length)
- return new TBadString.init_tk(token_text, location)
+ return new TBadString.init_tk(location)
end
else
_stream_pos = sp