8.10
3.1.3 v2 Register Allocation Languages
(require cpsc411/langs/v2-reg-alloc) | package: cpsc411-lib |
asm-lang-v2/undead : grammar?
p | ::= | (module info tail) | ||
info | ::= | (#:from-contract (info/c (locals (aloc ...)) (undead-out undead-set-tree?))) | ||
tail | ::= | (halt triv) | ||
| | (begin effect ... tail) | |||
effect | ::= | (set! aloc triv) | ||
| | (set! aloc_1 (binop aloc_1 triv)) | |||
| | (begin effect ... effect) | |||
triv | ::= | aloc | ||
| | int64 | |||
binop | ::= | * | ||
| | + | |||
aloc | ::= | aloc? | ||
int64 | ::= | int64? |
procedure
(asm-lang-v2/undead? a) → boolean?
a : any/c
Decides whether a is a valid program in the asm-lang-v2/undead grammar, represented as a quoted datum. The first non-terminal in the grammar defines valid programs.
procedure
a : asm-lang-v2/undead?
Evaluates a asm-lang-v2/undead program to a value.
asm-lang-v2/conflicts : grammar?
p | ::= | (module info tail) | ||
info | ::= | (#:from-contract (info/c (locals (aloc ...)) (conflicts ((aloc (aloc ...)) ...)))) | ||
tail | ::= | (halt triv) | ||
| | (begin effect ... tail) | |||
effect | ::= | (set! aloc triv) | ||
| | (set! aloc_1 (binop aloc_1 triv)) | |||
| | (begin effect ... effect) | |||
triv | ::= | aloc | ||
| | int64 | |||
binop | ::= | * | ||
| | + | |||
aloc | ::= | aloc? | ||
int64 | ::= | int64? |
procedure
a : any/c
Decides whether a is a valid program in the asm-lang-v2/conflicts grammar, represented as a quoted datum. The first non-terminal in the grammar defines valid programs.
procedure
a : asm-lang-v2/conflicts?
Evaluates a asm-lang-v2/conflicts program to a value.