grammar RecordParser
# record { key1: text; key2: 42; value1; value2; } rule record 'record' space '{' space? (pair / value)* space? '}' <IcAgent::Ast::Nodes::IcBaseTypeRecord> end rule pair space? identifier space? ':' space? identifier ';' <IcAgent::Ast::Nodes::IcBaseTypeChild> end rule value space? identifier ';' <IcAgent::Ast::Nodes::IcBaseTypeChild> end rule identifier [a-zA-Z0-9_]* end rule space [\s]+ end
end