Matchbox 0.2

Glossary of Terms

Use this page to look up common terms used throughout the Matchbox documentation.

Term Meaning
Argument A value supplied to a function call.
AST Abstract syntax tree; the checked tree of nodes built by the parser and consumed by the compiler.
Bytecode The compact instruction stream emitted by the compiler and executed by the virtual machine.
Built-in Function A function provided by Matchbox, such as print, abs, or max.
Call Frame The VM stack region and metadata used while a function call is running.
Constant Pool A module-owned runtime array of values such as function objects and large integer literals.
Declaration Tells the compiler that a name exists. A variable declaration gives the variable's name and type, and the type determines how much memory Matchbox reserves.
Definition A declaration that also provides the declared thing's contents or implementation. A variable definition gives the variable an initial value; a function definition provides the function's name, parameters, return type, and body. Every definition is also a declaration, but not every declaration is a definition.
Expression Code that produces a value.
Initialization Gives a variable its first value.
Integer A whole-number value represented by the int type.
Parameter A named input in a function definition.
Scope The region of code in which a declared name is available.
Standard Output The default output stream used by print.
Shadowing A local declaration hiding a top-level declaration with the same name.
Stack The virtual machine's fixed-size value storage used for operands, arguments, locals, call metadata, and return values.
Token A source span classified by the lexer, such as an identifier, keyword, operator, delimiter, or literal.
Undefined Behavior A case for which the language does not promise a result, such as division by zero.
Value The runtime representation stored on the stack, in globals, and in the constant pool.
Virtual Machine The bytecode interpreter that executes compiled Matchbox code.