|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| ParsingErrorReporter | Defines methods to intercept parsing error messages. |
| SourceGenerator | Defines methods for classes that generate runtime Java source from compiled Jiffle scripts. |
| Enum Summary | |
|---|---|
| FunctionInfo.Provider | Constants to indicate the runtime provider of a function |
| Level | Constants used by the Jiffle script and tree parsers to identify the level of a parser message (error or warning). |
| Message | Constants used by the Jiffle script and tree parsers to report errors and warnings. |
| ScopeType | Constants for variable scope type. |
| SymbolType | Constants representing the type of symbols tracked through scopes during JIffle script compilation. |
| Exception Summary | |
|---|---|
| CompilerExitException | Used by the Jiffle compiler to force early exit from one of its parsers. |
| JiffleParserException | An exception thrown when the Jiffle parser aborts due to errors. |
| UndefinedFunctionException | An exception thrown by FunctionLookup when the Jiffle compiler
is attempting to parse a call to an undefined function. |
| UndefinedOptionException | An exception thrown by OptionLookup when the Jiffle compiler
is attempting to parse a call to an undefined option. |
| UnexpectedInputException | Used by Jiffle parsers to complain about unexpected input in a acript. |
Jiffle parser and support classes. In addition to the hand-written classes in this package, further parser classes are generated from the ANTLR grammars that define the language syntax and steps in Abstract Syntax Tree (AST) construction.
The Jiffle compiler works by first creating an AST from the input Jiffle script. Next, a number of tree parsers check the AST for semantic errors. This is followed by tree rewriting, in which the AST is re-structured to make it more suitable for the final step: runtime class source code generation. The resulting source code can be retrieved by the client and/or compiled into executable bytecode by Jiffle's embedded Janino compiler.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||