// Bank structure: import java.lang.*; import java.io.*; import edu.neu.ccs.demeter.dj.*; import java.util.*; Bank = List(BusinessUnit). BusinessUnit = Index Country Location List(Party). Party : Individual | CorporateBody common Agreement PartyId. Individual = "individual" FirstName LastName Date. CorporateBody = "corporate" CompanyName Rating. Agreement = List(Contract) List(Agr_Rule) Day. FirstName = String. LastName = String. CompanyName = String. PartyId = int. Rating : C0 | C1 | C9 | D0 | D1 | D3 | D4. Contract = Index Location List(Portfolio). Agr_Rule = Rule Description. Rule = boolean. Portfolio = Index Description List(Account). Account = List(Posting) AccountID AccountType [Agreement]. Posting : Credit | Debit common Amount Date. AccountID = int. Amount = int. Credit = "credit". Debit = "debit". AccountType : Savings | Checking | Overdraft | CD | Loan. Savings = "savings". Checking = "checking". Overdraft = "overdraft". CD = "cd". Loan = "loan". Description = String. Index = int. Location = String. Country = String. Date = Month Day Year. Month = int. Day = int. Year = int. C0 = "c0". C1 = "c1". C9 = "c9". D0 = "d0". D1 = "d1". D3 = "d3". D4 = "d4". List(S) ~ "(" {S} ")". Main = String.