polyglot.main
.See: Description
Interface | Description |
---|---|
ExtensionInfo |
ExtensionInfo is the main interface for defining language
extensions. |
FileSource |
This interface is provided for backward compatibility.
|
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 that runs on a
Job . |
Source |
Interface for defining source files
|
SourceLoader |
Interface for defining source file loader
|
Class | Description |
---|---|
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. |
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.
|
ParserlessJLExtensionInfo |
This class implements most of the
ExtensionInfo for the Java
language. |
ParserPass |
A pass which runs a parser.
|
PrettyPrintPass |
An output pass generates output code from the processed AST.
|
Scheduler |
The
Scheduler manages Goal s and runs
Pass es. |
Scheduler.TheEndGoal | |
Scheduler.TheEndGoal.EndPass | |
Source_c | |
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.
|
Enum | Description |
---|---|
Source.Kind |
Exception | Description |
---|---|
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. |
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
.Compiler
,
ExtensionInfo
,
AbstractExtensionInfo
,
JLExtensionInfo