module Slaw
module Grammars grammar Terminals ########## # terminals # eg. 2, 2A, 2b rule number_letter number letter* end rule letter_ordinal letter (letter / digit)* end rule dotted_number_3 number '.' number ('.' number)+ end rule dotted_number_2 # 9.1 # 9.1A # 9.1A1 # NOT: 9.A number '.' number alphanums? end rule number digit+ end rule digit [0-9] end rule letter [a-zA-Z] end rule alphanums [a-zA-Z0-9]+ end ########## # whitespace rule space [ \t]+ end rule whitespace [ \t\n]* end rule empty_line space? newline end rule eol newline empty_line* end rule newline "\n" end end end
end