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

📄 function.java

📁 A framework written in Java for implementing high-level and dynamic languages, compiling them into J
💻 JAVA
字号:
package gnu.commonlisp.lang;import gnu.mapping.*;import gnu.expr.*;import gnu.lists.*;import kawa.lang.*;public class function extends Syntax{  Syntax lambda;  public function(Syntax lambda)  {    this.lambda = lambda;  }  public Expression rewriteForm (Pair form, Translator tr)  {    Object obj = form.cdr;    if (obj instanceof Pair)      {	Pair pair = (Pair) obj;	if (pair.cdr != LList.Empty)	  return tr.syntaxError("too many forms after 'function'");	Object name = pair.car;	if (name instanceof String || name instanceof Symbol)	  {	    ReferenceExp rexp = new ReferenceExp(name);	    rexp.setProcedureName(true);	    rexp.setFlag(ReferenceExp.PREFER_BINDING2);	    return rexp;	  }	if (name instanceof Pair)	  {	    pair = (Pair) name;	    name = pair.car;	    if (name instanceof String ? "lambda".equals(name)		: (name instanceof Symbol		   && "lambda".equals(((Symbol) name).getName())))	      return lambda.rewriteForm(pair, tr);	  }      }    return tr.syntaxError("function must be followed by name or lambda expression");  }}

⌨️ 快捷键说明

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