8.10
4.1.6 v5 Languages
|   p |   | ::= |   | (module (define x (lambda (x ...) tail)) ... tail) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop triv triv) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (let ([x value] ...) pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | value | 
|   |   | | |   | (let ([x value] ...) tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   | | |   | (call x triv ...) | 
|   |   |   |   |   | 
|   value |   | ::= |   | triv | 
|   |   | | |   | (binop triv triv) | 
|   |   | | |   | (let ([x value] ...) value) | 
|   |   | | |   | (if pred value value) | 
|   |   |   |   |   | 
|   triv |   | ::= |   | x | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   x |   | ::= |   | name? | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
values-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module (define label (lambda (aloc ...) tail)) ... tail) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop opand opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (let ([aloc value] ...) pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | value | 
|   |   | | |   | (let ([aloc value] ...) tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   | | |   | (call triv opand ...) | 
|   |   |   |   |   | 
|   value |   | ::= |   | triv | 
|   |   | | |   | (binop opand opand) | 
|   |   | | |   | (let ([aloc value] ...) value) | 
|   |   | | |   | (if pred value value) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | aloc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
values-unique-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | | (module (define label (lambda (aloc ...) tail)) ... |  |         tail) |  
  | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop opand opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | value | 
|   |   | | |   | (call triv opand ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   value |   | ::= |   | triv | 
|   |   | | |   | (binop opand opand) | 
|   |   | | |   | (begin effect ... value) | 
|   |   | | |   | (if pred value value) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! aloc value) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | aloc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
imp-mf-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | | (module (define label (lambda (aloc ...) tail)) ... |  |         tail) |  
  | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop opand opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | value | 
|   |   | | |   | (call triv opand ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   value |   | ::= |   | triv | 
|   |   | | |   | (binop opand opand) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! aloc value) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | aloc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
proc-imp-cmf-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module (define label tail) ... tail) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop opand opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | value | 
|   |   | | |   | (jump trg loc ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   value |   | ::= |   | triv | 
|   |   | | |   | (binop opand opand) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc value) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | rloc | 
|   |   | | |   | aloc | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   rloc |   | ::= |   | register? | 
|   |   | | |   | fvar? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
imp-cmf-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module info (define label info tail) ... tail) | 
|   |   |   |   |   | 
|   info |   | ::= |   | info? | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg loc ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | rloc | 
|   |   | | |   | aloc | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   rloc |   | ::= |   | register? | 
|   |   | | |   | fvar? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
asm-pred-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module info (define label info tail) ... tail) | 
|   |   |   |   |   | 
|   info |   | ::= |   | (#:from-contract (info/c (locals (aloc ...)))) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg loc ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | rloc | 
|   |   | | |   | aloc | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   rloc |   | ::= |   | register? | 
|   |   | | |   | fvar? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
asm-pred-lang-v5/locals grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module info (define label info tail) ... tail) | 
|   |   |   |   |   | 
|   info |   | ::= |   | (#:from-contract (info/c (locals (aloc ...)) (undead-out undead-set-tree/rloc?))) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg loc ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | rloc | 
|   |   | | |   | aloc | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   rloc |   | ::= |   | register? | 
|   |   | | |   | fvar? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
asm-pred-lang-v5/undead grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module info (define label info tail) ... tail) | 
|   |   |   |   |   | 
|   info |   | ::= |   | (#:from-contract (info/c (locals (aloc ...)) (conflicts ((loc (loc ...)) ...)))) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg loc ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | rloc | 
|   |   | | |   | aloc | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   rloc |   | ::= |   | register? | 
|   |   | | |   | fvar? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
asm-pred-lang-v5/conflicts grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module info (define label info tail) ... tail) | 
|   |   |   |   |   | 
|   info |   | ::= |   | (#:from-contract (info/c (locals (aloc ...)) (assignment ((aloc rloc) ...)))) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg loc ...) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | rloc | 
|   |   | | |   | aloc | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   rloc |   | ::= |   | register? | 
|   |   | | |   | fvar? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
asm-pred-lang-v5/assignments grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module (define label tail) ... tail) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   | | |   | (begin effect ... pred) | 
|   |   | | |   | (if pred pred pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred tail tail) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (begin effect ...) | 
|   |   | | |   | (if pred effect effect) | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   loc |   | ::= |   | reg | 
|   |   | | |   | fvar | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   reg |   | ::= |   | rsp | 
|   |   | | |   | rbp | 
|   |   | | |   | rax | 
|   |   | | |   | rbx | 
|   |   | | |   | rcx | 
|   |   | | |   | rdx | 
|   |   | | |   | rsi | 
|   |   | | |   | rdi | 
|   |   | | |   | r8 | 
|   |   | | |   | r9 | 
|   |   | | |   | r12 | 
|   |   | | |   | r13 | 
|   |   | | |   | r14 | 
|   |   | | |   | r15 | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   fvar |   | ::= |   | fvar? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
nested-asm-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module b ... b) | 
|   |   |   |   |   | 
|   b |   | ::= |   | (define label tail) | 
|   |   |   |   |   | 
|   pred |   | ::= |   | (relop loc opand) | 
|   |   | | |   | (true) | 
|   |   | | |   | (false) | 
|   |   | | |   | (not pred) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if pred (jump trg) (jump trg)) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | reg | 
|   |   | | |   | fvar | 
|   |   |   |   |   | 
|   reg |   | ::= |   | rsp | 
|   |   | | |   | rbp | 
|   |   | | |   | rax | 
|   |   | | |   | rbx | 
|   |   | | |   | rcx | 
|   |   | | |   | rdx | 
|   |   | | |   | rsi | 
|   |   | | |   | rdi | 
|   |   | | |   | r8 | 
|   |   | | |   | r9 | 
|   |   | | |   | r12 | 
|   |   | | |   | r13 | 
|   |   | | |   | r14 | 
|   |   | | |   | r15 | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   aloc |   | ::= |   | aloc? | 
|   |   |   |   |   | 
|   fvar |   | ::= |   | fvar? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
Decides whether 
a is a valid program in the 
block-pred-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (module b ... b) | 
|   |   |   |   |   | 
|   b |   | ::= |   | (define label tail) | 
|   |   |   |   |   | 
|   tail |   | ::= |   | (halt opand) | 
|   |   | | |   | (jump trg) | 
|   |   | | |   | (begin effect ... tail) | 
|   |   | | |   | (if (relop loc opand) (jump trg) (jump trg)) | 
|   |   |   |   |   | 
|   effect |   | ::= |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | reg | 
|   |   | | |   | fvar | 
|   |   |   |   |   | 
|   reg |   | ::= |   | rsp | 
|   |   | | |   | rbp | 
|   |   | | |   | rax | 
|   |   | | |   | rbx | 
|   |   | | |   | rcx | 
|   |   | | |   | rdx | 
|   |   | | |   | rsi | 
|   |   | | |   | rdi | 
|   |   | | |   | r8 | 
|   |   | | |   | r9 | 
|   |   | | |   | r12 | 
|   |   | | |   | r13 | 
|   |   | | |   | r14 | 
|   |   | | |   | r15 | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
|   |   |   |   |   | 
|   fvar |   | ::= |   | fvar? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
Decides whether 
a is a valid program in the 
block-asm-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (begin s ...) | 
|   |   |   |   |   | 
|   s |   | ::= |   | (halt opand) | 
|   |   | | |   | (set! loc triv) | 
|   |   | | |   | (set! loc_1 (binop loc_1 opand)) | 
|   |   | | |   | (jump trg) | 
|   |   | | |   | (with-label label s) | 
|   |   | | |   | (compare loc opand) | 
|   |   | | |   | (jump-if relop trg) | 
|   |   |   |   |   | 
|   triv |   | ::= |   | opand | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   opand |   | ::= |   | loc | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   trg |   | ::= |   | loc | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   loc |   | ::= |   | reg | 
|   |   | | |   | fvar | 
|   |   |   |   |   | 
|   reg |   | ::= |   | rsp | 
|   |   | | |   | rbp | 
|   |   | | |   | rax | 
|   |   | | |   | rbx | 
|   |   | | |   | rcx | 
|   |   | | |   | rdx | 
|   |   | | |   | rsi | 
|   |   | | |   | rdi | 
|   |   | | |   | r8 | 
|   |   | | |   | r9 | 
|   |   | | |   | r12 | 
|   |   | | |   | r13 | 
|   |   | | |   | r14 | 
|   |   | | |   | r15 | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
|   |   |   |   |   | 
|   fvar |   | ::= |   | fvar? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
Decides whether 
a is a valid program in the 
para-asm-lang-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (begin s ...) | 
|   |   |   |   |   | 
|   s |   | ::= |   | (set! fvar int32) | 
|   |   | | |   | (set! fvar trg) | 
|   |   | | |   | (set! reg loc) | 
|   |   | | |   | (set! reg triv) | 
|   |   | | |   | (set! reg_1 (binop reg_1 int32)) | 
|   |   | | |   | (set! reg_1 (binop reg_1 loc)) | 
|   |   | | |   | (with-label label s) | 
|   |   | | |   | (jump trg) | 
|   |   | | |   | (compare reg opand) | 
|   |   | | |   | (jump-if relop label) | 
|   |   |   |   |   | 
|   trg |   | ::= |   | reg | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   triv |   | ::= |   | trg | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   opand |   | ::= |   | reg | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   loc |   | ::= |   | reg | 
|   |   | | |   | fvar | 
|   |   |   |   |   | 
|   reg |   | ::= |   | rsp | 
|   |   | | |   | rbp | 
|   |   | | |   | rax | 
|   |   | | |   | rbx | 
|   |   | | |   | rcx | 
|   |   | | |   | rdx | 
|   |   | | |   | rsi | 
|   |   | | |   | rdi | 
|   |   | | |   | r8 | 
|   |   | | |   | r9 | 
|   |   | | |   | r10 | 
|   |   | | |   | r11 | 
|   |   | | |   | r12 | 
|   |   | | |   | r13 | 
|   |   | | |   | r14 | 
|   |   | | |   | r15 | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
|   |   |   |   |   | 
|   int32 |   | ::= |   | int32? | 
|   |   |   |   |   | 
|   fvar |   | ::= |   | fvar? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
Decides whether 
a is a valid program in the 
paren-x64-fvars-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.
|   p |   | ::= |   | (begin s ...) | 
|   |   |   |   |   | 
|   s |   | ::= |   | (set! addr int32) | 
|   |   | | |   | (set! addr trg) | 
|   |   | | |   | (set! reg loc) | 
|   |   | | |   | (set! reg triv) | 
|   |   | | |   | (set! reg_1 (binop reg_1 int32)) | 
|   |   | | |   | (set! reg_1 (binop reg_1 loc)) | 
|   |   | | |   | (with-label label s) | 
|   |   | | |   | (jump trg) | 
|   |   | | |   | (compare reg opand) | 
|   |   | | |   | (jump-if relop label) | 
|   |   |   |   |   | 
|   trg |   | ::= |   | reg | 
|   |   | | |   | label | 
|   |   |   |   |   | 
|   triv |   | ::= |   | trg | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   opand |   | ::= |   | reg | 
|   |   | | |   | int64 | 
|   |   |   |   |   | 
|   loc |   | ::= |   | reg | 
|   |   | | |   | addr | 
|   |   |   |   |   | 
|   reg |   | ::= |   | rsp | 
|   |   | | |   | rbp | 
|   |   | | |   | rax | 
|   |   | | |   | rbx | 
|   |   | | |   | rcx | 
|   |   | | |   | rdx | 
|   |   | | |   | rsi | 
|   |   | | |   | rdi | 
|   |   | | |   | r8 | 
|   |   | | |   | r9 | 
|   |   | | |   | r10 | 
|   |   | | |   | r11 | 
|   |   | | |   | r12 | 
|   |   | | |   | r13 | 
|   |   | | |   | r14 | 
|   |   | | |   | r15 | 
|   |   |   |   |   | 
|   addr |   | ::= |   | (fbp - dispoffset) | 
|   |   |   |   |   | 
|   fbp |   | ::= |   | frame-base-pointer-register? | 
|   |   |   |   |   | 
|   binop |   | ::= |   | * | 
|   |   | | |   | + | 
|   |   |   |   |   | 
|   relop |   | ::= |   | < | 
|   |   | | |   | <= | 
|   |   | | |   | = | 
|   |   | | |   | >= | 
|   |   | | |   | > | 
|   |   | | |   | != | 
|   |   |   |   |   | 
|   int64 |   | ::= |   | int64? | 
|   |   |   |   |   | 
|   int32 |   | ::= |   | int32? | 
|   |   |   |   |   | 
|   dispoffset |   | ::= |   | dispoffset? | 
|   |   |   |   |   | 
|   label |   | ::= |   | label? | 
Decides whether 
a is a valid program in the 
paren-x64-v5 grammar, represented as a 
quoted datum. The first non-terminal in the grammar defines valid programs.