public SyntaxTree.compilation_unit GetCompilationUnitForFormatter(string FileName, string Text, List <Error> Errors, List <CompilerWarning> Warnings) { SyntaxTree.syntax_tree_node cu = Compile(FileName, Text, Errors, Warnings, ParseMode.ForFormatter); if (cu == null) { return(null); } if (cu is SyntaxTree.compilation_unit) { return(cu as SyntaxTree.compilation_unit); } Errors.Add(new Errors.UnexpectedNodeType(FileName, cu.source_context, null)); return(null); }
public SyntaxTree.statement GetStatement(string FileName, string Text, List <Error> Errors, List <CompilerWarning> Warnings) { SyntaxTree.syntax_tree_node cu = Compile(FileName, Text, Errors, Warnings, ParseMode.Statement); if (cu == null) { return(null); } if (cu is SyntaxTree.statement) { return(cu as SyntaxTree.statement); } Errors.Add(new Errors.UnexpectedNodeType(FileName, cu.source_context, null)); return(null); //throw new Errors.CompilerInternalError("Parsers.Controller.GetComilationUnit", new Exception("bad node type")); }
public SyntaxTree.expression GetExpression(string FileName, string Text, List <Error> Errors, List <CompilerWarning> Warnings) { SyntaxTree.syntax_tree_node cu = null; try // SSM 06.09.18 { cu = Compile(FileName, Text, Errors, Warnings, ParseMode.Expression); } catch { } if (cu == null) { return(null); } if (cu is SyntaxTree.expression) { return(cu as SyntaxTree.expression); } Errors.Add(new Errors.UnexpectedNodeType(FileName, cu.source_context, null)); return(null); //throw new Errors.CompilerInternalError("Parsers.Controller.GetComilationUnit", new Exception("bad node type")); }
public SyntaxTree.compilation_unit GetCompilationUnitForFormatter(string FileName, string Text, List <Error> Errors, List <CompilerWarning> Warnings) { SyntaxTree.syntax_tree_node cu = null; try // SSM 06.09.18 { cu = Compile(FileName, Text, Errors, Warnings, ParseMode.ForFormatter); } catch (Errors.ParserBadFileExtension e) { Errors.Add(e); return(null); // Погасить исключение если оно не погашено ранее } if (cu == null) { return(null); } if (cu is SyntaxTree.compilation_unit) { return(cu as SyntaxTree.compilation_unit); } Errors.Add(new Errors.UnexpectedNodeType(FileName, cu.source_context, null)); return(null); }
public semantic_node visit(SyntaxTree.syntax_tree_node tn) { tn.visit(syntax_tree_visitor); return(ret_semantic); }