APWTCL Arnulf's Preferred Web Tcl

Artifact [97949100a9]
Login

Artifact [97949100a9]

Artifact 97949100a97ac620333ab1ac98024e589327ce5e:


/*=======================================================
 * ExprOperator.java 
 *
 * "A Tcl like language implementation in Java named APWTCL
 * ((Java) Arnulf's Preferred Web Tcl)"
 *
 * APWTCL ExprOperator class
 *
 * Released under same BSD license as Tcl.
 * (Tcl BSD license found at <http://www.tcl.tk/software/tcltk/license.html>)
 *
 * Copyright 2012 Arnulf P. Wiedemann
 *
 */

package org.apwtcl.lang;

public class ExprOperator extends Token implements Debug {
  private static int oid = 0;

  private int id;
  public String name;
  public int precedence;
  public int arity;
  public String funcop;
  public int lazy;

  public ExprOperator(String name, int precedence, int arity, String funcop, int lazy) {
    oid++;
    id = oid;

    this.name = name;
    this.precedence = precedence;
    this.arity = arity;
    this.funcop = funcop;
    this.lazy = lazy;
  }

  /* ==================== mySelf ================================== */
  public String mySelf() {
    String str = "ExprOperator!"+id+"!";
    return str;
  } 
      
  /* ==================== toString ===================================== */
  public String toString() {
    return mySelf()+"!";
  }

  /* ==================== toDebugString ===================================== */
  public String toDebugString() {
    StringBuffer str = new StringBuffer(mySelf()+"\n");
    str.append("  name: "+name+"\n");
    str.append("  precedence: "+precedence+"\n");
    str.append("  arity: "+arity+"\n");
    str.append("  funcop: "+funcop+"\n");
    str.append("  lazy: "+lazy+"\n");
    return str.toString();
  }
}