예제 #1
0
 public SymbolTable Analyse(AstRoot ast)
 {
     SymbolTable retTable = new SymbolTable ();
     RootAnalyser visitor = new RootAnalyser (errorLog, retTable);
     ast.Visit (visitor);
     return retTable;
 }
예제 #2
0
 public ModuleCompiler(ErrorLog errorLog, SymbolTable symbolTable, IodineModule module)
 {
     this.errorLog = errorLog;
     this.symbolTable = symbolTable;
     this.module = module;
     functionCompiler = new FunctionCompiler (errorLog, symbolTable, module.Initializer);
 }
예제 #3
0
		public FunctionCompiler (SymbolTable symbolTable, IodineMethod methodBuilder,
		                         Stack<IodineLabel> breakLabels, Stack<IodineLabel> continueLabels)
		{
			this.symbolTable = symbolTable;
			this.methodBuilder = methodBuilder;
			this.breakLabels = breakLabels;
			this.continueLabels = continueLabels;
		}
예제 #4
0
		public PatternCompiler (SymbolTable symbolTable,
			IodineMethod methodBuilder,
			int temporary,
			IodineAstVisitor parent)
		{
			parentVisitor = parent;
			this.methodBuilder = methodBuilder;
			this.symbolTable = symbolTable;
			this.temporary = temporary;
		}
예제 #5
0
		public FunctionCompiler (SymbolTable symbolTable, IodineMethod methodBuilder)
		{
			this.symbolTable = symbolTable;
			this.methodBuilder = methodBuilder;
		}
예제 #6
0
 public FunctionCompiler(ErrorLog errorLog, SymbolTable symbolTable, IodineMethod methodBuilder)
 {
     this.errorLog = errorLog;
     this.symbolTable = symbolTable;
     this.methodBuilder = methodBuilder;
 }
예제 #7
0
		public PatternAnalyzer (ErrorLog errorLog, SymbolTable symbolTable, IodineAstVisitor parent)
		{
			parentVisitor = parent;
			this.symbolTable = symbolTable;
			this.errorLog = errorLog;
		}
예제 #8
0
		private IodineCompiler (IodineContext context, SymbolTable symbolTable, AstRoot root)
		{
			this.context = context;
			this.symbolTable = symbolTable;
			this.root = root;
		}
예제 #9
0
 public IodineCompiler(ErrorLog errorLog, SymbolTable symbolTable, string file)
 {
     this.errorLog = errorLog;
     this.symbolTable = symbolTable;
 }
예제 #10
0
 public FunctionAnalyser(ErrorLog errorLog, SymbolTable symbolTable)
 {
     this.errorLog = errorLog;
     this.symbolTable = symbolTable;
 }
예제 #11
0
 public RootAnalyser(ErrorLog errorLog, SymbolTable symbolTable)
 {
     this.errorLog    = errorLog;
     this.symbolTable = symbolTable;
 }
예제 #12
0
		public ModuleCompiler (SymbolTable symbolTable, IodineModule module)
		{
			this.symbolTable = symbolTable;
			this.module = module;
			functionCompiler = new FunctionCompiler (symbolTable, module.Initializer);
		}
예제 #13
0
 public RootAnalyser(ErrorLog errorLog, SymbolTable symbolTable)
 {
     this.errorLog = errorLog;
     this.symbolTable = symbolTable;
 }
예제 #14
0
 public FunctionAnalyser(ErrorLog errorLog, SymbolTable symbolTable)
 {
     this.errorLog    = errorLog;
     this.symbolTable = symbolTable;
 }