kawa.lang
Class AutoloadSyntax

java.lang.Object
  extended by kawa.lang.Syntax
      extended by kawa.lang.AutoloadSyntax
All Implemented Interfaces:
Named, Printable, java.io.Externalizable, java.io.Serializable

public class AutoloadSyntax
extends Syntax
implements java.io.Externalizable

Implement autoloading of Syntax (including macros). A named class is loaded, and apply requests are forwarded to it.

See Also:
Serialized Form

Constructor Summary
AutoloadSyntax()
           
AutoloadSyntax(java.lang.String name, java.lang.String className)
           
AutoloadSyntax(java.lang.String name, java.lang.String className, Environment env)
           
 
Method Summary
 void print(java.io.PrintWriter ps)
           
 void readExternal(java.io.ObjectInput in)
           
 Expression rewriteForm(Pair form, Translator tr)
           
 void scanForm(Pair st, ScopeExp defs, Translator tr)
           
 java.lang.String toString()
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class kawa.lang.Syntax
getName, getSymbol, print, rewrite, rewriteForm, scanForDefinitions, setName, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AutoloadSyntax

public AutoloadSyntax()

AutoloadSyntax

public AutoloadSyntax(java.lang.String name,
                      java.lang.String className)

AutoloadSyntax

public AutoloadSyntax(java.lang.String name,
                      java.lang.String className,
                      Environment env)
Method Detail

print

public void print(java.io.PrintWriter ps)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

scanForm

public void scanForm(Pair st,
                     ScopeExp defs,
                     Translator tr)
Overrides:
scanForm in class Syntax

rewriteForm

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

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException