Ejemplo n.º 1
0
        private List <NewFolding> CreateNewFoldings(String text, ref List <MarkerPosition> markers)
        {
            List <NewFolding> newFoldings = null;

            try
            {
                using (var reader = new StringReader(text))
                {
                    var antlrInputStream = new AntlrInputStream(reader);
                    var lexer            = new LuaLexer(antlrInputStream);
                    var tokens           = new CommonTokenStream(lexer);
                    var parser           = new LuaParser(tokens)
                    {
                        BuildParseTree = true
                    };
                    parser.RemoveErrorListeners();
                    parser.AddErrorListener(new MyErrorListener(_textMarkerService, ref markers));
                    var tree    = parser.block();
                    var visitor = new LuaVisitor();
                    newFoldings = visitor.Visit(tree);
                    Interlocked.Exchange(ref _syntaxErrors, parser.NumberOfSyntaxErrors);
                }
            }
            catch (Exception e)
            {
                // MessageBox.Show(e.ToString(), "NodeMCU Studio 2015", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.Yes);
                //On error resume next
            }

            return(newFoldings ?? new List <NewFolding>());
        }