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


5.9 Service declaration

 (24) service               ::= service-kind identifier "(" service-parameters
                                ")" opt-properties ";"
 (25) service-kind          ::= "function"
                              | "activity"
 (34) service-parameters    ::= [ { service-parameter "," } service-parameter ]
 (35) service-parameter     ::= parameter-dir type-spec declarator
                                opt-initializer
 (26) opt-properties        ::= [ "{" properties "}" ]
 (27) properties            ::= { property }
 (28) property              ::= component-property
                              | interface-property
                              | task-property
                              | service-property
                              | codel-property
                              | throw-property

 (29) service-property      ::= ( "task" identifier | "interrupts"
                                identifier-list | "before" identifier-list |
                                "after" identifier-list | "validate" codel )
                                ";"
 (30) codel-property        ::= opt-async "codel" ( codel ";" | fsm-codel ";" )
 (43) opt-async             ::= [ "async" ]