Deanonymize
grammarware edited this page Jan 19, 2013
·
5 revisions
While labels are only used to name individual productions, selectors can name arbitrary parts of any BGF expression. This command allows to add a selector to the existing production. To avoid disambiguations, the whole production rule is required as an argument, with the newly introduced part being marked.
deanonymize:
marked-production
Selectors can be introduced one at a time or in batch, but each one must be marked separately. For instance, given the input:
A:
first::"a" "a" "a"
After using this transformation:
deanonymize(
A:
first::"a" <second::"a"> <third::"a">
);
Will look like this:
A:
first::"a" second::"a" third::"a"
- Deanonymize is a part of XBGF