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.
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.
JLExtensionInfo This is the default ExtensionInfo for the Java language.
JLScheduler Comment for Scheduler
JLVersion Version information for the base compiler.
Job A Job encapsulates work done by the compiler for a single compilation unit.
OutputPass An output pass generates output code from the processed AST.
ParserPass A pass which runs a parser.
PrettyPrintPass An output pass generates output code from the processed AST.
Scheduler The Scheduler manages Goals and runs Passes.
Scheduler.TheEndGoal  
Scheduler.TheEndGoal.EndPass  
Source A Source represents a source file.
SourceLoader A SourceLoader is responsible for loading source files.
Stats Statistics collection and reporting object.
Stats.Times  
TargetFactory A TargetFactory is responsible for opening output files.
Topics Extension information for jl extension.
VisitorPass A pass which runs a visitor.
 

Exception Summary
CyclicDependencyException Thrown during when the compiler tries to run a pass that is already running.
MissingDependencyException A MissingDependencyException is thrown when a goal cannot be reached (yet) because the it is dependent on another, often just discovered, goal.
SchedulerException A SchedulerException is a runtime exception that may abort a running pass and return the scheduler to the scheduling loop.
 

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.frontend.JLExtensionInfo class. Language extensions typically (but not necessarily) subclass polyglot.frontend.JLExtensionInfo.

See Also:
Compiler, ExtensionInfo, AbstractExtensionInfo, JLExtensionInfo