Asm-stmt
Fixtype of assembler statements.
This is a product type introduced by fty::defprod.
Fields
- uscores — keyword-uscores
- quals — asm-qual-list
- template — stringlit-list
- num-colons — natp
- outputs — asm-output-list
- inputs — asm-input-list
- clobbers — asm-clobber-list
- labels — ident-list
This is a GCC extension.
Our abstract syntax of assembler statements
is based on their definition in the ABNF grammar,
which is in turn derived from the GCC documentation.
As in the grammar,
we unify the representation of basic and extended assembler statements.
The grammar contains four nested optional parts (output operands etc.);
the nesting is such that any prefix of the sequence of four parts,
ranging from no parts to all four parts, may be present.
In the abstract syntax, we include a component
that counts the number of parts, or equivalently the number of colons,
since each part starts with a colon.
Then each part consists of a list of things, four lists, one per part.
If num-colons is less than 4,
the fourth list must be empty;
if num-colons is less than 3,
the fourth and third lists must be empty;
and so on, but we do not explicitly capture
these constraints in the fixtype.
Subtopics
- Make-asm-stmt
- Basic constructor macro for asm-stmt structures.
- Asm-stmt-equiv
- Basic equivalence relation for asm-stmt structures.
- Change-asm-stmt
- Modifying constructor for asm-stmt structures.
- Asm-stmtp
- Recognizer for asm-stmt structures.
- Asm-stmt->clobbers
- Get the clobbers field from a asm-stmt.
- Asm-stmt->uscores
- Get the uscores field from a asm-stmt.
- Asm-stmt->template
- Get the template field from a asm-stmt.
- Asm-stmt->outputs
- Get the outputs field from a asm-stmt.
- Asm-stmt->num-colons
- Get the num-colons field from a asm-stmt.
- Asm-stmt->labels
- Get the labels field from a asm-stmt.
- Asm-stmt->inputs
- Get the inputs field from a asm-stmt.
- Asm-stmt->quals
- Get the quals field from a asm-stmt.
- Asm-stmt-fix
- Fixing function for asm-stmt structures.
- Asm-stmt-count
- Measure for recurring over asm-stmt structures.