Package gnu.expr
package gnu.expr
Supports
Expression
,
and various related classes need to compile programming languages.
The exact set of classes in this package is still somewhat in flux.
License
See the file COPYING.Author
Per Bothner <per@bothner.com>Bugs and patches
Send them to per@bothner.com, or to the Kawa mailing list.-
ClassDescriptionAbstract implementation of ScriptEngineFactory for any Kawa Language.A Environment that proxies lookup in global and engine Bindings.A Location object that proxies lookup in global and engine Bindings.A common super-type for ReferenceExpa and SetExp.A visitor that performs transformation to Administrative Normal Form.Run-time support for "main" method, inclding command-line arguments.This class is used to represent "combination" or "application".This class represents a sequence of Expressions.Class used to implement a block that can be exited.An Environment containing the default bindings for the current Language.This class represents a case expressionThis class represent a clause of the case expression, of the form ((datum*) expression+) or (else expression+)A "catch" clause of a "try-catch" form.Sets up the firstChild/nextSibling links of each LambdaExp.Same as StackTarget, but catch ClassCastException.Cause a class value from a ClassExp to be initialized.Handle command completion based on expression context.State for a single expression or module.Representation of an interactive module after parsing and compiling.This is the Target of a boolean expression, in a conditional context.A Target which is some variable that implements gnu.lists.Consumer.The static information associated with a local variable binding.Class used to mark an erroneous expressionExpression to exit a lexically surrounding block.Specialization of
ExpVisitor<R,D>
toR=Expression
.Abstract class for syntactic forms that evaluate to a value.ExpVisitor<R,D> Class for doing a tree-visit over an Expression tree.A visitor that checks for tails-calls; also notes read/write/call accesses.Class used to implement "fluid-let" for Scheme and "let" for Emacs.A collection of MethodProcs; one is chosen at apply time.Used for compiling literals.This class represents a conditional.A piece of code that needs to be added to<clinit>
,<init>
, or whatever.The main Expression re-writing pass.New helper Type class, used for "lenient" conversions.A marker type to indicate that void is invalid.Override gnu.lists.Convert to use Kawa number and Char classes.An implementation of javax.script.Bindings that uses a SimpleEnvironment.Implementation of Lisp keywords.Class used to implement Scheme lambda expressions.A language-specific expression.Contains various language-dependent methods.Class used to implement "let" syntax (and variants) for Scheme.A Literal contains compile-time information about a constant.Manages the literals of a Compilation.Helper methods for mangling and demangling.Class for the dummy top-level function of a module.Maps modules to module instances.Class used to implement Scheme top-level environments.A database of known modules as represented byModuleInfo
.The compiler generates extensions of this class.Manages the set of declarations "currently" in scope.An expression that evaluated to an instance of an anonymous class.A class type implemented as a pair of an interface and a class.A primitive Procedure implemented by a plain Java method.Re-arranges ApplyExp where the function is a LetExp or BeginExp.An Expression that evaluates to a constant value.This class represents a variable reference (an identifier).This resolves references to lexical Declarations.Abstract class for expressions that add local variable bindings.An Expression to set (bind) or define a new value to a named variable.Annotation to record a declaration's source symbol.A class of special one-of-a-kind builtin values.Utility class containing various routines to manipulate Scheme symbols.This represents where a compiler can put the result of an expression.Evaluates to the "this" implicit variable.This class represents try/catch/finally.A Type or a Type expression.Used for SSA (Static Single Assignment) analysis.