You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the Quil spec contains EBNF grammar as well as examples of valid and invalid program instructions. Examples are often the most intuitive way to get a quick understanding of the grammatical and syntactical rules a glance. Inaccurate documentation can lead to mistrust of the specification. Additionally, the strictness of a well defined and valid grammar provides a valuable source of truth for downstream parsers (see the many parser generators that support EBNF on Wikipedia's comparison of parser generators). We may want to consider a CI step that validates the grammar and examples.
While writing some of the examples in #69 I used https://mdkrajnak.github.io/ebnftest/ to validate both the proposed grammar as well as valid / invalid examples.
@stylewarning also suggested that examples could be validated by using the Quilc Lisp parser.
The text was updated successfully, but these errors were encountered:
Currently, the Quil spec contains EBNF grammar as well as examples of valid and invalid program instructions. Examples are often the most intuitive way to get a quick understanding of the grammatical and syntactical rules a glance. Inaccurate documentation can lead to mistrust of the specification. Additionally, the strictness of a well defined and valid grammar provides a valuable source of truth for downstream parsers (see the many parser generators that support EBNF on Wikipedia's comparison of parser generators). We may want to consider a CI step that validates the grammar and examples.
While writing some of the examples in #69 I used https://mdkrajnak.github.io/ebnftest/ to validate both the proposed grammar as well as valid / invalid examples.
@stylewarning also suggested that examples could be validated by using the Quilc Lisp parser.
The text was updated successfully, but these errors were encountered: