Next: , Previous: Attribute declaration, Up: Input file format


5.9 Service declaration

 (26) service               ::= service-kind identifier "(" service-parameters
                                ")" opt-properties ";"
 (27) service-kind          ::= "function"
                              | "activity"
 (31) service-parameters    ::= [ { service-parameter "," } service-parameter ]
 (32) service-parameter     ::= parameter-dir type-spec declarator
                                opt-initializer
(123) opt-properties        ::= [ "{" properties "}" ]
(124) properties            ::= { property }
(125) property              ::= component-property
                              | interface-property
                              | task-property
                              | service-property
                              | codel-property
                              | throw-property

 (28) service-property      ::= ( "task" identifier | "interrupts"
                                identifier-list | "before" identifier-list |
                                "after" identifier-list | "validate" codel |
                                "local" local-variables ) ";"
 (40) codel-property        ::= opt-async "codel" ( codel ";" | fsm-codel ";" )
 (36) opt-async             ::= [ "async" ]