Esempio n. 1
0
        public CppFileParser(IAstPrinter printer, string file)
        {
            Rule parse_rule = grammar.file;

            string text = File.ReadAllText(file);

            printer.Clear();
            ParserState state = new ParserState(text);

            try
            {
                if (!parse_rule.Match(state))
                {
                    message = "Failed to parse file " + file;
                }
                else
                {
                    if (state.AtEndOfInput())
                    {
                        message = "Successfully parsed file";
                    }
                    else
                    {
                        message = "Failed to read end of input";
                    }
                }
            }
            catch (ParsingException e)
            {
                state.ForceCompletion();
                message = e.Message;
            }

            printer.PrintNode(state.GetRoot(), 0);
        }
Esempio n. 2
0
        public CppFileParser(IAstPrinter printer, string file)
        {
            Rule parse_rule = grammar.file;

            string text = File.ReadAllText(file);
            printer.Clear();
            ParserState state = new ParserState(text);

            try
            {
                if (!parse_rule.Match(state))
                {
                    message = "Failed to parse file " + file;
                }
                else
                {
                    if (state.AtEndOfInput())
                    {
                        message = "Successfully parsed file";
                    }
                    else
                    {
                        message = "Failed to read end of input";
                    }
                }
                    
            }
            catch (ParsingException e)
            {
                state.ForceCompletion();
                message = e.Message;
            }

            printer.PrintNode(state.GetRoot(), 0);
        }
Esempio n. 3
0
 public CppFileSetParser(IAstPrinter printer, string sDir)
 {
     di = new DirectoryInfo(sDir);
     foreach (FileInfo fi in di.GetFiles("*.c;*.cpp;*.h;*.hpp;"))
     {
         CppFileParser fp = new CppFileParser(printer, fi.Name);
     }
 }
Esempio n. 4
0
 public CppFileSetParser(IAstPrinter printer, string sDir)
 {
     di = new DirectoryInfo(sDir);
     foreach (FileInfo fi in di.GetFiles("*.c;*.cpp;*.h;*.hpp;"))
     {
         CppFileParser fp = new CppFileParser(printer, fi.Name);
     }
 }