Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/JoshMcguigan/monkey
/ functions
Functions
100 in github.com/JoshMcguigan/monkey
⨍
Functions
100
◇
Types & classes
13
↓ 51 callers
Function
test_eval
(input: &str, expected: Object)
src/eval/mod.rs:285
↓ 29 callers
Function
lex
(input: &str)
src/lexer/mod.rs:64
↓ 27 callers
Function
assert_last_popped
(input: &str, obj: Object)
src/vm/mod.rs:252
↓ 22 callers
Function
parse
(input: &mut Vec<Token>)
src/parser/mod.rs:52
↓ 22 callers
Method
push
(&mut self, obj: Object)
src/vm/mod.rs:164
↓ 20 callers
Method
pop
(&mut self)
src/vm/mod.rs:169
↓ 17 callers
Method
add_instruction
(&mut self, op_code: OpCode)
src/compiler/mod.rs:50
↓ 8 callers
Function
compile_from_source
(input: &str)
src/compiler/mod.rs:178
↓ 5 callers
Function
convert_two_u8s_be_to_usize
(int1: u8, int2: u8)
src/code/mod.rs:25
↓ 5 callers
Function
make_three_byte_op
(code: u8, data: u16)
src/code/mod.rs:29
↓ 4 callers
Function
compile_infix_template
(infix_str: &str, op_code: OpCode)
src/compiler/mod.rs:195
↓ 4 callers
Function
parse_expression
(input: &mut Vec<Token>, precedence: Precedence)
src/parser/mod.rs:95
↓ 3 callers
Method
change_op
(&mut self, position: usize, op_code: OpCode)
src/compiler/mod.rs:57
↓ 3 callers
Method
compile_statements
(&mut self, ast: Vec<Statement>)
src/compiler/mod.rs:157
↓ 3 callers
Function
eval_expr
(expression: Expr, env: &mut Env)
src/eval/mod.rs:19
↓ 3 callers
Function
eval_return_scope
(statements: Vec<Statement>, env: &mut Env)
src/eval/mod.rs:160
↓ 3 callers
Function
eval_statements
similar to eval_return_scope but doesn't unwrap Return types useful for if-else blocks where the return should return from the parent scope as well
src/eval/mod.rs:146
↓ 3 callers
Method
get
(&self, key: &str)
src/eval/env.rs:19
↓ 3 callers
Function
make_op
(op: OpCode)
src/code/mod.rs:36
↓ 2 callers
Method
compile_expression
(&mut self, expr: Expr)
src/compiler/mod.rs:63
↓ 2 callers
Method
last_instruction_is_pop
(&self)
src/compiler/mod.rs:149
↓ 2 callers
Method
precedence
(&self)
src/parser/mod.rs:233
↓ 2 callers
Method
remove_last_pop
(&mut self)
src/compiler/mod.rs:153
↓ 2 callers
Method
set
(&mut self, key: String, value: Object)
src/eval/env.rs:15
↓ 1 callers
Method
add_constant
(&mut self, obj: Object)
src/compiler/mod.rs:45
↓ 1 callers
Function
convert_u16_to_two_u8s_be
(integer: u16)
src/code/mod.rs:21
↓ 1 callers
Method
define
(&mut self, name: SymbolName)
src/compiler/symbol_table.rs:20
↓ 1 callers
Function
display_object
(obj: Object)
src/main.rs:42
↓ 1 callers
Function
eval_builtin
(func_name: &str, arguments: Vec<Object>)
src/eval/mod.rs:125
↓ 1 callers
Function
eval_statement
(statement: Statement, env: &mut Env)
src/eval/mod.rs:132
↓ 1 callers
Function
parse_infix
(left: Expr, input: &mut Vec<Token>)
src/parser/mod.rs:212
↓ 1 callers
Function
parse_infix_expression
(input: &str, operator: Operator)
src/parser/mod.rs:385
↓ 1 callers
Function
parse_let
(input: &mut Vec<Token>, program: &mut Vec<Statement>)
src/parser/mod.rs:78
↓ 1 callers
Function
parse_return
(input: &mut Vec<Token>, program: &mut Vec<Statement>)
src/parser/mod.rs:89
↓ 1 callers
Method
resolve
(&self, name: &SymbolName)
src/compiler/symbol_table.rs:29
↓ 1 callers
Method
run
(&mut self)
src/vm/mod.rs:33
Method
compile_from_source
(input: &str)
src/compiler/mod.rs:32
Function
compile_if
()
src/compiler/mod.rs:219
Function
compile_if_else
()
src/compiler/mod.rs:245
Function
compile_if_else_extra_statement
()
src/compiler/mod.rs:271
Function
compile_infix
()
src/compiler/mod.rs:188
Function
compile_let_get
()
src/compiler/mod.rs:345
Function
compile_let_multiple_var
()
src/compiler/mod.rs:321
Function
compile_let_single_var
()
src/compiler/mod.rs:299
Function
eval_bang
()
src/eval/mod.rs:193
Function
eval_binding
()
src/eval/mod.rs:263
Function
eval_bool
()
src/eval/mod.rs:187
Function
eval_builtin_len
()
src/eval/mod.rs:298
Function
eval_function
()
src/eval/mod.rs:272
Function
eval_if
()
src/eval/mod.rs:238
Function
eval_infix
()
src/eval/mod.rs:206
Function
eval_infix_nested_types
()
src/eval/mod.rs:226
Function
eval_infix_string
()
src/eval/mod.rs:221
Function
eval_int_literal
()
src/eval/mod.rs:177
Function
eval_negative
()
src/eval/mod.rs:200
Function
eval_return
()
src/eval/mod.rs:247
Function
eval_string_literal
()
src/eval/mod.rs:182
Method
last_popped
(&self)
src/vm/mod.rs:178
Function
lex_additional_keywords
()
src/lexer/mod.rs:229
Function
lex_additional_opeations
()
src/lexer/mod.rs:210
Function
lex_equal_not_equal
()
src/lexer/mod.rs:263
Function
lex_function
()
src/lexer/mod.rs:154
Function
lex_function_call
()
src/lexer/mod.rs:187
Function
lex_ident_ending_with_semicolon
()
src/lexer/mod.rs:134
Function
lex_let
()
src/lexer/mod.rs:98
Function
lex_let_ident_contains_keyword
()
src/lexer/mod.rs:116
Function
lex_string
()
src/lexer/mod.rs:287
Function
lex_tokens
()
src/lexer/mod.rs:77
Function
main
()
src/main.rs:17
Function
make_op_add
()
src/code/mod.rs:79
Function
make_op_constant
()
src/code/mod.rs:63
Function
make_op_pop
()
src/code/mod.rs:71
Method
new
()
src/compiler/symbol_table.rs:13
Method
new
()
src/compiler/mod.rs:18
Method
new
()
src/eval/env.rs:9
Method
new
(byte_code: ByteCode)
src/vm/mod.rs:20
Function
parse_bool
()
src/parser/mod.rs:420
Function
parse_expression_statement
()
src/parser/mod.rs:296
Function
parse_expression_statement_const
()
src/parser/mod.rs:310
Function
parse_expression_statement_string
()
src/parser/mod.rs:324
Function
parse_function_call
()
src/parser/mod.rs:524
Function
parse_function_expression
()
src/parser/mod.rs:543
Function
parse_function_literal
()
src/parser/mod.rs:496
Function
parse_if
()
src/parser/mod.rs:460
Function
parse_if_else
()
src/parser/mod.rs:478
Function
parse_infix_expression_order_of_operations
()
src/parser/mod.rs:402
Function
parse_infix_expressions
()
src/parser/mod.rs:368
Function
parse_let_ident
()
src/parser/mod.rs:282
Function
parse_paren
()
src/parser/mod.rs:438
Function
parse_prefix_expression
()
src/parser/mod.rs:338
Function
precedence
()
src/parser/mod.rs:363
Function
run_bool
()
src/vm/mod.rs:198
Function
run_equals
()
src/vm/mod.rs:204
Function
run_greater_than
()
src/vm/mod.rs:220
Function
run_if
()
src/vm/mod.rs:238
Function
run_infix
()
src/vm/mod.rs:190
Function
run_less_than
()
src/vm/mod.rs:226
Function
run_not_equals
()
src/vm/mod.rs:212
Function
run_prefix
()
src/vm/mod.rs:232
Function
run_variable_declaration
()
src/vm/mod.rs:247