Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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"));
 }
Esempio n. 3
0
 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"));
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
 public semantic_node visit(SyntaxTree.syntax_tree_node tn)
 {
     tn.visit(syntax_tree_visitor);
     return(ret_semantic);
 }