⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 level.java

📁 编译原理大作业---tiger编译器 包括semant,translate,mipsframe,regalloc等所有phase 懂的人自会知道
💻 JAVA
字号:
package Translate;public class Level {   // public per poterlo utilizzare   // nel costruttore di Semant   public Frame.Frame frame;   // il primo accesso dei formals e' lo STATIC LINK   // livello padre   public Level parent;   public AccessList formals;   public Level(Level parent,Symbol.Symbol name, Util.BoolList fmls) {      frame = parent.frame.newFrame(new Temp.Label(name),new Util.BoolList(true, fmls));      this.parent = parent;      formals = set_formals(frame.formals.tail);      // System.out.println("formals attuali= " + formals);   }   public Level(Frame.Frame f) {      frame = f;      parent = null;      formals = null;   }   // prende il Frame.Access a cui attaccare   // il livello corrente per restituire il Translate.Access   public Access allocLocal(boolean escape) {      return new Access(this,frame.allocLocal(escape));   }   private AccessList set_formals(Frame.AccessList ff) {      if(ff==null) return null;      return new AccessList(new Access(this, ff.head), set_formals(ff.tail));   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -