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.-
Interface Summary Interface Description HasOwningField Used for compiling literals.Inlineable RunnableModule TypeValue A Type or a Type expression. -
Class Summary Class Description AbstractScriptEngineFactory Abstract implementation of ScriptEngineFactory for any Kawa Language.AbstractScriptEngineFactory.BindingsEnvironment A Environment that proxies lookup in global and engine Bindings.AbstractScriptEngineFactory.BindingsLocation A Location object that proxies lookup in global and engine Bindings.AccessExp A common super-type for ReferenceExpa and SetExp.ANormalize A visitor that performs transformation to Administrative Normal Form.ApplicationMainSupport Run-time support for "main" method, inclding command-line arguments.ApplyExp This class is used to represent "combination" or "application".BeginExp This class represents a sequence of Expressions.BindingInitializer BlockExp Class used to implement a block that can be exited.BuiltinEnvironment An Environment containing the default bindings for the current Language.CaseExp This class represents a case expressionCaseExp.CaseClause This class represent a clause of the case expression, of the form ((datum*) expression+) or (else expression+)CatchClause A "catch" clause of a "try-catch" form.ChainLambdas Sets up the firstChild/nextSibling links of each LambdaExp.CheckedTarget Same as StackTarget, but catch ClassCastException.ClassExp ClassInitializer Cause a class value from a ClassExp to be initialized.Compilation State for a single expression or module.CompiledModule Representation of an interactive module after parsing and compiling.CompiledProc ConditionalTarget This is the Target of a boolean expression, in a conditional context.ConsumerTarget A Target which is some variable that implements gnu.lists.Consumer.Declaration The static information associated with a local variable binding.Declaration.ValueSource ErrorExp Class used to mark an erroneous expressionExitExp Expression to exit a lexically surrounding block.ExpExpVisitor<D> Specialization ofExpVisitor<R,D>
toR=Expression
.Expression Abstract class for syntactic forms that evaluate to a value.ExpVisitor<R,D> Class for doing a tree-visit over an Expression tree.FindCapturedVars FindTailCalls A visitor that checks for tails-calls; also notes read/write/call accesses.FluidLetExp Class used to implement "fluid-let" for Scheme and "let" for Emacs.GenericProc A collection of MethodProcs; one is chosen at apply time.IfExp This class represents a conditional.IgnoreTarget Initializer A piece of code that needs to be added to<clinit>
,<init>
, or whatever.InlineCalls The main Expression re-writing pass.InlineCalls.LenientExpectedType New helper Type class, used for "lenient" conversions.InlineCalls.ProcedureInCallContext InlineCalls.ValueNeededType A marker type to indicate that void is invalid.KawaConvert Override gnu.lists.Convert to use Kawa number and Char classes.KawaScriptBindings An implementation of javax.script.Bindings that uses a SimpleEnvironment.KawaScriptEngine Keyword Implementation of Lisp keywords.LambdaExp Class used to implement Scheme lambda expressions.LambdaExp.Closure LangExp A language-specific expression.Language Contains various language-dependent methods.LetExp Class used to implement "let" syntax (and variants) for Scheme.Literal A Literal contains compile-time information about a constant.LitTable Manages the literals of a Compilation.Mangling Helper methods for mangling and demangling.ModuleBody Class for the dummy top-level function of a module.ModuleContext Maps modules to module instances.ModuleExp Class used to implement Scheme top-level environments.ModuleInfo ModuleManager A database of known modules as represented byModuleInfo
.ModuleSet The compiler generates extensions of this class.NameLookup Manages the set of declarations "currently" in scope.ObjectExp An expression that evaluated to an instance of an anonymous class.PairClassType A class type implemented as a pair of an interface and a class.PrimProcedure A primitive Procedure implemented by a plain Java method.ProcInitializer PushApply Re-arranges ApplyExp where the function is a LetExp or BeginExp.QuoteExp An Expression that evaluates to a constant value.ReferenceExp This class represents a variable reference (an identifier).ResolveNames This resolves references to lexical Declarations.ScopeExp Abstract class for expressions that add local variable bindings.SetExp An Expression to set (bind) or define a new value to a named variable.Special A class of special one-of-a-kind builtin values.StackTarget Symbols Utility class containing various routines to manipulate Scheme symbols.SynchronizedExp Target This represents where a compiler can put the result of an expression.ThisExp Evaluates to the "this" implicit variable.TryExp This class represents try/catch/finally.VarValueTracker Used for SSA (Static Single Assignment) analysis. -
Exception Summary Exception Description CommandCompleter Handle command completion based on expression context. -
Annotation Types Summary Annotation Type Description SourceName Annotation to record a declaration's source symbol.