]> mj.ucw.cz Git - eval.git/blobdiff - t/moe/confparser.py
Config parser: added one forgotten WS
[eval.git] / t / moe / confparser.py
index e2f81b884be10e11fd209cd4aa7955dcfad3e7dd..c6c5508b01f64236905a35ee0a13a3f699535354 100644 (file)
@@ -27,7 +27,7 @@ COMMENT = re('#[^\\n]*\\n')
 STATEMENT = CONDITION | OPERATION | SUBTREE
 
 OPERATION = WS VARNAME WS ( '=' | '+=' ) WS EXPRESSION
-SUBTREE = WS VARNAME WS '{' BLOCK '}'
+SUBTREE = WS VARNAME WS '{' BLOCK WS '}'
 CONDITION = WS 'if' FORMULA WS '{' BLOCK WS '}'
 
 FORMULA = WS (( EXPRESSION WS ( '!=' | '==' ) WS EXPRESSION ) | '(' AND WS ')' | '(' OR WS ')' | NOT )
@@ -35,6 +35,8 @@ AND = FORMULA WS 'and' FORMULA
 OR = FORMULA WS 'or' FORMULA
 NOT = WS 'not' FORMULA 
 
+NOTE: ';' or '\n' is currently required even after CONDITION and SUBTREE block 
+  TODO: change to OPERATION only
 NOTE: Formula may contain additional/extra parentheses
 
 EXPRESSION = '"' ( ECHAR | '{' VARNAME '}' )* '"' | re"'[^'\\n]*'"
@@ -44,7 +46,7 @@ VARNAME = re('[a-zA-Z0-9-_]+(\.[a-zA-Z0-9-_]+)*')
 
 import re, types, itertools, logging as log
 import traceback
-import conf
+import moe.conf
 
 class ConfigSyntaxError(conf.ConfigError):
   def __init__(self, msg, fname='<unknown>', line=None, column=None):