示例#1
0
 /// <summary>
 /// Sets up the compiler instance with all needed components.
 /// </summary>
 /// <param name="loggerFactory">A logger factory to use to instantiate loggers.</param>
 public CobaltCompiler(ILoggerFactory loggerFactory, ITargetCodeGenerator compilerBackend)
 {
     Logger              = loggerFactory.CreateLogger <CobaltCompiler>();
     Lexer               = new CobaltLexer(loggerFactory);
     Parser              = new CobaltParser(loggerFactory);
     Optimizer           = new CobaltOptimizer(loggerFactory);
     Analyzer            = new CobaltSemanticAnalyzer(loggerFactory);
     TargetCodeGenerator = compilerBackend;
 }
 public SemanticAnalysisTests()
 {
     Analyzer = new CobaltSemanticAnalyzer(new NullLoggerFactory());
 }