BNF Syntax : BNF for DGL Statements

BNF for DGL Statements

This section lists the formal syntax (in BNF) for DGL. For ease of use, the DGL statements are presented in alphabetical order.

 
boolean_term |
boolean_expression OR boolean_term
boolean_literal | boolean_identifier |
expression relation_operation expression |
NOT boolean_primary |
boolean_function_call |
(boolean_expression)
boolean_primary |
boolean_term AND boolean_primary
if_statement | select_statement |
for_statement | while_statement |
exit_statement | stop_statement
integer_expression | real_expression |
boolean_expression | string_expression | element_expression | list_expression
file_name |
file_identifier
open_statement |
close_statement |
read_statement
FOR variable IN list_expression
LOOP statements END LOOP;
INCLUDE (file_description [,integer_variable]);
list_component
integer_expression
list_term | & |
list_expression + list_term |
list_expression - list_term |
list_expression & list_term
list_literal | list_identifier |
"{" list_of_components "}" 1|
list_term * list_term |
(list_expression)
integer_literal | real_literal | boolean_literal |
string_literal | list_literal
numeric_term |
numeric_expression + numeric_term|
numeric_expression - numeric_term
abs_numeric_literal | numeric_identifier | nurneric_function_call |
(numeric_expression)
numeric_factor |
numeric_term * numeric_factor |
numeric_term / numeric_factor |
+ numeric_factor | -- numeric_factor |
OPEN (file_identifier, file_name, open_mode[,integer_variable]);
copy_text_statement |
write_statement |
include_statement |
special_procedure_call |
file_statement
PROCEDURE procedure_name [return type];
[{parameter_object_declaration}]
[{variable_declaration}]
BEGIN
[statements]
END;
SEGMENT segment_name;
[{const_var declaration}]
BEGIN
[statements]
END;
SELECT [FIRST | ANY]
[{when_construct_with_any}]
when_construct
[OTHERWISE = > statements]
END SELECT;
integer_variable |
real_variable |
string_variable
execute_call |
report_call |
plot_call |
table_call
ELEMENT | STATE | ACTIVITY |
DATA_STORE | MODULE | TRANSITION |
A_FLOW_LINE | M_FLOW_LINE | EVENT|
DATA_TYPE_FIELD | CONDITION | CONNECTOR | DATA_ITEM | ACTION | INFORMATION_FLOW
string_literal |
string_identifier |
string_function_call |
string_expression + string_expression
{when sentence}
[WHEN ANY => statements]
{when sentence}
[WHEN ANY => statements]
[WHILE boolean_expression]
LOOP statements END LOOP;
WRITE ([file_identifier,]
{write_expression});
Note: The quotation marks indicate that the braces here are not BNF notation, but are the actual brace characters themselves.