Update productions to match SPARQL
authorGavin Carothers <gavin@carothers.name>
Mon, 30 Apr 2012 18:24:16 -0700
changeset 268 d301f1691179
parent 267 e105b38c0a78
child 269 f836b229a938
Update productions to match SPARQL
rdf-turtle/turtle.bnf
--- a/rdf-turtle/turtle.bnf	Mon Apr 30 18:13:28 2012 -0700
+++ b/rdf-turtle/turtle.bnf	Mon Apr 30 18:24:16 2012 -0700
@@ -66,60 +66,47 @@
  
 [18] PREFIX ::= "@prefix" 
 
-[70s] IRIREF ::= "<" ( [^<>\"{}|^`\\] - [#x00-#x20] | UCHAR )* ">" 
- 
-[71s] PNAME_NS ::= (PN_PREFIX)? ":" 
+[132s] IRIREF ::= '<' ([^<>"{}|^`\]-[#x00-#x20])* | UCHAR '>'
  
-[72s] PNAME_LN ::= PNAME_NS PN_LOCAL 
+[133s] PNAME_NS ::= PN_PREFIX? ":" 
  
-[73s] BLANK_NODE_LABEL ::= "_:" PN_LOCAL 
+[134s] PNAME_LN ::= PNAME_NS PN_LOCAL 
  
-[76s] LANGTAG ::= BASE 
+[135s] BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)?
+ 
+[19] LANGTAG ::= BASE 
  | PREFIX 
  | "@" [a-zA-Z]+ ( "-" [a-zA-Z0-9]+ )* 
-[77s] INTEGER ::= [0-9]+ 
+[20] INTEGER ::= [+-]? [0-9]+
  
-[78s] DECIMAL ::= [0-9]+ "." [0-9]+ 
+[21] DECIMAL ::= [+-]? [0-9]+ "." [0-9]+ 
  | "." [0-9]+ 
-[79s] DOUBLE ::= [0-9]+ "." [0-9]+ EXPONENT 
+[22] DOUBLE ::= [+-]? [0-9]+ "." [0-9]+ EXPONENT 
  | "." ( [0-9] )+ EXPONENT 
  | ( [0-9] )+ EXPONENT 
-[80s] INTEGER_POSITIVE ::= "+" INTEGER 
- 
-[81s] DECIMAL_POSITIVE ::= "+" DECIMAL 
- 
-[82s] DOUBLE_POSITIVE ::= "+" DOUBLE 
- 
-[83s] INTEGER_NEGATIVE ::= "-" INTEGER 
- 
-[84s] DECIMAL_NEGATIVE ::= "-" DECIMAL 
+  
+[148s] EXPONENT ::= [eE] [+-]? [0-9]+ 
  
-[85s] DOUBLE_NEGATIVE ::= "-" DOUBLE 
- 
-[86s] EXPONENT ::= [eE] [+-]? [0-9]+ 
+[149s] STRING_LITERAL1 ::= '"' ( ( [^#x27#x5C#xA#xD]) | ECHAR | UCHAR )* '"' 
  
-[148s] STRING_LITERAL1 ::= '"' ( ( [^#x27#x5C#xA#xD]) | ECHAR | UCHAR )* '"' 
+[150s] STRING_LITERAL2 ::= '"' ( ( [^#x22#x5C#xA#xD]) | ECHAR | UCHAR )* '"' 
  
-[149s] STRING_LITERAL2 ::= '"' ( ( [^#x22#x5C#xA#xD]) | ECHAR | UCHAR )* '"' 
+[151s] STRING_LITERAL_LONG1 ::= "'''" ( ( "'" | "''" )? ( [^'\] | ECHAR | UCHAR ) )* "'''" 
  
-[89s] STRING_LITERAL_LONG1 ::= "'''" ( ( "'" | "''" )? ( [^'\\] | ECHAR | UCHAR ) )* "'''" 
- 
-[90s] STRING_LITERAL_LONG2 ::= '"""' ( ( '"' | '""' )? ( [^\"\\] | ECHAR | UCHAR ) )* '"""' 
+[152s] STRING_LITERAL_LONG2 ::= '"""' ( ( '"' | '""' )? ( [^"\] | ECHAR | UCHAR ) )* '"""' 
  
 [19] UCHAR ::= ( "\\u" HEX HEX HEX HEX ) 
  | ( "\\U" HEX HEX HEX HEX HEX HEX HEX HEX ) 
 
-[91s] ECHAR ::= "\\" [tbnrf\\\"'] 
- 
-[92s] NIL ::= "(" (WS)* ")" 
+[153s] ECHAR ::= "\" [tbnrf\"'] 
  
-[93s] WS ::= " " 
- | "\t" 
- | "\r" 
- | "\n" 
-[94s] ANON ::= "[" (WS)* "]" 
+[154s] NIL ::= "(" (WS)* ")" 
  
-[95s] PN_CHARS_BASE ::= [A-Z] 
+[155s] WS ::= #x20 | #x9 | #xD | #xA
+
+[156s] ANON ::= "[" (WS)* "]" 
+ 
+[157s] PN_CHARS_BASE ::= [A-Z] 
  | [a-z] 
  | [#00C0-#00D6] 
  | [#00D8-#00F6] 
@@ -133,23 +120,23 @@
  | [#F900-#FDCF] 
  | [#FDF0-#FFFD] 
  | [#10000-#EFFFF] 
-[96s] PN_CHARS_U  ::=  PN_CHARS_BASE 
+[158s] PN_CHARS_U  ::=  PN_CHARS_BASE 
  | '_' 
  | ':'
-[98s] PN_CHARS ::= PN_CHARS_U 
+[160s] PN_CHARS ::= PN_CHARS_U 
  | "-" 
  | [0-9] 
  | #00B7 
  | [#0300-#036F] 
  | [#203F-#2040] 
-[99s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | "." )* PN_CHARS )? 
+[161s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | "." )* PN_CHARS )? 
  
-[100s] PN_LOCAL ::= ( PN_CHARS_U | [0-9] | PLX ) ( ( PN_CHARS | '.' | PLX )*  ( PN_CHARS | PLX ) ) ?
+[162s] PN_LOCAL ::= ( PN_CHARS_U | [0-9] | PLX ) ( ( PN_CHARS | '.' | PLX )*  ( PN_CHARS | PLX ) ) ?
 
-[160s] PLX ::= PERCENT | PN_LOCAL_ESC
+[163s] PLX ::= PERCENT | PN_LOCAL_ESC
 
-[161s] PERCENT ::= '%' HEX HEX
+[164s] PERCENT ::= '%' HEX HEX
 
-[162s] HEX ::= [0-9] | [A-F] | [a-f]
+[165s] HEX ::= [0-9] | [A-F] | [a-f]
 
-[163s] PN_LOCAL_ESC ::= '\\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' )
\ No newline at end of file
+[166s] PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' )
\ No newline at end of file