Class AlgParser

    • Field Detail

      • escStringParser

        protected final io.opsit.explang.atom.EscStringParser escStringParser
      • atomParsers

        protected io.opsit.explang.atom.AtomParser[] atomParsers
    • Constructor Detail

      • AlgParser

        public AlgParser()
    • Method Detail

      • parse

        public io.opsit.explang.ASTNList parse​(io.opsit.explang.ParseCtx pctx,
                                               String input)
        Specified by:
        parse in interface io.opsit.explang.IParser
      • parse

        public io.opsit.explang.ASTNList parse​(io.opsit.explang.ParseCtx pctx,
                                               String input,
                                               int maxExprs)
        Specified by:
        parse in interface io.opsit.explang.IParser
      • parse

        public io.opsit.explang.ASTNList parse​(io.opsit.explang.ParseCtx pctx,
                                               InputStream is,
                                               int maxExprs)
      • parse

        public io.opsit.explang.ASTNList parse​(io.opsit.explang.ParseCtx pctx,
                                               Reader reader,
                                               int maxExprs)
        Specified by:
        parse in interface io.opsit.explang.IParser
      • supportREPLStream

        public boolean supportREPLStream()
        Specified by:
        supportREPLStream in interface io.opsit.explang.IParser
      • getErrors

        public List<String> getErrors​(io.opsit.explang.parser.alg.AlgParser.ParsingState state,
                                      int curPos)
      • tokenize

        public Tokenization tokenize​(io.opsit.explang.parser.alg.AlgParser.ParsingState state,
                                     int curPos)
        Return tokenization of expression including information on current token (with active cursor).
      • getOperatorDescs

        public io.opsit.explang.OperatorDesc[] getOperatorDescs()
        Specified by:
        getOperatorDescs in interface io.opsit.explang.IParser
      • autoSuggest

        public SourceInfo autoSuggest​(String inputStr,
                                      io.opsit.explang.Compiler.ICtx ctx,
                                      int curPos,
                                      boolean returnTokenization,
                                      boolean returnErrors,
                                      boolean returnSuggestions,
                                      boolean filterSuggestions)
        Specified by:
        autoSuggest in interface IAutoSuggester
      • unquote

        public String unquote​(String str)
        Unquote quoted expression.
      • docstringSummary

        public String docstringSummary​(String str)
        Format function docstring for display.
      • codeType

        public String codeType​(io.opsit.explang.ICode code)
        Return type of callable object.
      • convertArgsDescr

        public String convertArgsDescr​(String args)
        Convert argument description for suggestion display.
      • mkFunctionsSuggestions

        public List<Suggestion> mkFunctionsSuggestions​(io.opsit.explang.Compiler.ICtx ctx)
        Return suggestions for function calls.
      • convertVariableProps

        public Map<String,​String> convertVariableProps​(Map<Object,​Object> props)
        Convert Map of variable properties for display.
      • mkVariablesSuggestions

        public List<Suggestion> mkVariablesSuggestions​(io.opsit.explang.Compiler.ICtx ctx)
        Make list of suggestions for a variable.
      • mkSymbolSuggestions

        public List<Suggestion> mkSymbolSuggestions​(io.opsit.explang.Compiler.ICtx ctx)
        Return list of suggestions for a symbol literal.
      • mkOperatorSuggestions

        public List<Suggestion> mkOperatorSuggestions​(io.opsit.explang.Compiler.ICtx ctx,
                                                      Integer tokType)
        Return list of suggestions for operators.
      • getTokenKind

        public String getTokenKind​(int tokType)
        Return kind of token for the autosuggestion mechanism given ANTLR token type.
      • mkSuggestionForToken

        public List<Suggestion> mkSuggestionForToken​(Integer tokType,
                                                     List<Integer> tokens,
                                                     io.opsit.explang.Compiler.ICtx ctx,
                                                     boolean filter,
                                                     Tokenization tz)
        Build list of suggestions for a token.
      • tokHasPos

        public org.antlr.v4.runtime.Token tokHasPos​(org.antlr.v4.runtime.Token tok,
                                                    int pos,
                                                    boolean rightInclude)
        Check if token has given position.
        Parameters:
        tok - token
        pos - position
        rightInclude - include token that start at the cursor position.
      • tokenHasPos

        public org.antlr.v4.runtime.Token tokenHasPos​(List<org.antlr.v4.runtime.Token> tl,
                                                      int pos)
        Return token that has given cursor position.
      • computeTokenIndex

        public Integer computeTokenIndex​(org.antlr.v4.runtime.tree.ParseTree tree,
                                         org.antlr.v4.runtime.CommonTokenStream ts,
                                         int pos)
        Compute index of current token for given cursor position.
      • mkPctx

        protected static io.opsit.explang.ParseCtx mkPctx​(io.opsit.explang.ParseCtx old,
                                                          AlgParser.SyntaxError se)
      • se2ParserException

        protected static io.opsit.explang.ParserException se2ParserException​(io.opsit.explang.ParseCtx oldPctx,
                                                                             AlgParser.SyntaxError se)
      • sexpToString

        public String sexpToString​(Object obj)
        Convert S-exp string representaion in informational/error messages.
      • isParen

        protected boolean isParen​(String str)
      • formatArgSpec

        public String formatArgSpec​(io.opsit.explang.ArgSpec spec)
        Specified by:
        formatArgSpec in interface io.opsit.explang.IParser