예제 #1
0
        static void Main(string[] args)
        {
            var input = File.ReadAllText(WebGL1SpecFile);

            input += File.ReadAllText(WebGL2SpecFile);
            var inputStream       = CharStreams.fromstring(input);
            var lexer             = new WebIDLLexer(inputStream);
            var tokenStream       = new CommonTokenStream(lexer);
            var parser            = new WebIDLParser(tokenStream);
            var contextSyntaxTree = parser.webIDL();

            using (var outputStream = File.CreateText(OutputFile))
            {
                outputStream.WriteLine("using WebAssembly.Core;");
                outputStream.WriteLine();
                outputStream.WriteLine("namespace WebGLDotNET");
                outputStream.WriteLine("{");
                outputStream.WriteLine("#pragma warning disable MEN002");

                var listener = new WebIDLListener(outputStream);
                ParseTreeWalker.Default.Walk(listener, contextSyntaxTree);

                outputStream.WriteLine("#pragma warning restore MEN002");
                outputStream.WriteLine("}");
            }
        }
예제 #2
0
        public Document(string sourcetext)
        {
            var stringstream = new ANTLRStringStream(sourcetext);

            var lexer = new WebIDLLexer(stringstream);

            var tokens = new CommonTokenStream(lexer);

            var grammar = new WebIDLParser(tokens);



            this.members = new Package(this);
            this.members.append((CommonTree)grammar.documentDef().Tree);
        }