// Build with (after `mkdir gen'): // java demeterf scg-admin.cd scg-admin.beh ./gen --dgp:PrintHeapToString --build include "scg-csp-game.cd"; package gen; Transaction = OfferTrans | AcceptTrans | ReofferTrans | ProvideTrans | SolveTrans "]". OfferTrans = "offer[" ProblemType. AcceptTrans = "accept[" int. ProvideTrans = "provide[" Problem *s int. SolveTrans = "solve[" Solution *s int. ReofferTrans = "reoffer[" int *s double. PlayerTrans = "playertrans[" PlayerID *s List(Transaction) "]". PlayerStore = "playerstore[" List(Challenge) *s "::" *s List(Challenge) "]". PlayerSpec = "playerspec[" String *s
String *s int "]". // For Parsing the PlayerSpecs/Passwords PlayersFile = List(PlayerSpec) EOF. PasswordEntry = "passwd[" *s String *s String *s "]" *l. PasswordFile = List(PasswordEntry) EOF. AdminState = "adminstate[" Map(PlayerID, PlayerSpec) *s Map(PlayerID, PlayerStore) *s Map(PlayerID, Double) *s Round "]". Round = "round[" int *s List(PlayerTrans) "]". Config = "config[" "gamekind:" *s String *s "turnduration:" *s int *s "mindecrement:" *s double *s "]". PlayerContext = "context[" Config *s PlayerID *s double *s "(" List(OfferedChallenge) ")" *s "(" List(OfferedChallenge) ")" *s "(" List(AcceptedChallenge) ")"*s "(" List(ProvidedChallenge) ")" "]".