Productions are in normal type, linked to their definitions.
Regular expressions are in italics
Literal characters in quoted in bold
void means an empty production.
[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-]*
void
"," barename barename_csl_tail
void
"@false"
"@true"
[0-9][0-9]-[0-9][0-9]-[0-9][0-9]Z?
[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9](T[0-9][0-9]:[0-9][0-9](:[0-9][0-9](\.[0-9]*)?)?)?Z?
[-+]?[0-9]+\.[0-9]*
"@base" explicituri
"@keywords" barename_csl
"@prefix" prefix explicituri
[-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)
"@" langcode
"^^" symbol
void
"@forSome" symbol_csl
<[^>]*>
[-+]?[0-9]+
[a-z]+(-[a-z0-9]+)*
"," object objecttail
void
"(" pathlist ")"
"[" propertylist "]"
"{" formulacontent "}"
void
"!" expression
"^" expression
void
"<="
"="
"=>"
"@a"
"@has" expression
"@is" expression "@of"
([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-]*)?:
predicate object objecttail propertylisttail
void
";" propertylist
void
(([A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-]*)?:)?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-]*
\?[A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-][\-0-9A-Z_a-z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-]*
integer "/" unsignedint
void
statement "." statements_optional
void
"." statementlist
void
("""[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*""")|("[^"\\]*(?:\\.[^"\\]*)*")
void
void
"@forAll" symbol_csl
[0-9]+