mechanism primitive |
|
|
|
|
|
parse and create symbol tables |
syntax used in .dsl files |
comments |
begin scope |
$<xxx>__BeginScope |
|
output |
$<xxx>__Output |
|
set field |
$<xxx>__SetField_<yyy>_from_<yyy> |
at first, I thought that ‘field’ might be different from Stack, hence, the <yyy>_from_<yyy> syntax now, make ‘field’ the same as the source stack <yyy>_from_<yyy>> is now redundant, this can be replaced by <yyy> (where ‘from’ is no longer needed in the syntax) |
append |
$<xxx>__AppendFrom_<yyy> |
|
coerce |
$<xxx>__CoerceFrom_<yyy> |
|
|
|
|
use symbol tables |
(all of the above, plus ...) |
|
begin scope using lookup |
$<xxx>__BeginScopeFrom_<yyy> |
|
end scope |
$<xxx>__EndScope |
|
begin mapping |
$<xxx>__BeginMapping |
map means iteration over list |
next |
$<xxx>__Next |
|
end mapping |
$<xxx>__EndMapping |
|
|
|
|
external methods |
|
|
|
$name__GetName |
|
|
$name__Combine |
|
|
$scriptDeclaration__ClearFormalsInBootstrap |
|
|
|
|
|
N.B. “$” is a legal character in an identifier (CL identifier rules) |
|
|
N.B. “_” is a legal character in an identifier (CL identifier rules) |
|