kawa.standard
Class define_variable

java.lang.Object
  extended by kawa.lang.Syntax
      extended by kawa.standard.define_variable
All Implemented Interfaces:
Named, Printable

public class define_variable
extends Syntax

"define-variable" is like define, but ignored if variable already bound.


Field Summary
static define_variable define_variable
           
 
Constructor Summary
define_variable()
           
 
Method Summary
 Expression rewriteForm(Pair form, Translator tr)
           
 boolean scanForDefinitions(Pair st, java.util.Vector forms, ScopeExp defs, Translator tr)
          Check if a statement is a definition, for initial pass.
 
Methods inherited from class kawa.lang.Syntax
getName, getSymbol, print, rewrite, rewriteForm, scanForm, setName, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

define_variable

public static final define_variable define_variable
Constructor Detail

define_variable

public define_variable()
Method Detail

scanForDefinitions

public boolean scanForDefinitions(Pair st,
                                  java.util.Vector forms,
                                  ScopeExp defs,
                                  Translator tr)
Description copied from class: Syntax
Check if a statement is a definition, for initial pass. Semi-deprecated - should convert calls to use scanForm.

Overrides:
scanForDefinitions in class Syntax
Parameters:
st - the statement to check
forms - where to append the (possibly-modified) statement
defs - where to add Declarations for found definitions
tr - the compilation state
Returns:
true on success

rewriteForm

public Expression rewriteForm(Pair form,
                              Translator tr)
Overrides:
rewriteForm in class Syntax