Beispiel #1
0
        public ScopeContext RunCode(string code)
        {
            var logger = NullLogger.Instance;

            var inputStream       = new AntlrInputStream(code);
            var speakLexer        = new SimpleGrammarLexer(inputStream);
            var commonTokenStream = new CommonTokenStream(speakLexer);
            var parser            = new SimpleGrammarParser(commonTokenStream);

            parser.AddErrorListener(new EL());

            var chatContext = parser.calc();

            var visitor = new SampleVisitor(logger);

            visitor.Visit(chatContext);

            return(visitor.ReturnResult);
        }
Beispiel #2
0
        public void ExecuteCode()
        {
            var inputStream       = new AntlrInputStream(_code);
            var speakLexer        = new SimpleGrammarLexer(inputStream);
            var commonTokenStream = new CommonTokenStream(speakLexer);
            var parser            = new SimpleGrammarParser(commonTokenStream);

            parser.AddErrorListener(new EL(_logger));

            var chatContext = parser.calc();

            var visitor = new SampleVisitor(_logger);

            try
            {
                visitor.Visit(chatContext);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }

            _logger.LogDebug(visitor.ReturnResult.Value?.ToString() ?? "");
        }