grammar TomlRB::Arrays

include TomlRB::Primitive

rule array
  ("[" array_comments (elements)? space ","? array_comments "]" indent?) <TomlRB::ArrayParser>
end

rule array_comments
  (indent? comment* indent?)
end

rule elements
  float_array | string_array | array_array | integer_array | datetime_array | bool_array
end

rule float_array
  ((exponent | float) (space "," array_comments (exponent | float))*)
end

rule string_array
  (string (space "," array_comments string)*)
end

rule array_array
  (array (space "," array_comments array)*)
end

rule integer_array
  (integer (space "," array_comments integer)*)
end

rule datetime_array
  (datetime (space "," array_comments datetime)*)
end

rule bool_array
  (bool (space "," array_comments bool)*)
end

end