Below are visualizations of all our scope tests for this language. These were created primarily for testing purposes rather than as documentation. There are quite a few, and they may feel a bit overwhelming from a documentation standpoint.
Scopes
Argument list
1. Argument list: Actual empty
An empty list of arguments in a function call. Insertion delimiter should be empty.
2. Argument list: Actual single line
A single line list of arguments in a function call
3. Argument list: Formal empty
An empty list of parameters in a function declaration. Insertion delimiter should be empty.
4. Argument list: Formal multi line
A multi line list of parameters in a function declaration. Insertion delimiter should include new line.
5. Argument list: Formal single line
A single line list of parameters in a function declaration
Argument or parameter
1. Argument: Actual multi line
A multiline argument in a function call. Insertion delimiter should include new line.
2. Argument: Actual single line
A single line argument in a function call
3. Argument: Formal multi line
A multi line parameter in a function declaration. Insertion delimiter should include new line.
4. Argument: Formal single line
A single line parameter in a function declaration
5. Argument: Formal (iteration)
Iteration scope for formal parameters in a function declaration: the parameters list. The domain should be the entire function.
Function call
1. Function call
A function call
Function callee
1. Function callee
The function being called in a function call
Name
1. Name: Argument formal
Name of a parameter in a function declaration
2. Name: Assignment
Name (LHS) of an assignment
3. Name: Function
Name of a function
Named function
1. Named function
A named function declaration
Statement
1. Statement: Assignment
An assignment statement
Type
1. Type: Argument formal
Type of formal parameter in a function declaration