class Ven::Compiler

Overview

Provides the facilities to compile Ven quotes into a linear sequence of Ven bytecode instructions.

Included Modules

Defined in:

ven/compile.cr

Constructors

Class Method Summary

Instance Method Summary

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

def self.new(context : Context::Compiler, file : String = "<unknown>", offset : Int32 = 0) #

[View source]

Class Method Detail

def self.compile(context, quotes, file = "<unknown>", offset = 0) #

Compiles quotes under a Context::Compiler context.

Returns the resulting chunks.


[View source]

Instance Method Detail

def die(message : String) #

Raises a compile-time error, providing it the traceback.


[View source]
def visit(quotes : Quotes) #
Description copied from class Ven::Suite::Visitor(Nil)

Same as #visit(quote), but iterates over quotes.


[View source]
def visit(q : QVoid) #

[View source]
def visit!(q : QRuntimeSymbol) #

[View source]
def visit!(q : QReadtimeSymbol) #

[View source]
def visit!(q : QNumber) #

[View source]
def visit!(q : QString) #

[View source]
def visit!(q : QRegex) #

[View source]
def visit!(q : QVector) #

[View source]
def visit!(q : QUPop) #

[View source]
def visit!(q : QURef) #

[View source]
def visit!(q : QUnary) #

[View source]
def visit!(q : QBinary) #

[View source]
def visit!(q : QAssign) #

[View source]
def visit!(q : QBinaryAssign) #

[View source]
def visit!(q : QCall) #

[View source]
def visit!(q : QDies) #

[View source]
def visit!(q : QIntoBool) #

[View source]
def visit!(q : QReturnIncrement) #

[View source]
def visit!(q : QReturnDecrement) #

[View source]
def visit!(q : QAccessField) #

[View source]
def visit!(q : QReduceSpread) #

[View source]
def visit!(q : QMapSpread) #

[View source]
def visit!(q : QIf) #

[View source]
def visit!(q : QBlock) #

[View source]
def visit!(q : QGroup) #

[View source]
def visit!(q : QEnsure) #

[View source]
def visit!(q : QFun) #

[View source]
def visit!(q : QInfiniteLoop) #

[View source]
def visit!(q : QBaseLoop) #

[View source]
def visit!(q : QStepLoop) #

[View source]
def visit!(q : QComplexLoop) #

[View source]
def visit!(q : QNext) #

[View source]
def visit!(q : QReturnStatement) #

[View source]
def visit!(q : QReturnExpression) #

[View source]
def visit!(q : QBox) #

[View source]
def visit!(q : QDistinct) #

[View source]
def visit!(q : QExpose) #

[View source]