grammar XdrEnumGrammar
rule enum_def "enum" space identifier space? enum_body space? ";" <Xdrgen::AST::Definitions::Enum> end rule enum_body "{" space? first_member_n:enum_member additional_members_n:(space? "," space? enum_member )* space? "}" end rule enum_type_spec "enum" space enum_body <Xdrgen::AST::Definitions::NestedEnum> end rule enum_member identifier space? value_n:enum_value? <Xdrgen::AST::Definitions::EnumMember> end rule enum_value "=" space? val:(enum_value_constant / enum_value_alias) end rule enum_value_constant constant end rule enum_value_alias identifier end
end