class Ven::Compiler
- Ven::Compiler
- Ven::Suite::Visitor(Nil)
- Reference
- Object
Overview
Provides the facilities to compile Ven quotes into a linear sequence of Ven bytecode instructions.
Included Modules
Defined in:
ven/compile.crConstructors
Class Method Summary
-
.compile(context, quotes, file = "<unknown>", offset = 0)
Compiles quotes under a
Context::Compiler
context.
Instance Method Summary
-
#die(message : String)
Raises a compile-time error, providing it the traceback.
-
#visit(quotes : Quotes)
Same as
#visit(quote)
, but iterates over quotes. - #visit(q : QVoid)
- #visit!(q : QRuntimeSymbol)
- #visit!(q : QReadtimeSymbol)
- #visit!(q : QNumber)
- #visit!(q : QString)
- #visit!(q : QRegex)
- #visit!(q : QVector)
- #visit!(q : QUPop)
- #visit!(q : QURef)
- #visit!(q : QUnary)
- #visit!(q : QBinary)
- #visit!(q : QAssign)
- #visit!(q : QBinaryAssign)
- #visit!(q : QCall)
- #visit!(q : QDies)
- #visit!(q : QIntoBool)
- #visit!(q : QReturnIncrement)
- #visit!(q : QReturnDecrement)
- #visit!(q : QAccessField)
- #visit!(q : QReduceSpread)
- #visit!(q : QMapSpread)
- #visit!(q : QIf)
- #visit!(q : QBlock)
- #visit!(q : QGroup)
- #visit!(q : QEnsure)
- #visit!(q : QFun)
- #visit!(q : QInfiniteLoop)
- #visit!(q : QBaseLoop)
- #visit!(q : QStepLoop)
- #visit!(q : QComplexLoop)
- #visit!(q : QNext)
- #visit!(q : QReturnStatement)
- #visit!(q : QReturnExpression)
- #visit!(q : QBox)
- #visit!(q : QDistinct)
- #visit!(q : QExpose)
Instance methods inherited from class Ven::Suite::Visitor(Nil)
last=(last : Quote)
last=,
visit(quote : Quote)visit(quotes : Quotes) visit, visit!(quote : _) visit!
Constructor Detail
Class Method Detail
Compiles quotes under a Context::Compiler
context.
Returns the resulting chunks.
Instance Method Detail
def visit(quotes : Quotes)
#
Description copied from class Ven::Suite::Visitor(Nil)
Same as #visit(quote)
, but iterates over quotes.