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

📄 shift_action.java

📁 我开发的一个用java语言实现的编译器,内含词法分析器,语法分析器,而且可以实现中间代码生成.用到了SLR算法和LR(1)算法
💻 JAVA
字号:
package java_cup;/** This class represents a shift action within the parse table.  *  The action simply stores the state that it shifts to and responds  *  to queries about its type. * * @version last updated: 11/25/95 * @author  Scott Hudson */public class shift_action extends parse_action {  /*-----------------------------------------------------------*/  /*--- Constructor(s) ----------------------------------------*/  /*-----------------------------------------------------------*/  /** Simple constructor.    * @param shft_to the state that this action shifts to.   */  public shift_action(lalr_state shft_to) throws internal_error    {      /* sanity check */      if (shft_to == null)	throw new internal_error(	  "Attempt to create a shift_action to a null state");      _shift_to = shft_to;    }  /*-----------------------------------------------------------*/  /*--- (Access to) Instance Variables ------------------------*/  /*-----------------------------------------------------------*/  /** The state we shift to. */  protected lalr_state _shift_to;  /** The state we shift to. */  public lalr_state shift_to() {return _shift_to;}  /*-----------------------------------------------------------*/  /*--- General Methods ---------------------------------------*/  /*-----------------------------------------------------------*/  /** Quick access to type of action. */  public int kind() {return SHIFT;}  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Equality test. */  public boolean equals(shift_action other)    {      return other != null && other.shift_to() == shift_to();    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Generic equality test. */  public boolean equals(Object other)    {      if (other instanceof shift_action)	return equals((shift_action)other);      else       return false;    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Compute a hash code. */  public int hashCode()    {      /* use the hash code of the state we are shifting to */      return shift_to().hashCode();    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Convert to a string. */  public String toString() {return "SHIFT(to state " + shift_to().index() + ")";}  /*-----------------------------------------------------------*/}

⌨️ 快捷键说明

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