Browse Source

Fix: Grammar now supports specific strings starting, containing or ending with colons and/or hyphens

Leonardo Di Donato 8 years ago
parent
commit
c6fa19f008
1 changed files with 12 additions and 10 deletions
  1. 12 10
      grammar/Urn.g4

+ 12 - 10
grammar/Urn.g4

@@ -15,7 +15,9 @@ iD
     ;
 
 sS
-    : Part (Colon Part)*
+    : Part (Colon|Hyphen)* sS?
+    | (Colon|Hyphen)+ sS?
+    | Part sS?
     | Urn
     ;
 
@@ -24,19 +26,24 @@ Urn
     ;
 
 Part
-    : IDENTIFIER|CHARS
+    : IDENTIFIER
+    | CHARS
     ;
 
 Colon
     : ':'
     ;
 
+Hyphen
+    : '-'
+    ;
+
 fragment URN
     : [uU][rR][nN]
     ;
 
 fragment IDENTIFIER   
-    : ALPHA_NUMERIC (ALPHA_NUMERIC|HYPHEN)+
+    : ALPHA_NUMERIC (ALPHA_NUMERIC|Hyphen)+
     ;
 
 fragment CHARS
@@ -61,16 +68,11 @@ fragment ALPHA_NUMERIC
     | LETTER 
     ;
 
-fragment HYPHEN
-    : '-'
-    ;
-
 fragment OTHER
     : '('
     | ')'
     | '+'
     | ','
-    | HYPHEN
     | '.'
     | '='
     | '@'
@@ -96,7 +98,7 @@ fragment RESERVED
     ;
 
 fragment TRANSLATION
-    : ALPHA_NUMERIC
-    | OTHER
+    : OTHER
     | RESERVED
+    | ALPHA_NUMERIC
     ;