Package kawa.standard
Class define
java.lang.Object
kawa.lang.Syntax
kawa.standard.define
- All Implemented Interfaces:
gnu.kawa.format.Printable
,Named
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 type specified, 2 means a function definition,
4 means private, 8 means constant, 16 means an early constant.,
and 32 means a fluid variable (define-variable).
As a special case, define-procedure is 1+2+8+16=27
The type
is the declarated type ornull
.
The value
is the initializing value.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrewriteForm
(Pair form, Translator tr) void
scanForm
(Pair st, ScopeExp defs, Translator tr)
-
Field Details
-
defineRaw
-
-
Constructor Details
-
define
-
-
Method Details
-
scanForm
-
rewriteForm
- Overrides:
rewriteForm
in classSyntax
-