module FoodFishParser::Strict::Grammar
grammar Words include Common include FishNameLatin include FishNameNL rule word word_abbr / '(sub)'i? !words_to_avoid char+ end rule words word ( word_sep word )* end rule words_no_in_on !( 'in'i / 'op'i !char ) word ( word_sep !( 'in'i / 'op'i !char ) word )* end rule words_no_with !with word ( word_sep !with word )* end rule word_sep ( ws* ( comma / '/' ) ws* ) / ws+ end rule word_abbr ( [a-zA-Z] '.' )+ [a-zA-Z] / [a-zA-Z] '.' ( [a-zA-Z] '.' )+ ![a-zA-Z] end # these words should not be considered, because they indicate a new section rule words_to_avoid ( fish_name_latin / fish_name_nl / 'gevangen'i / 'visgebied'i / 'vangstgebied'i / 'fanggebiet'i / 'vangstmethode'i / 'vangsmethode'i / 'fangmethoden'i / 'fangmethode'i / 'betrapt'i / 'aquacultuurproduct'i / 'gekweekt'i / 'kweekmethode'i / 'kweekmethoden'i / 'd.m.v'i '.'? / 'FAO'i / 'FA0'i ) ![[:alpha:]] end end
end