X-Git-Url: http://nitlanguage.org diff --git a/src/parser_util.nit b/src/parser_util.nit index 17aa012..1e11840 100644 --- a/src/parser_util.nit +++ b/src/parser_util.nit @@ -85,11 +85,11 @@ redef class ToolContext # Parse a super class declaration # Fatal error if the `string` is not a syntactically correct super class declaration - fun parse_superclass(string: String): ASuperclass + fun parse_superclass(string: String): APropdef do var mod_string = "class Dummy\nsuper {string}\nend" var nclassdef = parse_classdef(mod_string).as(AStdClassdef) - var nsuperclasses = nclassdef.n_superclasses + var nsuperclasses = nclassdef.n_propdefs if nsuperclasses.length != 1 then self.fatal_error(null, "Fatal Error: not a super class declaration") abort @@ -222,10 +222,15 @@ redef class ToolContext end end +# A modified lexer that feed tokens before and after the real tokens. class InjectedLexer super Lexer + # The tokens to use before the real tokens (in order). var injected_before = new List[Token] + + # The tokens to use after the real tokens (in order). + # The real EOF token is produced after these tokens. var injected_after = new List[Token] private var is_finished = false