Пример #1
0
        public override void Compare(CompilationUnit compilationUnit, StreamReader reader)
        {
            IList <Diagnostic> diagnostics = compilationUnit.AllDiagnostics();

            StringBuilder sb = new StringBuilder();

            foreach (var diagnostic in diagnostics)
            {
                sb.AppendLine(diagnostic.ToString());
            }

            sb.AppendLine("--- Tokens ---");
            foreach (var tokensLine in compilationUnit.TokensLines)
            {
                sb.AppendLine("---------------------------------");
                sb.AppendLine("_" + tokensLine.SourceText + "_");
                foreach (var sourceToken in tokensLine.SourceTokens)
                {
                    sb.AppendLine("    _" + sourceToken.SourceText + "_    " + sourceToken);
                }
            }

            string result = sb.ToString();

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, reader);
        }
Пример #2
0
 public void Compare(string parsingResult)
 {
     using (StreamReader reader = new StreamReader(new FileStream(Comparator.paths.Result, FileMode.Open)))
     {
         ParserUtils.CheckWithResultReader(Comparator.paths.SamplePath, parsingResult, reader);
     }
 }
Пример #3
0
 internal void Compare(string AntlrResult, StreamReader reader)
 {
     if (debug)
     {
         Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + AntlrResult);
     }
     ParserUtils.CheckWithResultReader(paths.SamplePath, AntlrResult, reader);
 }
Пример #4
0
        internal void Compare(SymbolTable table, StreamReader expected)
        {
            string result = Dump(table);

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, expected);
        }
Пример #5
0
        internal void Compare(Program program, Class cls, IList <Diagnostic> diagnostics, StreamReader expected)
        {
            string result = ParserUtils.DumpResult(program, cls, diagnostics);

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, expected);
        }
Пример #6
0
        internal virtual void Compare(IEnumerable <CodeElement> elements, IEnumerable <Diagnostic> diagnostics, StreamReader expected)
        {
            string result = ParserUtils.DumpResult(elements, diagnostics);

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, expected);
        }
Пример #7
0
        internal void Compare(IEnumerable <Program> programs, IEnumerable <TypeCobol.Compiler.Nodes.Class> classes, IList <Diagnostic> diagnostics, StreamReader expected)
        {
            string result = ParserUtils.DumpResult(programs, classes, diagnostics);

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, expected);
        }
Пример #8
0
        public override void Compare(CompilationUnit compilationUnit, StreamReader reader)
        {
            var sortedDiags = compilationUnit.AllDiagnostics().OrderBy(d => d.Line).GetEnumerator();


            //Create result file

            //Read original source file
            StreamReader sourceReader = new StreamReader(new FileStream(paths.SamplePath, FileMode.Open));


            StringBuilder resultBuilder = new StringBuilder();
            int           linePos       = 0;

            Diagnostic nextDiag = sortedDiags.MoveNext() ? sortedDiags.Current : null;

            while (!sourceReader.EndOfStream)
            {
                string line = sourceReader.ReadLine();
                linePos++;


                while (nextDiag != null && nextDiag.Line <= linePos)
                {
                    resultBuilder.Append(nextDiag).Append("\n");
                    nextDiag = sortedDiags.MoveNext() ? sortedDiags.Current : null;
                }
                resultBuilder.Append(line).Append("\n");
            }

            //Print all remaining diags
            while (nextDiag != null)
            {
                resultBuilder.Append(nextDiag).Append("\n");
                nextDiag = sortedDiags.MoveNext() ? sortedDiags.Current : null;
            }


            string result = resultBuilder.ToString();

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, reader);
        }
Пример #9
0
        public override void Compare(CompilationUnit compilationUnit, StreamReader reader)
        {
            ProgramClassDocument pcd         = compilationUnit.ProgramClassDocumentSnapshot;
            IList <Diagnostic>   diagnostics = compilationUnit.AllDiagnostics();

            StringBuilder sb = new StringBuilder();

            foreach (var diagnostic in diagnostics)
            {
                sb.AppendLine(diagnostic.ToString());
            }

            sb.AppendLine("--- Nodes ---");
            sb.Append(pcd.Program.SyntaxTree);

            string result = sb.ToString();

            if (debug)
            {
                Console.WriteLine("\"" + paths.SamplePath + "\" result:\n" + result);
            }
            ParserUtils.CheckWithResultReader(paths.SamplePath, result, reader);
        }