kawa.standard

Class define

Implemented Interfaces:
Named, Printable

public class define
extends Syntax
implements Printable

The Syntax transformer that re-writes the "%define" internal form. This is used to implement define, define-private, and define-constant. Syntax: (%define name code type value). The name is an identifier (String or Symbol) or Declaration. The code is an integer mask, where 1 means a function definition, 2 means type specified, 4 means private, and 8 means constant. The type is the declarated type or null. The value is the initializing value. *

Field Summary

static define
defineRaw

Constructor Summary

define(Lambda lambda)

Method Summary

Expression
rewriteForm(Pair form, Translator tr)
void
scanForm(Pair st, ScopeExp defs, Translator tr)

Methods inherited from class kawa.lang.Syntax

getName, getSymbol, print, rewrite, rewriteForm, rewriteForm, scanForDefinitions, scanForm, setName, setName

Field Details

defineRaw

public static final define defineRaw

Constructor Details

define

public define(Lambda lambda)

Method Details

rewriteForm

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

scanForm

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