public override Parser HandleParseError(Parser parser, CompilationError<ParseError> error)
 {
     return ParentContext.HandleParseError(parser, error);
 }
Exemplo n.º 2
0
 public virtual Parser HandleParseError(Parser parser, CompilationError<ParseError> error)
 {
     return parser;
 }
Exemplo n.º 3
0
 public Parser OnError(Parser parser, CompilationError<ParseError> error)
 {
     return compilationContext.HandleParseError(parser, error);
 }
 public HighlightingParser(Highlighter highlighter)
 {
     this.highlighter = highlighter;
     this.sourceHightlighter = new IncrementalSourceHighlighter(highlighter);
     parser = new LineParser(source => source(sourceHightlighter), (p, e) => p);
 }
 public void OnToken(Token token)
 {
     this.token = token;
     token(this);
     parser = token(parser);
 }
 public override void OnDone()
 {
     parser = token(parser);
     consumer = location => highlighter.HighlightOther(new Region(location, 1));
 }
Exemplo n.º 7
0
 public void Tokenize(Character character)
 {
     if(tokenizer != null) {
         tokenizer = tokenizer.Tokenize(character);
     } else if(character.Char == '\t') {
         indentation = indentation + 1;
     } else {
         parser = compilationContext.CreateParser(source => source(syntaxifier));
         tokenizer = compilationContext.CreateTokenizer(
             token => this.token = token,
             () => parser = token(parser),
             OnLine,
             compilationContext);
         tokenizer = tokenizer.Tokenize(character);
     }
 }