<!-- EvoSpec language $Revision: 1.2 $ -->

<!ELEMENT ea ( initial, pop?) >
<!ATTLIST ea version NMTOKEN #REQUIRED >

<!ELEMENT initial ( pop?, op+ ) >

<!ELEMENT op ( param|code|op )+ >
<!ATTLIST op name NMTOKEN #REQUIRED >
<!ATTLIST op rate NMTOKEN #IMPLIED >
<!ATTLIST op type NMTOKEN #IMPLIED >

<!ELEMENT param ( param* ) >
<!ATTLIST param name NMTOKEN #REQUIRED >
<!ATTLIST param value NMTOKEN #IMPLIED >

<!ELEMENT src ( #PCDATA ) >

<!ELEMENT pop ( param*|section*|indi* ) >
<!ATTLIST pop size NMTOKEN #IMPLIED >

<!ELEMENT section ( param+ ) >
<!ATTLIST section name NMTOKEN #REQUIRED >

<!ELEMENT indi ( atom+ ) >
<!ATTLIST indi type NMTOKEN #REQUIRED >
<!ATTLIST indi fitness NMTOKEN #IMPLIED >

<!ELEMENT atom ( #PCDATA ) >

<!ELEMENT code ( src ) >
<!ATTLIST code language NMTOKEN #REQUIRED >
<!ATTLIST code type NMTOKEN #REQUIRED >