Context-free grammar of the accident formalism This appendix contains the description of the accident description formalism, in the form of a CFG (Chomsky Formal Grammar). 1 Definition of the general formalism form => staticPart dynamicPart accidentPart staticPart => STATIC leftBracket staticObjectList rightBracket staticObjectList => staticObject | (staticObject staticObjectList) dynamicPart => DYNAMIC leftbracket dynamicObjectList rightBracket dynamicObjectList => dynamicObject | (dynamicObject dynamicObjectList) accidentPart => ACCIDENT leftBracket collisionObjectList rightBracket collisionObjectList => collisionPart | (collisionPart collisionObjectList) 2 Definition of terminals and general grammar rules equals => '=' semicolon => ';' separator => ',' leftBracket => '[' rightBracket => ']' openBracket => '(' closeBracket => ')' id => ID equals semicolon coords => COORD equals openBracket separator closeBracket semicolon 3 Definition of static objects staticObject => roadObject | treeObject | traOEcLightObject | levelCrossing | stopSign roadObject => ROAD leftbracket roadProperties rightBracket roadProperties => KIND equals ( crossroad | straightroad | turn_left | turn_right ) semicolon treeObject => TREE leftBracket treeProperties rightBracket treeProperties => id coords trafficLightObject => LIGHT leftBracket lightProperties rightBracket lightProperties => id colorType coords colorType => COLOR equals (red | orange | green | inactive) semicolon levelCrossing => CROSSING leftBracket coords rightBracket stopSign => STOPSIGN leftBracket coords rightBracket 4 Definition of dynamic objects dynamicObject => VEHICLE leftBracket vehicleProperties rightBracket vehicleProperties => id kind [initDir] [startsign] [endsign] [eventChain] kind => KIND equals (car | truck) semicolon initDir => INITDIRECTION equals (north | south | east | west) semicolon startsign => STARTSIGN equals semicolon endsign => ENDSIGN equals semicolon eventChain => CHAIN leftBracket eventList rightBracket eventList => ((event | criticalEvent) eventList) | (event | criticalEvent) event => EVENT leftBracket eventProperties rightBracket criticalEvent => CRITICAL_EVENT leftBracket eventProperties rightBracket eventProperties => eventKind eventKind => KIND equals ( driving_forward | turn_left | turn_right | stop | overtake | change_lane_left | change_lane_right) semicolon 5 Definition of collision objects collisionPart => COLLISION leftBracket collisionDescription rightBracket collisionDescription => actorDescription victimDescription [coords] actorDescription => ACTOR equals separator vehiclePart semicolon victimDescription => VICTIM equals separator vehiclePart semicolon vehiclePart => (front | rear | leftside | rightside | unknown)