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

📄 reduce_action.java

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

⌨️ 快捷键说明

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