Package polyglot.frontend

Contains helper classes for the frontend that are used by polyglot.main.

See:
          Description

Interface Summary
ExtensionInfo ExtensionInfo is the main interface for defining language extensions.
JobExt A JobExt encapsulates work done by the compiler on behalf of one source file.
Parser A parser interface.
Pass A Pass represents a compiler pass.
 

Class Summary
AbstractExtensionInfo This is an abstract ExtensionInfo.
AbstractPass The base class for most passes.
BarrierPass A BarrierPass is a special pass that ensures that all jobs that a given job J depends on have completed at least up to the last BarrierPass that J has completed.
Compiler This is the main entry point for the compiler.
CupParser A parser implemented with a Cup generated-parser.
EmptyPass An EmptyPass does nothing.
FileSource A Source represents a source file.
GlobalBarrierPass A GlobalBarrierPass is a special pass that ensures that before a job J can run a GlobalBarrierPass, every currently active job must have completed all passes up to the same GlobalBarrierPass.
InnerJob An InnerJob encapsulates work done by the compiler for a nested class.
Job A Job encapsulates work done by the compiler.
OutputPass An output pass generates output code from the processed AST.
ParserPass A pass which runs a parser.
Pass.ID Pass identifiers.
PrettyPrintPass An output pass generates output code from the processed AST.
Source A Source represents a source file.
SourceJob A SourceJob encapsulates work done by the compiler on behalf of one source file.
SourceLoader A SourceLoader is responsible for loading source files.
SpawnPass The SpawnPass spawns a new job and runs it on the current job's top-level context and ast.
Stats Statistics collection and reporting object.
Stats.Times  
TargetFactory A TargetFactory is responsible for opening output files.
VisitorPass A pass which runs a visitor.
 

Exception Summary
CyclicDependencyException Thrown during when the compiler tries to run a pass that is already running.
 

Package polyglot.frontend Description

Contains helper classes for the frontend that are used by polyglot.main. The Compiler class manages the input and output files and starts the compilation process for a given language extension. Language extensions implement the ExtensionInfo interface. The The class AbstractExtensionInfo contains code for invoking the individual passes of the extension. Subclasses of AbstractExtensionInfo define the passes for the extension. The base Java compiler is implemented in the polyglot.ext.jl.ExtensionInfo class. Language extensions typically (but not necessarily) subclass polyglot.ext.jl.ExtensionInfo.

See Also:
Compiler, ExtensionInfo, AbstractExtensionInfo, ExtensionInfo