コード例 #1
0
        static ProgramNode CheckedParse(SourceFile sourceFile)
        {
            var programNode  = Parser.Parse(sourceFile);
            var code2        = programNode.FormattedString;
            var programNode2 = Parser.Parse(SourceFile.FromString(code2));
            var code3        = programNode2.FormattedString;

            if (code2 != code3)
            {
                Console.WriteLine(code2);
                Console.WriteLine(code3);
                throw new Exception($"Кривой парсер или {nameof(INode.FormattedString)} у узлов");
            }
            return(programNode);
        }