diff --git a/data/test-cases b/data/test-cases index 0423552..fe9ea99 100644 --- a/data/test-cases +++ b/data/test-cases @@ -35,6 +35,7 @@ o, p: a/b//d o, p: a(r) o, p: a/b (r) o, p: e123-E124a +o, p: E123/E124 p\na, b\n\nq\nc # amounts tomaat (30%) diff --git a/lib/food_ingredient_parser/strict/grammar/list.treetop b/lib/food_ingredient_parser/strict/grammar/list.treetop index 7abad0a..6e82bc8 100644 --- a/lib/food_ingredient_parser/strict/grammar/list.treetop +++ b/lib/food_ingredient_parser/strict/grammar/list.treetop @@ -8,13 +8,9 @@ module FoodIngredientParser::Strict::Grammar contains:(ingredient ( ws* ';' ws* ingredient )+ ( ws+ and ws+ ingredient )? ) / contains:(ingredient ( ws* ',' ws* ingredient )+ ( ws+ and ws+ ingredient )? ) / contains:(ingredient ( ws* '.' ws* ingredient )+ ( ws+ and ws+ ingredient )? ) / - list_e_number / - contains:(ingredient ( ws+ and ws+ ingredient )? ) - end - - rule list_e_number contains:(ingredient_simple_e_number ( ws* '/' ws* ingredient_simple_e_number )+ ) / - contains:(ingredient_simple_e_number ( ws* dash ws* ingredient_simple_e_number )+ ) + contains:(ingredient_simple_e_number ( ws* dash ws* ingredient_simple_e_number )+ ) / + contains:(ingredient ( ws+ and ws+ ingredient )? ) end end end diff --git a/lib/food_ingredient_parser/strict/grammar/list_coloned.treetop b/lib/food_ingredient_parser/strict/grammar/list_coloned.treetop index be71bc4..1fdd8f5 100644 --- a/lib/food_ingredient_parser/strict/grammar/list_coloned.treetop +++ b/lib/food_ingredient_parser/strict/grammar/list_coloned.treetop @@ -17,6 +17,7 @@ module FoodIngredientParser::Strict::Grammar end rule list_coloned_inner_list + contains:( ingredient_simple_e_number ( ws* '/' ws* ingredient_simple_e_number )+ ) / contains:( ingredient_simple_e_number ( ws* dash ws* ingredient_simple_e_number )+ ) / contains:( ingredient ( ws* ',' ws* ingredient )* ) end