Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions document/core/text/instructions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ The following grammar handles the corresponding update to the :ref:`identifier c
\production{label} & \Tlabel_I &::=&
v{:}\Tid &\Rightarrow& \{\ILABELS~v\} \compose I
& (\iff v \notin I.\ILABELS) \\ &&|&
v{:}\Tid &\Rightarrow& \{\ILABELS~v\} \compose (I \WITH \ILABELS[i] = \epsilon)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
v{:}\Tid &\Rightarrow& \{\ILABELS~v\} \compose (I \WITH \ILABELS[i] = \epsilon)
v{:}\Tid &\Rightarrow& \{\ILABELS~v\} \compose (I \with \ILABELS[i] = \epsilon)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

& (\iff I.\ILABELS[i] = v) \\ &&|&
\epsilon &\Rightarrow& \{\ILABELS~(\epsilon)\} \compose I \\
\end{array}

Expand All @@ -42,6 +44,9 @@ The following grammar handles the corresponding update to the :ref:`identifier c
This effectively shifts all existing labels up by one,
mirroring the fact that control instructions are indexed relatively not absolutely.

If a label with the same name already exists,
then it is shadowed and the earlier label becomes inaccessible.


.. index:: control instructions, structured control, label, block, branch, result type, label index, function index, type index, vector, polymorphism
pair: text format; instruction
Expand Down