BNF

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.

alphanumeric

[a-zA-Z][a-zA-Z0-9_]*

barename

[a-zA-Z_][a-zA-Z0-9_]*

barename_csl

"," barename barename_csl

"."

declaration

"@base" explicituri "."

"@keywords" barename_csl

"@prefix" qname explicituri "."

declaration_s

declaration declaration_s

void

existential

"@forSome" symbol_csl

existential_s

existential existential_s

void

explicituri

<[^>].*>

langcode

[a-zA-Z0-9]+(-[a-zA-Z0-9]+)?

n3-rdfDocument

declaration_s existential_s statements_optional EOF

node_object

numericliteral

string

symbol

"[" propertylist "]"

node_subject

symbol

"(" objectlist ")"

"[" propertylist "]"

numericliteral

[-+]?[0-9]+(\.[0-9]+)?(e[-+]?[0-9]+)?

object

node_object pathtail

objectlist

object objectlist

void

objecttail

"," object objecttail

void

pathtail

"!" verb pathtail

"^" verb pathtail

void

prop
propertylist

verb object objecttail propertylisttail

void

propertylisttail

";" propertylist

void

qname

(([a-zA-Z_][a-zA-Z0-9_]*)?:)?([a-zA-Z_][a-zA-Z0-9_]*)?

statement

subject propertylist

statementlist

statement statementtail

void

statements_optional

statement "." statements_optional

void

statementtail

"." statementlist

void

string

("""[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*""")|("[^"\\]*(?:\\.[^"\\]*)*")

subject

node_subject "!" pathtail

numericliteral "^" verb pathtail

string "^" verb pathtail

symbol

explicituri

qname

symbol_csl

"," symbol symbol_csl

"."

verb

prop

"="

"@a"

"@has" prop