예제 #1
0
        static void Main(string[] args)
        {
            /*
             * Console.Write("> ");
             * string input = Console.ReadLine();
             */

            var input = File.ReadAllText(args[0]);

            var inputStream = new AntlrInputStream(new StringReader(input));
            var lexer       = new CminusLexer(inputStream);
            var tokens      = new CommonTokenStream(lexer);
            var parser      = new CminusParser(tokens);
            var tree        = parser.programa();

            //Console.WriteLine(tree.ToStringTree(parser));
            //Console.WriteLine();

            var visitor = new Visitor(parser);

            visitor.Visit(tree);
            DicionarioEscopos escopos      = visitor.GetDicionarioEscopos();
            Sintetizador      sintetizador = new Sintetizador(parser, escopos);

            sintetizador.Visit(tree);

            ConversorBinario.Converter("teste");

            //Console.WriteLine(ImprimeBonitinho(tree.ToStringTree(parser)));

            Console.ReadKey();
        }
예제 #2
0
 public Sintetizador(CminusParser parser, DicionarioEscopos escopos)
 {
     this.parser  = parser;
     this.escopos = escopos;
 }