Struct librsnek::compiler::Compiler
[−]
[src]
pub struct Compiler<'a> { lexer: Lexer, parser: Parser<'a>, metadata: SymbolMetadata, module: ModuleCode, }
Fields
lexer: Lexer
parser: Parser<'a>
metadata: SymbolMetadata
module: ModuleCode
Methods
impl<'a> Compiler<'a>
[src]
fn new() -> Self
fn compile_str<'b>(&mut self, input: &'b str) -> CompilerResult
fn compile_ast(&mut self, ast: &Ast) -> CompilerResult
fn compile_module(&self, module: &Module) -> CompilerResult
fn compile_stmt(&self, stmt: &'a Stmt) -> CompilerResult
fn compile_stmt_funcdef(
&self,
name: &'a OwnedTk,
arguments: &'a [Expr],
body: &'a Stmt
) -> CompilerResult
&self,
name: &'a OwnedTk,
arguments: &'a [Expr],
body: &'a Stmt
) -> CompilerResult
fn compile_stmt_assign(
&self,
target: &'a Expr,
value: &'a Expr
) -> CompilerResult
&self,
target: &'a Expr,
value: &'a Expr
) -> CompilerResult
fn compile_expr(&self, expr: &'a Expr, ctx: Context) -> CompilerResult
fn compile_expr_call(
&self,
func: &'a OwnedTk,
arg_exprs: &'a [Expr]
) -> CompilerResult
&self,
func: &'a OwnedTk,
arg_exprs: &'a [Expr]
) -> CompilerResult
fn compile_expr_binop(
&self,
op: &'a Op,
left: &'a Expr,
right: &'a Expr
) -> CompilerResult
&self,
op: &'a Op,
left: &'a Expr,
right: &'a Expr
) -> CompilerResult
fn compile_expr_unaryop(&self, op: &'a Op, operand: &'a Expr) -> CompilerResult
fn compile_expr_constant(&self, ctx: Context, tk: &'a OwnedTk) -> CompilerResult
fn compile_expr_attr(
&self,
value: &'a Expr,
attr: &'a OwnedTk,
ctx: Context
) -> CompilerResult
&self,
value: &'a Expr,
attr: &'a OwnedTk,
ctx: Context
) -> CompilerResult
fn compile_expr_list(&self, elem_exprs: &'a [Expr]) -> CompilerResult
fn compile_expr_dict(&self, items: &'a [(Expr, Expr)]) -> CompilerResult
Trait Implementations
impl<'a> Debug for Compiler<'a>
[src]
impl<'a> Clone for Compiler<'a>
[src]
fn clone(&self) -> Compiler<'a>
Returns a copy of the value.
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
.