Backus-Naur form sevents-symplegades language:

<letter> ::= a | b | c |... z | A | B | C | ... Z |  |  |  ...
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8| 9
<arithmetic_operator> ::= + | - | * | /
<logic_operator> ::= && | || | ^
<compare_operator> ::= > | >= | < | <= | ==
<operator> ::= ! | = | <arithmetic_operator> | <logic_operator> | <compare_perator>
<int_value > ::= {<digit>}+
<double_value> ::= <int_value>.<int_value> | <int_value>e + | -<int_value>
<boolean_value> ::= true | false
<type> ::= void | int | double | boolean
<identifier> ::= <letter> {<letter> | <digit>}
<white_space> ::= ; | , |   |<tab>
<int_function> ::= getTime
<void_function> ::= setSleep("Event_Name") | setWake("Event_Name")
<boolean_function>::= isSleep("Event_Name") | isRun("Event_Name") | isFinished("Event_Name") | wasEvent("Event_Name")
<function> ::= <int_function> | <void_function> | <boolean_function>
<constant> ::= <identifier>
<variable> ::= <identifier>
<constant_declaration> ::= <identifier> = <int_value> | <double_value> | <boolean_value> | <constant>
<variable_declaration> ::= <identifier> [= <int_value> | <double_value> | <boolean_value> | <constant>]
<expression> ::= <function> | <int_value> | <double_value> | <boolean_value> | <constant> | <variable> | (<expression>) | <variable> = <expression> | <expression> <white_space> <arithmetic_operator> | <compare_operator> | <logic_operator> <white_space> <expression> | !<expression>  '\n'
<program _head> ::= [var {<type> {<variable_declaration>}} | 
const {<type> {<constant_declaration>}}] begin
<event_head> ::= name = "Event_name" cond = <expression> 
{name = "Event_name" | cond = <expression> | priority = <expression> | probability = <expression> | delay = <expression>}
<event_body> ::= {<expression>}
<event_description> ::= event <event_head> body <event_body>end'\n'
<program > ::= <program_head> {<event_description>} 
