summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/fix-ng/fix.sdf6
-rw-r--r--src/fix-ng/parser.cc1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/fix-ng/fix.sdf b/src/fix-ng/fix.sdf
index 30f9306863..54f5d5266f 100644
--- a/src/fix-ng/fix.sdf
+++ b/src/fix-ng/fix.sdf
@@ -91,6 +91,10 @@ exports
   lexical syntax
     [a-zA-Z\_][a-zA-Z0-9\_\']* -> Id
     "rec" -> Id {reject}
+    "let" -> Id {reject}
+    "if" -> Id {reject}
+    "then" -> Id {reject}
+    "else" -> Id {reject}
     "true" -> Id {reject}
     "false" -> Id {reject}
     "assert" -> Id {reject}
@@ -108,6 +112,7 @@ exports
   lexical restrictions
     Id -/- [a-zA-Z0-9\_\']
     Int -/- [0-9]
+    Path -/- [a-zA-Z0-9\.\_\-\+\/]
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -126,6 +131,7 @@ exports
 
     "//" Uauthority Uabspath? -> Unetpath
     "/" Upathsegments -> Uabspath
+    "//" Uuric* -> Uabspath {reject}
     Urelsegment Uabspath? -> Urelpath
 
     (Uunreserved | Uescaped | [\;\@\&\=\+\$\,])+ -> Urelsegment
diff --git a/src/fix-ng/parser.cc b/src/fix-ng/parser.cc
index 43678ec971..93afe0627a 100644
--- a/src/fix-ng/parser.cc
+++ b/src/fix-ng/parser.cc
@@ -109,6 +109,7 @@ Expr parseExprFromFile(Path path)
         SG_OUTPUT_ON();
         SG_ASFIX2ME_ON();
         SG_AMBIGUITY_ERROR_ON();
+        SG_FILTER_OFF();
 
         initialised = true;
     }