Class Analysis

java.lang.Object
edu.udel.cis.vsl.abc.analysis.IF.Analysis

public class Analysis extends Object
Simple factory class providing static methods for creating new instances of Analyzer. This is the preferred way to construct such instances.
  • Constructor Details

    • Analysis

      public Analysis()
  • Method Details

    • newStandardAnalyzer

      public static Analyzer newStandardAnalyzer(Configurations.Language language, Configuration configuration, ASTFactory astFactory, EntityFactory entityFactory, ConversionFactory conversionFactory)
      Constructs a new "standard" analyzer. This analyzer determines the scope of every node, the type of any construct that has a type, the entity to which every identifier refers, and so on. This "fills in" the missing information in the AST so that after the analysis completes the AST methods for getting that information will return the correct answers instead of null.
      Parameters:
      configuration - the ABC application configuration
      astFactory - the factory used for producing AST components
      entityFactory - the factory used for producing entities
      conversionFactory - the factory used for producing conversions
      Returns:
      the new standard analyzer
    • performStandardAnalysis

      public static void performStandardAnalysis(Configurations.Language language, Configuration configuration, AST ast) throws SyntaxException
      A convenience method for performing the standard analyses on an AST. This creates a new standard analyzer and then applies it to the given AST.
      Parameters:
      configuration - the ABC application configuration
      ast - the AST
      Throws:
      SyntaxException - if AST contains a syntax error
      See Also:
      • #newStandardAnalyzer(Configuration, ASTFactory, EntityFactory, ConversionFactory)