SITE gammar rules of SDL'92/ASN.1 parser
/************************************************************
* *** Copyright (c) Humboldt University of Berlin, Germany,
* *** Department of Computer Science.
* *** All rights reserved.
*
* Official syntax rules of the SITE component 'sdl-parser'
* without error stabilization and semantical actions
*
************************************************************/
Jump to startsymbol (sdl_specification)
typereference :
TYPEREFERENCE
;
left_typereference :
LEFTTYPEREFERENCE
;
valident :
VALIDENT
;
ASN1ModuleDefinition :
typereference ObjectIdentifierValue DEFINITIONS TagDefault ASSIGN MODBEGIN Exports Imports opt_AssignmentList END
| typereference DEFINITIONS TagDefault ASSIGN MODBEGIN Exports Imports opt_AssignmentList END
;
TagDefault :
/* empty */
| EXPLICIT TAGS
| IMPLICIT TAGS
;
AssignedIdentifier :
/* empty */
| ObjectIdentifierValue
;
Exports :
/* empty */
| EXPORTS SymbolList ';'
| EXPORTS ';'
;
Imports :
/* empty */
| IMPORTS SymbolsImported ';'
;
SymbolsImported :
/* empty */
| SymbolsImported SymbolsFromModule
;
SymbolsFromModule :
SymbolList FROM typereference AssignedIdentifier
;
SymbolList :
Symbol
| SymbolList ',' Symbol
;
Symbol :
typereference
| valident
| OPERATION
;
AssignmentList :
Assignment
| AssignmentList Assignment
;
opt_AssignmentList :
/* empty */
| AssignmentList
;
Assignment :
Typeassignment _Opt_Colon
| Valueassignment _Opt_Colon
| MacroDefinition _Opt_Colon
;
_Opt_Colon :
/* empty */
| ';'
;
Typeassignment :
left_typereference ASSIGN Type
| typereference ASSIGN Type
;
Type :
ASNType
| MacroType
;
MacroType :
OperationType
| ErrorType
;
ASNType :
BuiltinType
| BuiltinType SubtypeSpecList
| _Type
;
_Type :
SequenceOfType
| SetOfType
| DefinedType
| DefinedType SubtypeSpecList
| SelectionType
| TaggedType
;
BuiltinType :
BooleanType
| IntegerType
| BitStringType
| OctetStringType
| NullType
| SequenceType
| SetType
| ChoiceType
| AnyType
| ObjectIdentifierType
| ExternalType
| EnumeratedType
| RealType
;
NamedType :
valident Type
| Type
;
ModuleReference :
MODULEREFERENCE '.'
;
DefinedType :
typereference
| ModuleReference typereference
;
BooleanType :
BOOLEAN
;
IntegerType :
INTEGER
| INTEGER '{' NamedNumberList '}'
;
EnumeratedType :
ENUMERATED '{' NamedNumberList '}'
;
RealType :
REAL
;
BitStringType :
BIT STRING
| BIT STRING '{' NamedNumberList '}'
;
OctetStringType :
OCTET STRING
;
NullType :
NUL
;
SequenceType :
SEQUENCE '{' ExtendedElementeTypeList '}'
| SEQUENCE '{' '}'
;
SequenceOfType :
SEQUENCE OF ASNType
| SEQUENCE SizeConstraint OF ASNType
| SEQUENCE
;
SetType :
SET '{' ExtendedElementeTypeList '}'
| SET '{' '}'
;
SetOfType :
SET OF ASNType
| SET SizeConstraint OF ASNType
| SET
;
ChoiceType :
CHOICE '{' AlternativeTypeList '}'
;
SelectionType :
valident LT ASNType
;
TaggedType :
Tag ASNType
| Tag IMPLICIT ASNType
| Tag EXPLICIT ASNType
;
AnyType :
ANY
| ANY DEFINED BY valident
;
ObjectIdentifierType :
OBJECT IDENTIFIER
;
ExternalType :
EXTERNAL
;
NamedNumberList :
NamedNumber
| NamedNumberList ',' NamedNumber
;
NamedNumber :
valident '(' ASN1Value ')'
;
ExtendedElementeTypeList :
ElementeTypeList
| ElementeTypeList ',' DotDotDot
| DotDotDot
;
ElementeTypeList :
ElementeType
| ElementeTypeList ',' ElementeType
;
ElementeType :
NamedType
| NamedType OPTIONAL
| NamedType DEFAULT ASN1Value
| COMPONENTS OF Type
;
AlternativeTypeList :
NamedType
| AlternativeTypeList ',' NamedType
;
Tag :
'[' UNIVERSAL ClassNumber ']'
| '[' APPLICATION ClassNumber ']'
| '[' PRIVATE ClassNumber ']'
| '[' ClassNumber ']'
;
ClassNumber :
NUMBER
| valident
| ModuleReference valident
;
Valueassignment :
valident Type ASSIGN ASN1Value
| valident LeftTypeReference ASSIGN ASN1Value
;
LeftTypeReference :
left_typereference
;
ASN1Value :
NamedValue
| AnyValue
;
_Value :
BooleanValue
| IntegerValue
| StringValue
| NullValue
| RealValue
| StructuredValue
| ObjectIdentifierValue
| DefinedValue
;
NamedValue :
_Value
| valident _Value
;
DefinedValue :
ModuleReference valident
| valident
;
BooleanValue :
TRUE
| FALSE
;
RealValue :
NumericRealValue
| SpecialRealValue
;
NullValue :
NUL
;
ObjectIdentifierValue :
'{' FirstObjIdComponent ObjIdComponentList '}'
;
FirstObjIdComponent :
valident
| NUMBER
| valident '(' IntegerComponent ')'
;
StructuredValue :
'{' '}'
| '{' _Value ',' NamedValueList '}'
| '{' BooleanValue '}'
| '{' StringValue '}'
| '{' NullValue '}'
| '{' RealValue '}'
| '{' StructuredValue '}'
| '{' ObjectIdentifierValue '}'
;
ObjIdComponentList :
/* empty */
| ObjIdComponentList ObjIdComponent
;
IntegerComponent :
DefinedValue
| NUMBER
;
ObjIdComponent :
valident
| valident '(' IntegerComponent ')'
| NUMBER
;
IntegerValue :
NUMBER
| '-' NUMBER
;
StringValue :
BSTRING
| CSTRING
| HSTRING
;
AnyValue :
Type ':' ASN1Value
;
NumericRealValue :
SDLREAL
;
SpecialRealValue :
PLUSINFINITY
| MINUSINFINITY
;
NamedValueList :
NamedValue
| NamedValueList ',' NamedValue
;
SubtypeSpecList :
SubtypeSpecList SubtypeSpec
| SubtypeSpec
;
SubtypeSpec :
'(' SubtypeValueSetList ')'
| '(' ')'
;
SubtypeValueSetList :
SubtypeValueSetList '|' SubtypeValueSet
| SubtypeValueSet
;
SubtypeValueSet :
SingleValue
| ContainedSubtype
| ValueRange
| PermittedAlphabet
| SizeConstraint
| InnerTypeConstraint
;
SingleValue :
ASN1Value
;
ContainedSubtype :
INCLUDES Type
;
ValueRange :
LowerEndPoint DotDot UpperEndPoint
;
LowerEndPoint :
MIN
| MIN '<'
| ASN1Value
| ASN1Value '<'
;
UpperEndPoint :
MAX
| LT MAX
| ASN1Value
| LT ASN1Value
;
SizeConstraint :
SIZE SubtypeSpec
;
PermittedAlphabet :
FROM SubtypeSpec
;
InnerTypeConstraint :
WITH COMPONENT SubtypeSpec
| WITH COMPONENTS '{' TypeConstraints '}'
| WITH COMPONENTS '{' DotDotDot ',' TypeConstraints '}'
;
TypeConstraints :
NamedConstraint
| TypeConstraints ',' NamedConstraint
;
NamedConstraint :
valident ValueConstraint PresenceConstraint
| ValueConstraint PresenceConstraint
;
ValueConstraint :
SubtypeSpec
| /* empty */
;
PresenceConstraint :
PRESENT
| ABSENT
| OPTIONAL
| /* empty */
;
OperationType :
OPERATION Argument Result Errors LinkedOperations
;
Argument :
/* empty */
| ARGUMENT ASNType
| ARGUMENT valident ASNType
| ARGUMENT '{' AlternativeTypeList '}'
;
Result :
/* empty */
| RESULT ASNType
| RESULT valident ASNType
;
Errors :
/* empty */
| ERRORS '{' TypeValueNames '}'
| ERRORS '{' '}'
;
TypeValueNames :
TypeValueItem
| TypeValueNames ',' TypeValueItem
;
TypeValueItem :
ASNType
| MacroValueItem
;
MacroValueItem :
BooleanValue
| IntegerValue
| StringValue
| RealValue
| StructuredValue
| ObjectIdentifierValue
| DefinedValue
;
LinkedOperations :
/* empty */
| LINKED '{' TypeValueNames '}'
| LINKED '{' '}'
;
ErrorType :
;
MacroDefinition :
typereference MACRO ASSIGN MacroSubstance
;
MacroSubstance :
MODBEGIN MacroBody END
| typereference
| ModuleReference typereference
;
MacroBody :
MacroTypeProduction MacroValueProduction SupportingProductions
;
MacroTypeProduction :
TYPE NOTATION ASSIGN MacroAlternativeList
;
MacroValueProduction :
VALUE NOTATION ASSIGN MacroAlternativeList
;
SupportingProductions :
/* empty */
| SupportingProductions Production
;
Production :
left_typereference ASSIGN MacroAlternativeList
;
MacroAlternativeList :
MacroAlternative
| MacroAlternativeList '|' MacroAlternative
;
MacroAlternative :
SymbolElement
| MacroAlternative SymbolElement
;
SymbolElement :
CSTRING
| typereference
| '"' STRING '"'
| '"' IDENTIFIER '"'
| '"' NUMBER '"'
| '"' EMPTY '"'
| MACROTYPE
| MACROTYPE '(' typereference ')'
| MACROVALUE '(' Type ')'
| MACROVALUE '(' valident Type ')'
| MACROVALUE '(' VALUE Type ')'
| LT EmbeddedDefinitionList GT
;
EmbeddedDefinitionList :
EmbeddedDefinition
| EmbeddedDefinitionList EmbeddedDefinition
;
EmbeddedDefinition :
LocalTypeAssignment
| LocalValueAssignment
;
LocalTypeAssignment :
typereference ASSIGN Type
| left_typereference ASSIGN Type
;
LocalValueAssignment :
valident Type ASSIGN ASN1Value
| VALUE Type ASSIGN ASN1Value
;
data_definition :
partial_type_definition end
| generator_definition end
| synonym_definition end
;
partial_type_definition :
NEWTYPE name _opt_formal_context_parameters extended_properties ADDING properties_expression opt_range ENDNEWTYPE _opt_name
| NEWTYPE name _opt_formal_context_parameters extended_properties ENDNEWTYPE _opt_name
| NEWTYPE name _opt_formal_context_parameters properties_expression opt_range ENDNEWTYPE _opt_name
| SYNTYPE name '=' identifier _opt_default_assignment opt_range ENDSYNTYPE _opt_name
| ASNTYPE ASN1_text ENDASNTYPE
;
opt_range :
/* empty */
| CONSTANTS range_condition
;
ASN1_text :
AssignmentList
| ASN1ModuleDefinition
;
properties_expression :
_opt_literal_list _opt_operator_list _opt_operator_definitions _opt_axioms _opt_literal_mapping _opt_default_assignment
| _opt_literal_list _opt_operator_list ALTERNATIVE external_properties _opt_end _opt_default_assignment
;
external_properties :
ASN ';' Type ENDALTERNATIVE
| ASN ';' AssignmentList ENDALTERNATIVE
| ASN ';' ASN1ModuleDefinition ENDALTERNATIVE
| name end ENDALTERNATIVE
| name ',' name ENDALTERNATIVE
| name end ENDALTERNATIVE ENDALTERNATIVE
| name ',' name end ENDALTERNATIVE ENDALTERNATIVE
;
_opt_literal_list :
LITERALS literal_signature_list _opt_end
| /* empty */
;
literal_signature_list :
literal_signature
| literal_signature_list ',' literal_signature
;
literal_signature :
name
| CHARSTRING
| NAMECLASS regular_expression
;
_opt_operator_list :
/* empty */
| OPERATORS operator_signature_list _opt_end
;
operator_signature_list :
operator_signature
| operator_signature_list end operator_signature
;
operator_signature :
operator_name ':' identifier_list_ ARROW identifier
| ORDERING
| NOEQUALITY
;
operator_name :
name
| name '!'
| quoted_operator
;
_opt_axioms :
/* empty */
| AXIOMS axioms
;
axioms :
_axioms _opt_end
;
_axioms :
equation
| _axioms end equation
;
equation :
unquantified_equation
| quantified_equation
| conditional_equation
;
quantified_equation :
FOR ALL name_list_ IN identifier '(' axioms ')'
;
unquantified_equation :
term EQ term
| term
;
term :
composite_term
| spelling_term
;
string_name :
CHARSTRING
;
charstring :
string_name
;
composite_term :
identifier
| charstring
| qualifier charstring
| operator_identifier '(' composite_term_list ')'
| identifier '(' composite_term_list ')'
| identifier '!' '(' composite_term_list ')'
| identifier '!'
| '(' composite_term ')'
| '-' term %prec UN_OP
| NOT term %prec UN_OP
| conditional_composite_term
| term IMPL term
| term OR term
| term XOR term
| term AND term
| term IN term
| term NE term
| term '=' term
| term '>' term
| term '<' term
| term LE term
| term GE term
| term '+' term
| term '-' term
| term '/' term
| term '*' term
| term CONCAT term
| term MOD term
| term REM term
;
composite_term_list :
term
| composite_term_list ',' term
;
conditional_equation :
restrictions IMPLICATION unquantified_equation
;
restrictions :
unquantified_equation
| restrictions ',' unquantified_equation
;
extended_properties :
inheritance_rule
| generator_transformations
| structure_definition
;
quoted_operator :
'"' predefined_operator '"'
;
predefined_operator :
IMPL
| OR
| XOR
| AND
| IN
| NE
| '='
| '>'
| '<'
| LE
| GE
| '+'
| '/'
| '*'
| CONCAT
| MOD
| REM
| '-'
| NOT
;
conditional_composite_term :
IF term THEN term ELSE term FI
;
range_condition :
range
| range_condition ',' range
;
range :
lower_value ':' upper_value
| expression
| rel_op expression
;
upper_value :
expression
;
lower_value :
expression
;
rel_op :
'='
| NE
| '<'
| '>'
| LE
| GE
;
structure_definition :
STRUCT field_list _opt_end
;
field_list :
fields
| field_list end fields
;
fields :
name_list_ identifier
;
inheritance_rule :
INHERITS identifier _opt_actual_context_parameters literal_renaming operator_inheritance
;
operator_inheritance :
/* empty */
| OPERATORS ALL _opt_end
| ALL _opt_end
| OPERATORS '(' inheritance_list ')' _opt_end
| OPERATORS '(' inheritance_list ',' NOEQUALITY ')' _opt_end
| '(' inheritance_list ')' _opt_end
| '(' inheritance_list ',' NOEQUALITY ')' _opt_end
;
inheritance_list :
inherited_operator
| inheritance_list ',' inherited_operator
;
inherited_operator :
operator_name '=' operator_name
| operator_name
;
literal_renaming :
/* empty */
| LITERALS literal_rename_list end
;
literal_rename_list :
literal_rename_pair
| literal_rename_list ',' literal_rename_pair
;
literal_rename_pair :
name '=' name
| string_name '=' string_name
| name '=' string_name
| string_name '=' name
;
generator_definition :
GENERATOR name '(' generator_parameter_list ')' generator_text ENDGENERATOR _opt_name
;
generator_text :
generator_transformations ADDING properties_expression
| properties_expression
| generator_transformations
;
generator_parameter_list :
generator_last_parameter
| generator_parameter generator_parameter_list
;
generator_parameter :
TYPE parameter_list ','
| LITERAL parameter_list ','
| OPERATOR parameter_list ','
| CONSTANT parameter_list ','
;
generator_last_parameter :
TYPE parameter_list
| LITERAL parameter_list
| OPERATOR parameter_list
| CONSTANT parameter_list
;
parameter_list :
name
| parameter_list ',' name
;
generator_transformations :
generator_transformation _opt_end
| generator_transformations generator_transformation _opt_end
;
generator_transformation :
identifier_without_first_operator '(' generator_actual_list ')'
;
generator_actual_list :
generator_actual
| generator_actual_list ',' generator_actual
;
generator_actual :
NAMECLASS regular_expression
| quoted_operator
| term
;
synonym_definition :
SYNONYM internal_synonym_definition
| SYNONYM external_synonym_definition
;
internal_synonym_definition :
synonym_definition_item
| internal_synonym_definition ',' synonym_definition_item
;
synonym_definition_item :
name '=' expression
| name sort '=' expression
;
external_synonym_definition :
external_synonym_definition_item
| external_synonym_definition ',' external_synonym_definition_item
;
external_synonym_definition_item :
name sort '=' EXTERNAL
;
regular_expression :
regular_expression_list
| regular_expression regular_expression_list
;
regular_expression_list :
partial_regular_expression
| regular_expression_list OR partial_regular_expression
;
partial_regular_expression :
regular_element
| regular_element name
| regular_element '+'
| regular_element '*'
;
regular_element :
'(' regular_expression ')'
| CHARSTRING
| CHARSTRING ':' CHARSTRING
;
_opt_literal_mapping :
/* empty */
| MAP literal_equations _opt_end
;
literal_equations :
literal_equation
| literal_equations end literal_equation
;
literal_equation :
FOR ALL name_list_ IN identifier LITERALS '(' literal_axiom_list _opt_end ')'
;
literal_axiom_list :
literal_axioms
| literal_axiom_list end literal_axioms
;
literal_axioms :
equation
| literal_equation
;
spelling_term :
SPELLING '(' identifier ')'
;
_opt_operator_definitions :
/* empty */
| _opt_operator_definitions operator_definition
;
operator_definition :
OPERATOR extended_operator_identifier formal_parameters operator_result operator_body start ENDOPERATOR end
| OPERATOR extended_operator_identifier formal_parameters operator_result operator_body start ENDOPERATOR extended_operator_identifier end
| OPERATOR extended_operator_identifier REFERENCED end
| OPERATOR extended_operator_identifier formal_parameters operator_result REFERENCED end
;
extended_operator_identifier :
qualifier name '!'
| name
| name '!'
| quoted_operator
| qualifier quoted_operator
| qualifier name
;
entity_in_operator :
data_definition
| variable_definition
;
operator_body :
/* empty */
| operator_body entity_in_operator
;
operator_result :
RETURNS identifier
| RETURNS name identifier
;
expression :
value_returning_procedure_call
| subexpression
;
subexpression :
primary
| subexpression IMPL subexpression
| subexpression OR subexpression
| subexpression XOR subexpression
| subexpression AND subexpression
| subexpression IN subexpression
| subexpression NE subexpression
| subexpression '=' subexpression
| subexpression '>' subexpression
| subexpression '<' subexpression
| subexpression LE subexpression
| subexpression GE subexpression
| subexpression '+' subexpression
| subexpression '-' subexpression
| subexpression '/' subexpression
| subexpression '*' subexpression
| subexpression CONCAT subexpression
| subexpression MOD subexpression
| subexpression REM subexpression
| '-' subexpression %prec UN_OP
| NOT subexpression %prec UN_OP
;
operator_identifier :
qualifier quoted_operator
| quoted_operator
;
primary :
identifier
| string_name
| qualifier CHARSTRING
| '(' expression ')'
| IF expression THEN expression ELSE expression FI
| primary '(' expression_list ')'
| operator_identifier '(' expression_list ')'
| imperative_operator
| structure_primary
| primary '!' name
;
_struct_component :
LSTRUC _opt_expression_list__ RSTRUC
;
structure_primary :
_struct_component
| qualifier _struct_component
;
expression_list :
expression
| expression_list ',' expression
;
assignment_statement :
variable ASSIGN expression
;
variable :
identifier
| variable '(' expression_list ')'
| variable '!' name
;
_opt_variable :
/* empty */
| variable
;
_opt_default_assignment :
/* empty */
| DEFAULT expression _opt_end
;
imperative_operator :
NOW
| IMPORT '(' identifier opt_destination ')'
| Pid_expression
| VIEW '(' identifier ')'
| VIEW '(' identifier ',' expression ')'
| timer_active_expression
| ANY '(' identifier ')'
;
opt_destination :
/* empty */
| ',' destination
;
Pid_expression :
SELF
| PARENT
| OFFSPRING
| SENDER
;
timer_active_expression :
ACTIVE '(' identifier ')'
| ACTIVE '(' identifier '(' expression_list ')' ')'
;
value_returning_procedure_call :
_procedure_call
;
_opt_end :
/* empty */
| end
;
sort :
identifier
;
synonym_context_parameter :
SYNONYM _name_and_sort_list
;
_name_and_sort :
name identifier
;
_name_and_sort_list :
_name_and_sort
| _name_and_sort_list ',' _name_and_sort
;
sort_context_parameter :
NEWTYPE name
| NEWTYPE name ATLEAST identifier
| NEWTYPE name _opt_literal_list _opt_operator_list ENDNEWTYPE _opt_name
;
qualifier :
path_item_list__
| LQUAL path_item_list__ RQUAL
;
path_item_list__ :
path_item
| path_item_list__ '/' path_item
;
path_item :
PACKAGE name
| SYSTEMTYPE name
| SYSTEM name
| BLOCK name
| BLOCKTYPE name
| SUBSTRUCTURE name
| PROCESS name
| PROCESSTYPE name
| SERVICE name
| SERVICETYPE name
| PROCEDURE name
| SIGNAL name
| OPERATOR name
| OPERATOR quoted_operator
| TYPE name
;
path_item_list_without_first_operator :
path_item_without_operator
| path_item_list_without_first_operator '/' path_item
;
path_item_without_operator :
PACKAGE name
| SYSTEMTYPE name
| SYSTEM name
| BLOCK name
| BLOCKTYPE name
| SUBSTRUCTURE name
| PROCESS name
| PROCESSTYPE name
| SERVICE name
| SERVICETYPE name
| PROCEDURE name
| SIGNAL name
| TYPE name
;
identifier_without_first_operator :
name
| path_item_list_without_first_operator name
| LQUAL path_item_list__ RQUAL name
;
name :
IDENT
;
_opt_name :
/* empty */
| name
;
name_list_ :
name
| name_list_ ',' name
;
identifier :
name
| qualifier name
;
_opt_context_identifier :
/* empty */
| identifier
;
_opt_identifier :
/* empty */
| identifier
;
identifier_list_ :
identifier
| identifier_list_ ',' identifier
;
sort_list_ :
identifier_list_
;
_names_of_sort_list :
_names_of_sort
| _names_of_sort_list ',' _names_of_sort
;
_names_of_sort :
name_list_ sort
;
informal_text :
CHARSTRING
;
end :
';'
| COMMENT CHARSTRING ';'
;
sdl_specification :
package_list
| package_list system_definition referenced_definition_seq0_
| PARTIAL_SPEC entity_in_external_module_list
;
referenced_definition_seq0_ :
/* empty */
| referenced_definition_seq0_ referenced_definition
;
referenced_definition :
system_type_definition
| block_definition
| block_type_definition
| process_definition
| process_type_definition
| service_definition
| service_type_definition
| procedure_definition
| substructure_definition
| operator_definition
;
entity_in_external_module_list :
/* empty */
| entity_in_external_module_list entity_in_external_module
;
entity_in_external_module :
block_definition
| block_reference
| typebased_block_definition
| channel_definition
| signal_definition
| signal_list_definition
| signal_route_definition
| remote_variable_definition
| data_definition
| block_type_reference
| block_type_definition
| process_type_definition
| process_type_reference
| procedure_definition
| procedure_reference
| remote_procedure_definition
| service_type_definition
| service_type_reference
| view_definition
| imported_procedure_specification
| imported_variable_specification
| timer_definition
| variable_definition
;
package_list :
/* empty */
| package_list complete_package
;
complete_package :
package_definition referenced_definition_seq0_
;
package_definition :
package_reference_clause_seq0_ PACKAGE name _opt_interface end entity_in_package_seq0_ ENDPACKAGE _opt_name end
;
package_reference_clause_seq0_ :
/* empty */
| package_reference_clause_seq0_ package_reference_clause
;
entity_in_package_seq0_ :
/* empty */
| entity_in_package_seq0_ entity_in_package
;
entity_in_package :
system_type_definition
| system_type_reference
| block_type_definition
| block_type_reference
| process_type_definition
| process_type_reference
| procedure_definition
| remote_procedure_definition
| procedure_reference
| signal_definition
| signal_list_definition
| service_type_definition
| service_type_reference
| remote_variable_definition
| data_definition
| BEG_REF CHARSTRING END_REF
;
package_reference_clause :
USE name end
| USE name '/' definition_selection_list end
;
definition_selection_list :
definition_selection
| definition_selection_list ',' definition_selection
;
definition_selection :
name
| entity_kind name
;
entity_kind :
SYSTEMTYPE
| BLOCKTYPE
| PROCESSTYPE
| SERVICETYPE
| SIGNAL
| PROCEDURE
| NEWTYPE
| SIGNALLIST
| GENERATOR
| SYNONYM
| REMOTE
;
_opt_interface :
/* empty */
| INTERFACE definition_selection_list
;
system_definition :
package_reference_clause_seq0_ SYSTEM name end entity_in_system_seq1_ ENDSYSTEM _opt_name end
| package_reference_clause_seq0_ SYSTEM name ':' type_expression end
;
entity_in_system_seq1_ :
entity_in_system
| entity_in_system_seq1_ entity_in_system
;
system_type_definition :
SYSTEMTYPE identifier _opt_formal_context_parameters _opt_specialization end entity_in_system_seq0_ ENDSYSTEM TYPE _opt_identifier end
;
system_type_reference :
SYSTEMTYPE name REFERENCED end
;
entity_in_system_seq0_ :
/* empty */
| entity_in_system_seq0_ entity_in_system
;
entity_in_system :
block_definition
| block_reference
| typebased_block_definition
| channel_definition
| signal_definition
| signal_list_definition
| remote_variable_definition
| data_definition
| block_type_reference
| block_type_definition
| process_type_definition
| process_type_reference
| procedure_definition
| procedure_reference
| remote_procedure_definition
| service_type_definition
| service_type_reference
| BEG_REF CHARSTRING END_REF
;
block_definition :
BLOCK identifier end _def_in_block_seq0_ __opt_blocksubdef ENDBLOCK _opt_identifier end
;
block_reference :
BLOCK name REFERENCED end
;
typebased_block_definition :
BLOCK name _opt_number_of_block_instances ':' type_expression end
;
block_type_definition :
_opt_virtuality BLOCKTYPE identifier _opt_formal_context_parameters _opt_virtuality_constraint _opt_specialization end gate_definition_seq0_ entity_in_block_seq0_ __opt_blocksubdef ENDBLOCK TYPE _opt_identifier end
;
block_type_reference :
_opt_virtuality BLOCKTYPE name REFERENCED end
;
_opt_number_of_block_instances :
/* empty */
| '(' expression ')'
;
__opt_blocksubdef :
/* empty */
| substructure_definition
| block_substructure_reference
;
_def_in_block_seq0_ :
/* empty */
| _def_in_block_seq0_ connection
| _def_in_block_seq0_ entity_in_block
;
entity_in_block_seq0_ :
/* empty */
| entity_in_block_seq0_ entity_in_block
;
entity_in_block :
signal_definition
| signal_list_definition
| process_definition
| process_reference
| typebased_process_definition
| signal_route_definition
| remote_variable_definition
| data_definition
| process_type_definition
| process_type_reference
| block_type_definition
| block_type_reference
| procedure_reference
| procedure_definition
| remote_procedure_definition
| service_type_definition
| service_type_reference
| BEG_REF CHARSTRING END_REF
;
gate_definition_seq0_ :
/* empty */
| gate_definition_seq0_ gate_definition
;
gate_definition :
GATE name _opt_ADDING gate_constraint end
| GATE name _opt_ADDING gate_constraint end gate_constraint end
;
_opt_ADDING :
/* empty */
| ADDING
;
gate_constraint :
OUT __opt_to __opt_with_clause
| IN __opt_from __opt_with_clause
;
__opt_to :
/* empty */
| TO _opt_ATLEAST identifier
;
__opt_from :
/* empty */
| FROM _opt_ATLEAST identifier
;
_opt_ATLEAST :
/* empty */
| ATLEAST
;
__opt_with_clause :
/* empty */
| WITH signal_list
;
substructure_definition :
SUBSTRUCTURE _opt_identifier end _def_in_substructure_seq1_ ENDSUBSTRUCTURE _opt_identifier end
;
_def_in_substructure_seq1_ :
entity_in_system
| connection
| _def_in_substructure_seq1_ entity_in_system
| _def_in_substructure_seq1_ connection
;
block_substructure_reference :
SUBSTRUCTURE name REFERENCED end
;
process_definition :
PROCESS identifier _opt_number_of_process_instances end __opt_formal_parameters _opt_valid_input_signal_set _def_in_process_seq0_ _opt_process_body ENDPROCESS _opt_identifier end
;
__opt_formal_parameters :
/* empty */
| formal_parameters end
;
process_reference :
PROCESS identifier _opt_number_of_process_instances REFERENCED end
;
typebased_process_definition :
PROCESS identifier _opt_number_of_process_instances ':' type_expression end
;
process_type_definition :
_opt_virtuality PROCESSTYPE identifier _opt_formal_context_parameters _opt_virtuality_constraint _opt_specialization end __opt_formal_parameters _opt_valid_input_signal_set gate_definition_seq0_ entity_in_process_seq0_ _opt_procedure_body ENDPROCESS TYPE _opt_identifier end
;
process_type_reference :
_opt_virtuality PROCESSTYPE name REFERENCED end
;
process_context_parameter :
PROCESS name process_constraint_by_type
| PROCESS name process_signature
;
process_constraint_by_type :
_opt_ATLEAST identifier
;
process_signature :
/* empty */
| FPAR sort_list_
;
_opt_valid_input_signal_set :
/* empty */
| SIGNALSET _opt_signal_list end
;
_opt_signal_list :
/* empty */
| signal_list
;
formal_parameters :
FPAR _names_of_sort_list
;
_def_in_process_seq0_ :
/* empty */
| _def_in_process_seq0_ entity_in_process
| _def_in_process_seq0_ connection
;
entity_in_process_seq0_ :
/* empty */
| entity_in_process_seq0_ entity_in_process
;
entity_in_process :
signal_definition
| signal_list_definition
| procedure_reference
| procedure_definition
| remote_procedure_definition
| imported_procedure_specification
| remote_variable_definition
| data_definition
| variable_definition
| view_definition
| imported_variable_specification
| timer_definition
| signal_route_definition
| service_definition
| service_reference
| typebased_service_definition
| service_type_definition
| service_type_reference
| BEG_REF CHARSTRING END_REF
;
_opt_number_of_process_instances :
/* empty */
| '(' _opt_expression ')'
| '(' _opt_expression ',' _opt_expression ')'
;
_opt_expression :
/* empty */
| expression
;
opt_expression :
/* empty */
| expression
;
_opt_process_body :
/* empty */
| process_body
;
service_definition :
SERVICE identifier end _opt_valid_input_signal_set entity_in_service_seq0_ process_body ENDSERVICE _opt_identifier end
;
service_reference :
SERVICE name REFERENCED end
;
typebased_service_definition :
SERVICE name ':' type_expression end
;
service_type_definition :
_opt_virtuality SERVICETYPE identifier _opt_formal_context_parameters _opt_virtuality_constraint _opt_specialization end _opt_valid_input_signal_set gate_definition_seq0_ entity_in_service_seq0_ _opt_procedure_body ENDSERVICE TYPE _opt_identifier end
;
service_type_reference :
_opt_virtuality SERVICETYPE name REFERENCED end
;
entity_in_service_seq0_ :
/* empty */
| entity_in_service_seq0_ entity_in_service
;
entity_in_service :
variable_definition
| data_definition
| view_definition
| imported_variable_specification
| imported_procedure_specification
| procedure_definition
| procedure_reference
| timer_definition
| BEG_REF CHARSTRING END_REF
;
procedure_definition :
procedure_preamble PROCEDURE identifier _opt_formal_context_parameters _opt_virtuality_constraint _opt_specialization end __opt_procedure_formal_parameters __opt_procedure_result entity_in_procedure_seq0_ _opt_procedure_body ENDPROCEDURE _opt_identifier end
;
procedure_reference :
procedure_preamble PROCEDURE name REFERENCED end
;
procedure_context_parameter :
PROCEDURE name procedure_constraint
;
procedure_context_parameter_end :
PROCEDURE name procedure_constraint_end
;
procedure_constraint :
ATLEAST identifier
| procedure_signature
;
procedure_constraint_end :
ATLEAST identifier end
| procedure_signature_end
;
procedure_signature_end :
end
| _opt_end FPAR _proc_fpar_constraint_list end
| _opt_end FPAR _proc_fpar_constraint_list end RETURNS sort end
| _opt_end RETURNS sort end
;
procedure_signature :
/* empty */
| _opt_end FPAR _proc_fpar_constraint_list
| _opt_end FPAR _proc_fpar_constraint_list end RETURNS sort
| _opt_end RETURNS sort
;
_proc_fpar_constraint_list :
procedure_formal_parameter_constraint
| _proc_fpar_constraint_list ',' procedure_formal_parameter_constraint
;
procedure_formal_parameter_constraint :
parameter_kind sort
;
entity_in_procedure_seq0_ :
/* empty */
| entity_in_procedure_seq0_ entity_in_procedure
;
entity_in_procedure :
data_definition
| variable_definition
| procedure_reference
| procedure_definition
| BEG_REF CHARSTRING END_REF
;
__opt_procedure_formal_parameters :
/* empty */
| FPAR formal_variable_parameters_list_ end
;
formal_variable_parameters_list_ :
formal_variable_parameters
| formal_variable_parameters_list_ ',' formal_variable_parameters
;
formal_variable_parameters :
parameter_kind _names_of_sort
;
parameter_kind :
/* empty */
| IN
| IN '/' OUT
;
procedure_preamble :
_opt_virtuality __opt_exported
;
__opt_exported :
/* empty */
| EXPORTED
| EXPORTED AS identifier
;
remote_procedure_definition :
REMOTE PROCEDURE name _opt_NODELAY end __opt_procedure_signature
;
remote_procedure_context_parameter :
REMOTE PROCEDURE name procedure_signature
;
remote_procedure_context_parameter_end :
REMOTE PROCEDURE name procedure_signature_end
;
imported_procedure_specification :
IMPORTED PROCEDURE identifier end __opt_procedure_signature
;
__opt_procedure_signature :
/* empty */
| procedure_signature_end
;
__opt_procedure_result :
/* empty */
| RETURNS sort end
| RETURNS name sort end
;
_opt_NODELAY :
/* empty */
| NODELAY
;
channel_definition :
CHANNEL name _opt_NODELAY channel_path __opt_channsubdef ENDCHANNEL _opt_name end
| CHANNEL name _opt_NODELAY channel_path channel_path __opt_channsubdef ENDCHANNEL _opt_name end
;
channel_path :
FROM channel_endpoint TO channel_endpoint WITH signal_list end
;
channel_endpoint :
identifier
| identifier VIA name
| ENV
| ENV VIA name
;
__opt_channsubdef :
/* empty */
| substructure_definition
| channel_substructure_reference
;
channel_substructure_reference :
SUBSTRUCTURE name REFERENCED end
;
signal_route_definition :
SIGNALROUTE name signal_route_path
| SIGNALROUTE name signal_route_path signal_route_path
;
signal_route_path :
FROM signal_route_endpoint TO signal_route_endpoint WITH signal_list end
;
signal_route_endpoint :
identifier
| identifier VIA name
| ENV
| ENV VIA name
;
connection :
CONNECT identifier_list_ AND identifier_list_ end
| CONNECT ENV AND identifier_list_ end
;
signal_definition :
SIGNAL signal_definition_item_list_ end
;
signal_context_parameter :
SIGNAL _signal_with_constraint_list
;
_signal_with_constraint_list :
_signal_with_constraint
| _signal_with_constraint_list ',' _signal_with_constraint
;
_signal_with_constraint :
name signal_constraint
;
signal_constraint :
ATLEAST identifier
| _opt_sort_list _opt_signal_refinement
;
signal_definition_item_list_ :
signal_definition_item
| signal_definition_item_list_ ',' signal_definition_item
;
signal_definition_item :
name _opt_formal_context_parameters _opt_specialization _opt_sort_list _opt_signal_refinement
;
_opt_sort_list :
/* empty */
| sort_list
;
sort_list :
'(' sort_list_ ')'
;
signal_list_definition :
SIGNALLIST name '=' signal_list end
;
signal_list :
signal_list_item
| signal_list ',' signal_list_item
;
signal_list_item :
identifier
| '(' identifier ')'
;
_opt_signal_refinement :
/* empty */
| REFINEMENT subsignal_definition_seq1_ ENDREFINEMENT
;
subsignal_definition_seq1_ :
subsignal_definition
| subsignal_definition_seq1_ subsignal_definition
;
subsignal_definition :
reverse signal_definition
;
reverse :
/* empty */
| REVERSE
;
variable_definition :
DCL _rev_exp variables_of_sort_list_ end
;
variable_context_parameter :
DCL _names_of_sort_list
;
_rev_exp :
/* empty */
| REVEALED
| EXPORTED
| REVEALED EXPORTED
| EXPORTED REVEALED
;
variables_of_sort_list_ :
variables_of_sort
| variables_of_sort_list_ ',' variables_of_sort
;
variables_of_sort :
_varname_exportedas_list__ sort
| _varname_exportedas_list__ sort ASSIGN expression
;
_varname_exportedas_list__ :
_varname_exportedas
| _varname_exportedas_list__ ',' _varname_exportedas
;
_varname_exportedas :
name
| name AS identifier
;
view_definition :
VIEWED _names_of_sort_list end
;
imported_variable_specification :
IMPORTED _imported_variables_list__ end
;
_imported_variables_list__ :
_imported_variables
| _imported_variables_list__ ',' _imported_variables
;
_imported_variables :
identifier_list_ sort
;
remote_variable_definition :
REMOTE _remote_variable_spec_list end
;
_remote_variable_spec_list :
_remote_variable_spec
| _remote_variable_spec_list ',' _remote_variable_spec
;
_remote_variable_spec :
name_list_ sort _opt_NODELAY
;
remote_variable_context_parameter :
REMOTE _names_of_sort_list
;
process_body :
start _entity_in_body_seq0__
;
_opt_procedure_body :
/* empty */
| start _entity_in_body_seq0__
| _entity_in_body_seq1__
;
_entity_in_body_seq0__ :
/* empty */
| _entity_in_body_seq1__
;
_entity_in_body_seq1__ :
state
| free_action
| _entity_in_body_seq1__ state
| _entity_in_body_seq1__ free_action
;
start :
START _opt_virtuality end transition
;
state :
STATE state_list end _entity_in_state_seq0__
| STATE state_list end _entity_in_state_seq0__ ENDSTATE _opt_name end
;
_entity_in_state_seq0__ :
/* empty */
| _entity_in_state_seq0__ input_part
| _entity_in_state_seq0__ priority_input
| _entity_in_state_seq0__ save_part
| _entity_in_state_seq0__ spontaneous_transition
| _entity_in_state_seq0__ continuous_signal
;
state_list :
name_list_
| '*'
| '*' '(' name_list_ ')'
;
input_part :
INPUT _opt_virtuality input_list end _opt_enabling_condition transition
| INPUT _opt_virtuality PROCEDURE identifier_list_ end _opt_enabling_condition transition
;
input_list :
stimulus_list_
| '*'
;
stimulus_list_ :
stimulus
| stimulus_list_ ',' stimulus
;
stimulus :
identifier
| identifier '(' _opt_variable_list__ ')'
;
_opt_variable_list__ :
_opt_variable
| _opt_variable_list__ ',' _opt_variable
;
_opt_enabling_condition :
/* empty */
| PROVIDED expression end
;
priority_input :
PRIORITY INPUT _opt_virtuality stimulus_list_ end transition
;
save_part :
basic_save_part
| remote_procedure_save
;
basic_save_part :
SAVE _opt_virtuality save_list end
;
save_list :
signal_list
| '*'
;
remote_procedure_save :
SAVE _opt_virtuality PROCEDURE identifier_list_ end
;
spontaneous_transition :
INPUT _opt_virtuality NONE end _opt_enabling_condition transition
;
continuous_signal :
PROVIDED _opt_virtuality expression end _priority transition
;
_priority :
/* empty */
| PRIORITY name end
;
free_action :
CONNECTION transition __opt_endconnection
;
__opt_endconnection :
/* empty */
| ENDCONNECTION _opt_name end
;
transition :
transition_string
| transition_string terminator_statement
| terminator_statement
;
transition_string :
action_statement
| transition_string action_statement
;
terminator_statement :
_opt_label NEXTSTATE name end
| _opt_label NEXTSTATE '-' end
| _opt_label JOIN name end
| _opt_label STOP end
| _opt_label RETURN opt_expression end
;
_opt_label :
/* empty */
| name ':'
;
action_statement :
_opt_label action end
;
action :
task
| output
| create_request
| decision
| set
| reset
| export
| _procedure_call
;
task :
TASK assignment_statement_list_
| TASK informal_text_list_
;
assignment_statement_list_ :
assignment_statement
| assignment_statement_list_ ',' assignment_statement
;
informal_text_list_ :
informal_text
| informal_text_list_ ',' informal_text
;
create_request :
CREATE identifier _opt_actual_parameters
| CREATE THIS _opt_actual_parameters
;
_opt_actual_parameters :
/* empty */
| '(' _opt_expression_list__ ')'
;
_opt_expression_list__ :
_opt_expression
| _opt_expression_list__ ',' _opt_expression
;
_procedure_call :
CALL _opt_THIS identifier _opt_actual_parameters __opt_to_destination
;
_opt_THIS :
/* empty */
| THIS
;
output :
OUTPUT _output_item_list __opt_to_destination __opt_via_viapath
;
_output_item_list :
output_item
| _output_item_list ',' output_item
;
output_item :
identifier _opt_actual_parameters
;
__opt_to_destination :
/* empty */
| TO destination
;
destination :
expression
| THIS
;
__opt_via_viapath :
/* empty */
| VIA via_path
| VIA ALL via_path
;
via_path :
via_path_element
| via_path ',' via_path_element
;
via_path_element :
identifier
;
decision :
DECISION expression end decision_body ENDDECISION
| DECISION ANY end decision_body ENDDECISION
;
decision_body :
__answer_part else_part
| answer_part_seq2_
| answer_part_seq2_ else_part
;
__answer_part :
answer_part
;
else_part :
ELSE ':' _opt_transition
;
_opt_transition :
/* empty */
| transition
;
answer_part_seq2_ :
__answer_part answer_part
| answer_part_seq2_ answer_part
;
answer_part :
'(' _opt_answer ')' ':' _opt_transition
;
_opt_answer :
/* empty */
| range_condition
;
export :
EXPORT '(' identifier_list_ ')'
;
timer_definition :
TIMER timer_definition_item_list_ end
;
timer_context_parameter :
TIMER _timer_cp_list
;
_timer_cp_list :
_timer_cp
| _timer_cp_list ',' _timer_cp
;
_timer_cp :
name _opt_sort_list
;
timer_definition_item_list_ :
timer_definition_item
| timer_definition_item_list_ ',' timer_definition_item
;
timer_definition_item :
name _opt_sort_list
| name _opt_sort_list ASSIGN expression
;
reset :
RESET '(' reset_statement_list_ ')'
;
reset_statement_list_ :
reset_statement
| reset_statement_list_ ',' reset_statement
;
reset_statement :
identifier _opt_actual_parameters
;
set :
SET set_statement_list_
;
set_statement_list_ :
set_statement
| set_statement_list_ ',' set_statement
;
set_statement :
'(' expression ',' expression ')'
| '(' expression ')'
;
_opt_virtuality :
/* empty */
| VIRTUAL
| REDEFINED
| FINALIZED
;
type_expression :
identifier _opt_actual_context_parameters
;
_opt_specialization :
/* empty */
| INHERITS type_expression _opt_ADDING
;
_opt_virtuality_constraint :
/* empty */
| ATLEAST identifier
;
formal_context_parameters :
'<' formal_context_parameter_list__ '>'
;
_opt_formal_context_parameters :
/* empty */
| formal_context_parameters
;
formal_context_parameter_list__ :
last_formal_context_parameter
| formal_context_parameter_list_head last_formal_context_parameter
;
formal_context_parameter_list_head :
formal_context_parameter
| formal_context_parameter_list_head formal_context_parameter
;
_opt_actual_context_parameters :
/* empty */
| '<' _opt_identifier_list__ '>'
;
_opt_identifier_list__ :
_opt_context_identifier
| _opt_identifier_list__ ',' _opt_context_identifier
;
formal_context_parameter :
process_context_parameter end
| procedure_context_parameter_end
| remote_procedure_context_parameter_end
| signal_context_parameter end
| variable_context_parameter end
| remote_variable_context_parameter end
| timer_context_parameter end
| synonym_context_parameter end
| sort_context_parameter end
;
last_formal_context_parameter :
process_context_parameter
| procedure_context_parameter
| remote_procedure_context_parameter
| signal_context_parameter
| variable_context_parameter
| remote_variable_context_parameter
| timer_context_parameter
| synonym_context_parameter
| sort_context_parameter
;
Nonterminals:
ASN1ModuleDefinition
ASN1Value
ASN1_text
ASNType
AlternativeTypeList
AnyType
AnyValue
Argument
AssignedIdentifier
Assignment
AssignmentList
BitStringType
BooleanType
BooleanValue
BuiltinType
ChoiceType
ClassNumber
ContainedSubtype
DefinedType
DefinedValue
ElementeType
ElementeTypeList
EmbeddedDefinition
EmbeddedDefinitionList
EnumeratedType
ErrorType
Errors
Exports
ExtendedElementeTypeList
ExternalType
FirstObjIdComponent
Imports
InnerTypeConstraint
IntegerComponent
IntegerType
IntegerValue
LeftTypeReference
LinkedOperations
LocalTypeAssignment
LocalValueAssignment
LowerEndPoint
MacroAlternative
MacroAlternativeList
MacroBody
MacroDefinition
MacroSubstance
MacroType
MacroTypeProduction
MacroValueItem
MacroValueProduction
ModuleReference
NamedConstraint
NamedNumber
NamedNumberList
NamedType
NamedValue
NamedValueList
NullType
NullValue
NumericRealValue
ObjIdComponent
ObjIdComponentList
ObjectIdentifierType
ObjectIdentifierValue
OctetStringType
OperationType
PermittedAlphabet
Pid_expression
PresenceConstraint
Production
RealType
RealValue
Result
SelectionType
SequenceOfType
SequenceType
SetOfType
SetType
SingleValue
SizeConstraint
SpecialRealValue
StringValue
StructuredValue
SubtypeSpec
SubtypeSpecList
SubtypeValueSet
SubtypeValueSetList
SupportingProductions
Symbol
SymbolElement
SymbolList
SymbolsFromModule
SymbolsImported
Tag
TagDefault
TaggedType
Type
TypeConstraints
TypeValueItem
TypeValueNames
Typeassignment
UpperEndPoint
ValueConstraint
ValueRange
Valueassignment
_Opt_Colon
_Type
_Value
__answer_part
__opt_blocksubdef
__opt_channsubdef
__opt_endconnection
__opt_exported
__opt_formal_parameters
__opt_from
__opt_procedure_formal_parameters
__opt_procedure_result
__opt_procedure_signature
__opt_to
__opt_to_destination
__opt_via_viapath
__opt_with_clause
_axioms
_def_in_block_seq0_
_def_in_process_seq0_
_def_in_substructure_seq1_
_entity_in_body_seq0__
_entity_in_body_seq1__
_entity_in_state_seq0__
_imported_variables
_imported_variables_list__
_name_and_sort
_name_and_sort_list
_names_of_sort
_names_of_sort_list
_opt_ADDING
_opt_ATLEAST
_opt_NODELAY
_opt_THIS
_opt_actual_context_parameters
_opt_actual_parameters
_opt_answer
_opt_axioms
_opt_context_identifier
_opt_default_assignment
_opt_enabling_condition
_opt_end
_opt_expression
_opt_expression_list__
_opt_formal_context_parameters
_opt_identifier
_opt_identifier_list__
_opt_interface
_opt_label
_opt_literal_list
_opt_literal_mapping
_opt_name
_opt_number_of_block_instances
_opt_number_of_process_instances
_opt_operator_definitions
_opt_operator_list
_opt_procedure_body
_opt_process_body
_opt_signal_list
_opt_signal_refinement
_opt_sort_list
_opt_specialization
_opt_transition
_opt_valid_input_signal_set
_opt_variable
_opt_variable_list__
_opt_virtuality
_opt_virtuality_constraint
_output_item_list
_priority
_proc_fpar_constraint_list
_procedure_call
_remote_variable_spec
_remote_variable_spec_list
_rev_exp
_signal_with_constraint
_signal_with_constraint_list
_struct_component
_timer_cp
_timer_cp_list
_varname_exportedas
_varname_exportedas_list__
action
action_statement
answer_part
answer_part_seq2_
assignment_statement
assignment_statement_list_
axioms
basic_save_part
block_definition
block_reference
block_substructure_reference
block_type_definition
block_type_reference
channel_definition
channel_endpoint
channel_path
channel_substructure_reference
charstring
complete_package
composite_term
composite_term_list
conditional_composite_term
conditional_equation
connection
continuous_signal
create_request
data_definition
decision
decision_body
definition_selection
definition_selection_list
destination
else_part
end
entity_in_block
entity_in_block_seq0_
entity_in_external_module
entity_in_external_module_list
entity_in_operator
entity_in_package
entity_in_package_seq0_
entity_in_procedure
entity_in_procedure_seq0_
entity_in_process
entity_in_process_seq0_
entity_in_service
entity_in_service_seq0_
entity_in_system
entity_in_system_seq0_
entity_in_system_seq1_
entity_kind
equation
export
expression
expression_list
extended_operator_identifier
extended_properties
external_properties
external_synonym_definition
external_synonym_definition_item
field_list
fields
formal_context_parameter
formal_context_parameter_list__
formal_context_parameter_list_head
formal_context_parameters
formal_parameters
formal_variable_parameters
formal_variable_parameters_list_
free_action
gate_constraint
gate_definition
gate_definition_seq0_
generator_actual
generator_actual_list
generator_definition
generator_last_parameter
generator_parameter
generator_parameter_list
generator_text
generator_transformation
generator_transformations
identifier
identifier_list_
identifier_without_first_operator
imperative_operator
imported_procedure_specification
imported_variable_specification
informal_text
informal_text_list_
inheritance_list
inheritance_rule
inherited_operator
input_list
input_part
internal_synonym_definition
last_formal_context_parameter
left_typereference
literal_axiom_list
literal_axioms
literal_equation
literal_equations
literal_rename_list
literal_rename_pair
literal_renaming
literal_signature
literal_signature_list
lower_value
name
name_list_
operator_body
operator_definition
operator_identifier
operator_inheritance
operator_name
operator_result
operator_signature
operator_signature_list
opt_AssignmentList
opt_destination
opt_expression
opt_range
output
output_item
package_definition
package_list
package_reference_clause
package_reference_clause_seq0_
parameter_kind
parameter_list
partial_regular_expression
partial_type_definition
path_item
path_item_list__
path_item_list_without_first_operator
path_item_without_operator
predefined_operator
primary
priority_input
procedure_constraint
procedure_constraint_end
procedure_context_parameter
procedure_context_parameter_end
procedure_definition
procedure_formal_parameter_constraint
procedure_preamble
procedure_reference
procedure_signature
procedure_signature_end
process_body
process_constraint_by_type
process_context_parameter
process_definition
process_reference
process_signature
process_type_definition
process_type_reference
properties_expression
qualifier
quantified_equation
quoted_operator
range
range_condition
referenced_definition
referenced_definition_seq0_
regular_element
regular_expression
regular_expression_list
rel_op
remote_procedure_context_parameter
remote_procedure_context_parameter_end
remote_procedure_definition
remote_procedure_save
remote_variable_context_parameter
remote_variable_definition
reset
reset_statement
reset_statement_list_
restrictions
reverse
save_list
save_part
sdl_specification
service_definition
service_reference
service_type_definition
service_type_reference
set
set_statement
set_statement_list_
signal_constraint
signal_context_parameter
signal_definition
signal_definition_item
signal_definition_item_list_
signal_list
signal_list_definition
signal_list_item
signal_route_definition
signal_route_endpoint
signal_route_path
sort
sort_context_parameter
sort_list
sort_list_
spelling_term
spontaneous_transition
start
state
state_list
stimulus
stimulus_list_
string_name
structure_definition
structure_primary
subexpression
subsignal_definition
subsignal_definition_seq1_
substructure_definition
synonym_context_parameter
synonym_definition
synonym_definition_item
system_definition
system_type_definition
system_type_reference
task
term
terminator_statement
timer_active_expression
timer_context_parameter
timer_definition
timer_definition_item
timer_definition_item_list_
transition
transition_string
type_expression
typebased_block_definition
typebased_process_definition
typebased_service_definition
typereference
unquantified_equation
upper_value
valident
value_returning_procedure_call
variable
variable_context_parameter
variable_definition
variables_of_sort
variables_of_sort_list_
via_path
via_path_element
view_definition
Tokens:
ABSENT
ACTIVE
ADDING
ALL
ALTERNATIVE
AND
ANY
APPLICATION
ARGUMENT
ARROW
AS
ASN
ASNTYPE
ASSIGN
ATLEAST
AXIOMS
BEG_REF
BIT
BLOCK
BLOCKTYPE
BOOLEAN
BSTRING
BY
CALL
CHANNEL
CHARSTRING
CHOICE
COMMENT
COMPONENT
COMPONENTS
CONCAT
CONNECT
CONNECTION
CONSTANT
CONSTANTS
CREATE
CSTRING
DCL
DECISION
DEFAULT
DEFINED
DEFINITIONS
DotDot
DotDotDot
ELSE
EMPTY
END
ENDALTERNATIVE
ENDASNTYPE
ENDBLOCK
ENDCHANNEL
ENDCONNECTION
ENDDECISION
ENDGENERATOR
ENDNEWTYPE
ENDOPERATOR
ENDPACKAGE
ENDPROCEDURE
ENDPROCESS
ENDREFINEMENT
ENDSERVICE
ENDSTATE
ENDSUBSTRUCTURE
ENDSYNTYPE
ENDSYSTEM
END_REF
ENUMERATED
ENV
EQ
ERRORS
EXPLICIT
EXPORT
EXPORTED
EXPORTS
EXTERNAL
FALSE
FI
FINALIZED
FOR
FPAR
FROM
GATE
GE
GENERATOR
GT
HSTRING
IDENT
IDENTIFIER
IF
IMPL
IMPLICATION
IMPLICIT
IMPORT
IMPORTED
IMPORTS
IN
INCLUDES
INHERITS
INPUT
INTEGER
INTERFACE
JOIN
LE
LEFTTYPEREFERENCE
LINKED
LITERAL
LITERALS
LQUAL
LSTRUC
LT
MACRO
MACROTYPE
MACROVALUE
MAP
MAX
MIN
MINUSINFINITY
MOD
MODBEGIN
MODULEREFERENCE
NAMECLASS
NE
NEWTYPE
NEXTSTATE
NODELAY
NOEQUALITY
NONE
NOT
NOTATION
NOW
NUL
NUMBER
OBJECT
OCTET
OF
OFFSPRING
OPERATION
OPERATOR
OPERATORS
OPTIONAL
OR
ORDERING
OUT
OUTPUT
PACKAGE
PARENT
PARTIAL_SPEC
PLUSINFINITY
PRESENT
PRIORITY
PRIVATE
PROCEDURE
PROCESS
PROCESSTYPE
PROVIDED
REAL
REDEFINED
REFERENCED
REFINEMENT
REM
REMOTE
RESET
RESULT
RETURN
RETURNS
REVEALED
REVERSE
RQUAL
RSTRUC
SAVE
SDLREAL
SELF
SENDER
SEQUENCE
SERVICE
SERVICETYPE
SET
SIGNAL
SIGNALLIST
SIGNALROUTE
SIGNALSET
SIZE
SPELLING
START
STATE
STOP
STRING
STRUCT
SUBSTRUCTURE
SYNONYM
SYNTYPE
SYSTEM
SYSTEMTYPE
TAGS
TASK
THEN
THIS
TIMER
TO
TRUE
TYPE
TYPEREFERENCE
UNIVERSAL
UN_OP
USE
VALIDENT
VALUE
VIA
VIEW
VIEWED
VIRTUAL
WITH
XOR
total number of grammar rules: 439
Automatically generated by yacc2html 1.4alpha3 on Fri Feb 7 14:38:17 1997
.