Class SLBaseParser

java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<Void>
com.oracle.truffle.sl.parser.SimpleLanguageBaseVisitor<Void>
com.oracle.truffle.sl.parser.SLBaseParser
All Implemented Interfaces:
SimpleLanguageVisitor<Void>, org.antlr.v4.runtime.tree.ParseTreeVisitor<Void>
Direct Known Subclasses:
SLBytecodeParser, SLNodeParser

public abstract class SLBaseParser extends SimpleLanguageBaseVisitor<Void>
Base parser class that handles common SL behaviour such as error reporting, scoping and literal parsing.
  • Field Details

    • language

      protected final SLLanguage language
    • source

      protected final com.oracle.truffle.api.source.Source source
    • sourceString

      protected final com.oracle.truffle.api.strings.TruffleString sourceString
  • Constructor Details

    • SLBaseParser

      protected SLBaseParser(SLLanguage language, com.oracle.truffle.api.source.Source source)
  • Method Details

    • parseSLImpl

      protected static void parseSLImpl(com.oracle.truffle.api.source.Source source, SLBaseParser visitor)
      Base implementation of parsing, which handles lexer and parser setup, and error reporting.
    • semErr

      protected void semErr(org.antlr.v4.runtime.Token token, String message)
    • asTruffleString

      protected com.oracle.truffle.api.strings.TruffleString asTruffleString(org.antlr.v4.runtime.Token literalToken, boolean removeQuotes)
    • enterFunction

      protected final List<com.oracle.truffle.api.strings.TruffleString> enterFunction(SimpleLanguageParser.FunctionContext ctx)
    • exitFunction

      protected final void exitFunction()
    • enterBlock

      protected final List<com.oracle.truffle.api.strings.TruffleString> enterBlock(SimpleLanguageParser.BlockContext ctx)
    • exitBlock

      protected final void exitBlock()
    • getNameIndex

      protected final int getNameIndex(com.oracle.truffle.api.strings.TruffleString name)
    • getNameIndex

      protected final int getNameIndex(org.antlr.v4.runtime.Token name)