//program.cd // ============================================================ // BusRoute.cd : Class dictionary for bus routes. // Written by Ali Ozmez for the COM3360 project. // Last update on Tue Nov 28 17:11:12 1995. // ============================================================ //rewritten for demjava by Binoy Samuel : 05/15/97 BusRoute = "BusRoute:" RouteName "total" "route" "length" ":" RouteLen "consisting" "of" "bus" "stops" ":" BusStop_List "with" "assigned" "busses" ":" Bus_List. BusStop = StopId "at:" RouteLoc // clockwise dist. from origin "with" "waiting" "list" ":" Person_List. Bus = BusId "at:" RouteLoc // clockwise dist. from origin [ "currently" "at" "stop" ":" StopId] "capacity:" BusCapac "speed:" BusSpeed "carrying" "passenger(s)" ":" Person_List. Person = PersonId "destination:" StopId. // id of the dest. stop BusStop_List ~ "(" { BusStop } ")". Bus_List ~ "(" { Bus } ")". Person_List ~ "(" { Person } ")". RouteName = String. RouteLen = Integer "ft". RouteLoc = Integer "ft". BusCapac = Integer "passengers". BusSpeed = Integer "ft/min". StopId = Ident. BusId = Ident. PersonId = Ident. noparse //visitors visitors v_simulate = BusRoute. v_drop_passengers = StopId Person_List. v_load_passengers = BusStop Person_List. v_find_stop = BusStop StopId. v_count_passengers = Integer. v_give_passengers = Person_List Integer Person_List. v_any_stop_around = BusStop Integer Integer. v_proceed_to = Integer. v_have_stop_request = Integer StopId. v_anybody_waiting = Boolean. v_get_len = Integer. v_get_loc = Integer. v_get_cap = Integer. v_get_spd = Integer. v_bus_person : v_drop_passengers | v_have_stop_request. v_bus_personlist : v_load_passengers | v_count_passengers. v_busroute_busstop : v_find_stop | v_any_stop_around. v_bus_routeloc : v_proceed_to | v_get_loc. v_person =. v_printall =. v_nonempty =Person_List. endvisitors Main =.