예제 #1
0
파일: Driver.cs 프로젝트: ionlang/ir
 public Driver(LlvmModule module, TokenStream stream)
 {
     this.stream  = stream;
     this.Module  = module;
     this.context = new ParserContext(this.stream);
     this.visitor = new LlvmVisitor(this.Module);
 }
예제 #2
0
파일: LlvmVisitor.cs 프로젝트: ionlang/ir
 public LlvmVisitor(LlvmModule module, LlvmBuilder builder)
 {
     this.module      = module;
     this.builder     = builder;
     this.symbolTable = new IrSymbolTable(this.module);
     this.valueStack  = new Stack <LlvmValue>();
     this.typeStack   = new Stack <LlvmType>();
     this.blockStack  = new Stack <LlvmBlock>();
     this.namedValues = new Dictionary <string, LlvmValue>();
 }
예제 #3
0
파일: Driver.cs 프로젝트: ionlang/ir
 public Driver(TokenStream stream) : this(LlvmModule.Create(SpecialName.Entry), stream)
 {
     //
 }
예제 #4
0
파일: LlvmVisitor.cs 프로젝트: ionlang/ir
 public LlvmVisitor(LlvmModule module) : this(module, LlvmBuilder.Create())
 {
     //
 }
예제 #5
0
파일: IrSymbolTable.cs 프로젝트: ionlang/ir
 public IrSymbolTable(LlvmModule module)
 {
     this.module   = module;
     this.Metadata = new Dictionary <string, string>();
 }