public void ParseInputFile(System.IO.StreamReader fIn)
        {
            var input       = new Antlr4.Runtime.AntlrInputStream(fIn);
            var lexer       = new Grammars.ZeroCode2Lexer(input);
            var tokenStream = new Antlr4.Runtime.CommonTokenStream(lexer);
            var parser      = new Grammars.ZeroCode2(tokenStream);


            var walker = new Antlr4.Runtime.Tree.ParseTreeWalker();

            var Listener = new ZeroCodeListener();

            walker.Walk(Listener, parser.zcDefinition());

            ModelCollector = Listener.Collector;

            GraphElements = Listener.GraphElements;

            if (ResolveInheritance() == false)
            {
                logger.Error("Not all Inheritances were resolved");
                HasErrors = true;
            }

            if (parser.NumberOfSyntaxErrors > 0)
            {
                HasErrors = true;
                logger.Error("Errors exist in the input file");
            }
            // dump all errors:
            Errors.ForEach(e => logger.Error(e));
        }
Beispiel #2
0
        } // End Sub LexerTest

        static void WalkerTest(string text)
        {
            try
            {
                System.IO.StringReader          reader = new System.IO.StringReader(text);
                Antlr4.Runtime.AntlrInputStream input  = new Antlr4.Runtime.AntlrInputStream(reader);
                TSqlLexer lexer = new TSqlLexer(input);
                Antlr4.Runtime.CommonTokenStream tokens = new Antlr4.Runtime.CommonTokenStream(lexer);
                TSqlParser parser = new TSqlParser(tokens);
                // Specify our entry point

                // TSqlParser.Query_specificationContext
                TSqlParser.Tsql_fileContext fileContext = parser.tsql_file();
                // Antlr4.Runtime.Tree.IParseTree root = (Antlr4.Runtime.Tree.IParseTree)fileContext;


                // TSqlParser.Query_specificationContext tsqlParser.Tsql_fileContext fileContext = parser.tsql_file();
                System.Console.WriteLine("fileContext.ChildCount = " + fileContext.ChildCount.ToString());
                // Walk it and attach our listener
                Antlr4.Runtime.Tree.ParseTreeWalker walker = new Antlr4.Runtime.Tree.ParseTreeWalker();
                // AntlrTsqListener listener = new AntlrTsqListener();
                EverythingListener listener = new EverythingListener();

                walker.Walk(listener, fileContext);
            }
            catch (System.Exception e)
            {
                System.Console.WriteLine(e.Message);
            }
        } // End Sub WalkerTest
Beispiel #3
0
 static void Main(string[] args)
 {
     var inputStream = new Antlr4.Runtime.AntlrFileStream(args[0]);
     var lexer       = new Antlr4.Languages.Java.Java8Lexer(inputStream);
     var ts          = new Antlr4.Runtime.CommonTokenStream(lexer);
     var parser      = new Antlr4.Languages.Java.Java8Parser(ts);
     var walker      = new Antlr4.Runtime.Tree.ParseTreeWalker();
 }
Beispiel #4
0
        public void ProcessWorkload(string aScriptPath, EventHandler <string> aOnAnalyzingError)
        {
            string            lText   = ReadFile(aScriptPath);
            StringReader      lReader = new StringReader(lText);
            AntlrInputStream  lInput  = new AntlrInputStream(lReader);
            TSqlLexer         lLexer  = new TSqlLexer(new CaseChangingCharStream(lInput, true));
            CommonTokenStream lTokens = new CommonTokenStream(lLexer);
            TSqlParser        lParser = new TSqlParser(lTokens);

            TSqlParser.Tsql_fileContext Tsql_fileContext1 = lParser.tsql_file();

            Antlr4.Runtime.Tree.ParseTreeWalker lWalker = new Antlr4.Runtime.Tree.ParseTreeWalker();
            AntlrTsqlListener lListener = new AntlrTsqlListener();

            lListener.OnAnalyzingError += aOnAnalyzingError;
            lWalker.Walk(lListener, Tsql_fileContext1);
            Tables = lListener.AnalyzedWorkload;
        }
        public void ParseTemplateFile(System.IO.StreamReader fIn)
        {
            var input       = new Antlr4.Runtime.AntlrInputStream(fIn);
            var lexer       = new Grammars.ZeroCode2TemplateLexer(input);
            var tokenStream = new Antlr4.Runtime.CommonTokenStream(lexer);
            var parser      = new Grammars.ZeroCode2Template(tokenStream);

            var walker = new Antlr4.Runtime.Tree.ParseTreeWalker();

            var Listener = new ZeroCode2TemplateListener
            {
                Program = Program
            };

            walker.Walk(Listener, parser.template());

            Errors.AddRange(Program.Errors());
            HasErrors = Errors.Count > 0;
        }
        public override void ExitDatatableRowCell([NotNull] SBP.DatatableRowCellContext context)
        {
            var           text  = context.GetText().Trim();
            TypeReference type  = null;
            object        value = null;

            if (!String.IsNullOrEmpty(text))
            {
                // TODO: It MUST be possible to make this simpler... (e.g. re-use tokens)
                Antlr4.Runtime.ITokenSource lexer  = new Lexer(new Antlr4.Runtime.AntlrInputStream(text));
                Antlr4.Runtime.ITokenStream tokens = new Antlr4.Runtime.CommonTokenStream(lexer);
                var parser = new SBP(tokens);
                parser.RemoveErrorListeners();
                parser.AddErrorListener(m_errors);
                parser.BuildParseTree = true;
                var cellContext = parser.datatableRowCellContent();
                var walker      = new Antlr4.Runtime.Tree.ParseTreeWalker();
                m_expressionData.PushStackLevel("VariableType");
                walker.Walk(this, cellContext);
                var stack           = m_expressionData.PopStackLevel();
                var expressionValue = stack.Pop();
                if (expressionValue.IsConstant)
                {
                    type  = expressionValue.DataType;
                    value = expressionValue.Value;
                }
                else if (expressionValue.IsUnresolvedIdentifier)
                {
                    type  = new TypeReference(typeof(StepBro.Core.Data.Identifier));
                    value = expressionValue.Value;
                }
                else
                {
                    m_errors.SymanticError(context.Start.Line, context.Start.Column, false, "Error parsing cell value.");
                }
            }

            m_currentDatatableRowData.Add(new Tuple <string, TypeReference, object>(text, type, value));
        }
Beispiel #7
0
        ///<summary>
        /// Constructor.
        ///</summary>
        public DomainProblem(string domainfile, string problemfile) : this()
        {
            using (var domstream = new StreamReader(domainfile)) {
                var inp    = new Antlr4.Runtime.AntlrInputStream(domstream);
                var lexer  = new pddlLexer(inp);
                var stream = new Antlr4.Runtime.CommonTokenStream(lexer);
                var parser = new pddlParser(stream);
                var tree   = parser.domain();
                this.domain = new DomainListener();
                var walker = new Antlr4.Runtime.Tree.ParseTreeWalker();
                walker.Walk(this.domain, tree);
            }

            using (var probstream = new StreamReader(problemfile)) {
                var inp    = new Antlr4.Runtime.AntlrInputStream(probstream);
                var lexer  = new pddlLexer(inp);
                var stream = new Antlr4.Runtime.CommonTokenStream(lexer);
                var parser = new pddlParser(stream);
                var tree   = parser.problem();
                this.problem = new ProblemListener();
                var walker = new Antlr4.Runtime.Tree.ParseTreeWalker();
                walker.Walk(this.problem, tree);
            }
        }
Beispiel #8
0
        public static System.Collections.Generic.List <string> LexWithAntlr(string text)
        {
            System.Collections.Generic.List <string> ls = new System.Collections.Generic.List <string>();

            System.IO.StringReader reader = new System.IO.StringReader(text);

            // Antlr4.Runtime.AntlrInputStream input = new Antlr4.Runtime.AntlrInputStream(reader);

            Antlr4.Runtime.ICharStream            input1 = new Antlr4.Runtime.AntlrInputStream(reader);
            Antlr4.Runtime.CaseChangingCharStream input  = new Antlr4.Runtime.CaseChangingCharStream(input1, true);



            Rfc5424Lexer lexer = new Rfc5424Lexer(input);

            Antlr4.Runtime.CommonTokenStream tokenStream = new Antlr4.Runtime.CommonTokenStream(lexer);
            tokenStream.Fill();



            Rfc5424Parser parser = new Rfc5424Parser(tokenStream);

            Rfc5424Parser.Syslog_msgContext msgContext = parser.syslog_msg();


            RfcVisitor vis = new RfcVisitor();
            string     s   = vis.Visit(msgContext);


            Antlr4.Runtime.Tree.ParseTreeWalker walker = new Antlr4.Runtime.Tree.ParseTreeWalker();
            // AntlrTsqListener listener = new AntlrTsqListener();
            EverythingListener listener = new EverythingListener();

            // walker.Walk(listener, msgContext);


            // new EverythingListener().EnterBom(parser.bom());
            // new EverythingListener().EnterTimestamp(parser.timestamp());
            // new EverythingListener().EnterEveryRule(parser.version());
            // new EverythingListener().EnterEveryRule(parser.timestamp());



            // var x = parser.msg();
            var x = parser.timestamp();



            Antlr4.Runtime.Misc.Interval msgInt = x.SourceInterval; // new Antlr4.Runtime.Misc.Interval(lastIndex, token.StopIndex);
            string extractedMsg = tokenStream.GetText(msgInt);

            System.Console.WriteLine(extractedMsg);



            int lastIndex = 0;

            foreach (Antlr4.Runtime.IToken token in tokenStream.GetTokens())
            {
                // System.Console.WriteLine(token.Text);
                string tokenTypeName = lexer.Vocabulary.GetSymbolicName(token.Type);
                Antlr4.Runtime.Misc.Interval ival = new Antlr4.Runtime.Misc.Interval(lastIndex, token.StopIndex);
                string extracted = token.InputStream.GetText(ival);

                // table_name, cte_name: ID, SQUARE_BRACKET_ID
                // Local variables: LOCAL_ID

                lastIndex = token.StopIndex + 1;
            } // Next token

            return(ls);
        }