All Classes and Interfaces
Class
Description
A container class used to store per-node attributes used by the instrumentation framework.
This class provides an empty implementation of
SimpleLanguageVisitor,
which can be extended to create a visitor which only needs to handle a subset
of the available methods.This interface defines a complete generic visitor for a parse tree produced
by
SimpleLanguageParser.SL node that performs the "+" operation, which performs addition on arbitrary precision numbers,
as well as String concatenation if one of the operands is a String.
Builtin function that performs context exit.
Base parser class that handles common SL behaviour such as error reporting, scoping and literal
parsing.
Constant literal for a arbitrary-precision number that exceeds the range of
SLLongLiteralNode.Utility base class for operations that take two arguments (per convention called "left" and
"right").
A statement node that just executes a list of other statements.
Exception thrown by the
break statement and caught by the loop statement.Implementation of the SL break statement.
Base class for all builtin functions.
SL AST visitor that parses to Bytecode DSL bytecode.
The run-time state of SL during execution.
Exception thrown by the
continue statement and caught by the
loop statement.Implementation of the SL continue statement.
Implementation of the SL debugger statement.
Builtin function to define (or redefine) functions.
This class is similar to the extensively documented
SLAddNode.The
== operator of SL is defined on all types.Builtin function to evaluate source code in any supported language.
This class performs two additional tasks:
Lazily registration of functions on first execution.
SL does not need a sophisticated error checking and reporting mechanism, so all unexpected
conditions just abort execution.
Builtin function that performs context exit.
Base class for all SL nodes that produce a value and therefore benefit from type specialization.
Represents a SL function.
The body of a user-defined SL function.
Constant literal for a
function value, created when a function name occurs as
a literal in SL source code.Manages the mapping from function names to
function objects.Built-in function that queries the size property of a foreign object.
Built-in function that queries if the foreign object has a size.
This builtin sets the variable named "hello" in the caller frame to the string "world".
Built-in function that goes through to import a symbol from the polyglot bindings.
Built-in function that returns true if in a native-image builtin.
The node for function invocation in SL.
Built-in function that queries if the foreign object is executable.
Built-in function that returns true if the given operand is of a given meta-object.
Built-in function that queries if the foreign object is a null value.
Builtin that allows to lookup a Java type.
SL is a simple language to demonstrate and showcase features of Truffle.
Language views are needed in order to allow tools to have a consistent perspective on primitive
or foreign values from the perspective of this language.
This class is similar to the
SLLessThanNode.This class is similar to the extensively documented
SLAddNode.Logical conjunction node with short circuit evaluation.
Example of a simple unary node that uses type specialization.
Logical disjunction node with short circuit evaluation.
Constant literal for a primitive
long value.This class is similar to the extensively documented
SLAddNode.Builtin function that returns the value of a high-resolution time, in nanoseconds.
Built-in function to create a new object.
SL AST visitor that parses to Truffle ASTs.
The SL type for a
null (i.e., undefined) value.Represents an SL object.
A
SLExpressionNode that represents a parenthesized expression; it simply returns the
value of the enclosed (child) expression.Builtin function to write a value to the
standard output.Reads a function argument.
Builtin function that reads a String from the
standard input.Node to read a local variable from a function's
frame.The node for reading a property of an object.
Builtin function that registers a function as a shutdown hook.
Exception thrown by the
return statement and caught by the
function body.Implementation of the SL return statement.
The root of all SL execution trees.
The SL implementation of
NodeLibrary provides fast access to local variables.Logical operations in SL use short circuit evaluation: if the evaluation of the left operand
already decides the result of the operation, the right operand must not be executed.
Returns a string representation of the current stack.
The base class of all Truffle nodes for SL.
Constant literal for a String value.
This class is similar to the extensively documented
SLAddNode.The node to normalize any value to an SL value.
The node to normalize any value to an SL value.
The builtin type definitions for SimpleLanguage.
Built-in function that returns the type of a guest language value.
The type system of SL, as explained in
SLLanguage.The node to normalize any value to an SL value.
The initial
RootNode of functions when they are created, i.e., when
they are still undefined.The loop body of a
while loop.Builtin function to wrap primitive values in order to increase coverage of the Truffle TCK test.
Node to write a local variable to a function's
frame.The node for writing a property of an object.