Unverified Commit 493d4a87 authored by Gao, Xiang's avatar Gao, Xiang Committed by GitHub
Browse files

Allow parsing negative values (#114)

parent 557a79db
...@@ -126,8 +126,8 @@ def load_atomic_network(filename): ...@@ -126,8 +126,8 @@ def load_atomic_network(filename):
start: inputsize atom_net start: inputsize atom_net
value : INT value : SIGNED_INT
| FLOAT | SIGNED_FLOAT
| "FILE" ":" FILENAME "[" INT "]" | "FILE" ":" FILENAME "[" INT "]"
FILENAME : ("_"|"-"|"."|LETTER|DIGIT)+ FILENAME : ("_"|"-"|"."|LETTER|DIGIT)+
...@@ -137,7 +137,8 @@ def load_atomic_network(filename): ...@@ -137,7 +137,8 @@ def load_atomic_network(filename):
%import common.WORD %import common.WORD
%import common.DIGIT %import common.DIGIT
%import common.INT %import common.INT
%import common.FLOAT %import common.SIGNED_INT
%import common.SIGNED_FLOAT
%import common.CNAME %import common.CNAME
%import common.WS %import common.WS
%ignore WS %ignore WS
...@@ -156,9 +157,9 @@ def load_atomic_network(filename): ...@@ -156,9 +157,9 @@ def load_atomic_network(filename):
v = v[0] v = v[0]
if v.type == 'FILENAME': if v.type == 'FILENAME':
v = v.value v = v.value
elif v.type == 'INT': elif v.type == 'SIGNED_INT' or v.type == 'INT':
v = int(v.value) v = int(v.value)
elif v.type == 'FLOAT': elif v.type == 'SIGNED_FLOAT' or v.type == 'FLOAT':
v = float(v.value) v = float(v.value)
else: else:
raise ValueError('unexpected type') raise ValueError('unexpected type')
...@@ -363,8 +364,8 @@ class Trainer: ...@@ -363,8 +364,8 @@ class Trainer:
start: params network_setup params start: params network_setup params
value : INT value : SIGNED_INT
| FLOAT | SIGNED_FLOAT
| STRING_VALUE | STRING_VALUE
STRING_VALUE : ("_"|"-"|"."|"/"|LETTER)("_"|"-"|"."|"/"|LETTER|DIGIT)* STRING_VALUE : ("_"|"-"|"."|"/"|LETTER)("_"|"-"|"."|"/"|LETTER|DIGIT)*
...@@ -374,7 +375,8 @@ class Trainer: ...@@ -374,7 +375,8 @@ class Trainer:
%import common.WORD %import common.WORD
%import common.DIGIT %import common.DIGIT
%import common.INT %import common.INT
%import common.FLOAT %import common.SIGNED_INT
%import common.SIGNED_FLOAT
%import common.CNAME %import common.CNAME
%import common.WS %import common.WS
%ignore WS %ignore WS
...@@ -393,9 +395,9 @@ class Trainer: ...@@ -393,9 +395,9 @@ class Trainer:
v = v[0] v = v[0]
if v.type == 'STRING_VALUE': if v.type == 'STRING_VALUE':
v = v.value v = v.value
elif v.type == 'INT': elif v.type == 'SIGNED_INT' or v.type == 'INT':
v = int(v.value) v = int(v.value)
elif v.type == 'FLOAT': elif v.type == 'SIGNED_FLOAT' or v.type == 'FLOAT':
v = float(v.value) v = float(v.value)
else: else:
raise ValueError('unexpected type') raise ValueError('unexpected type')
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment