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

📄 action_part.java

📁 我开发的一个用java语言实现的编译器,内含词法分析器,语法分析器,而且可以实现中间代码生成.用到了SLR算法和LR(1)算法
💻 JAVA
字号:
package java_cup;/**  * This class represents a part of a production which contains an * action.  These are eventually eliminated from productions and converted * to trailing actions by factoring out with a production that derives the * empty string (and ends with this action). * * @see java_cup.production * @version last update: 11/25/95 * @author Scott Hudson */public class action_part extends production_part {  /*-----------------------------------------------------------*/  /*--- Constructors ------------------------------------------*/  /*-----------------------------------------------------------*/  /** Simple constructor.    * @param code_str string containing the actual user code.   */  public action_part(String code_str)    {      super(/* never have a label on code */null);      _code_string = code_str;    }  /*-----------------------------------------------------------*/  /*--- (Access to) Instance Variables ------------------------*/  /*-----------------------------------------------------------*/  /** String containing code for the action in question. */  protected String _code_string;  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** String containing code for the action in question. */  public String code_string() {return _code_string;}  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Set the code string. */  public void set_code_string(String new_str) {_code_string = new_str;}  /*-----------------------------------------------------------*/  /*--- General Methods ---------------------------------------*/  /*-----------------------------------------------------------*/  /** Override to report this object as an action. */  public boolean is_action() { return true; }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Equality comparison for properly typed object. */  public boolean equals(action_part other)    {      /* compare the strings */      return other != null && super.equals(other) && 	     other.code_string().equals(code_string());    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Generic equality comparison. */  public boolean equals(Object other)    {      if (!(other instanceof action_part)) 	return false;      else	return equals((action_part)other);    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Produce a hash code. */  public int hashCode()    {      return super.hashCode() ^ 	     (code_string()==null ? 0 : code_string().hashCode());    }  /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/  /** Convert to a string.  */  public String toString()    {      return super.toString() + "{" + code_string() + "}";    }  /*-----------------------------------------------------------*/}

⌨️ 快捷键说明

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