FunnelWeb allows macros to have up to nine macro parameters, named @1, @2, …, @9. If a macro does not have a formal parameter list, it is defined to have no parameters, and an actual parameter list must not appear at the point of call. If a macro has a formal parameter list, it is defined to have one or more parameters, and a corresponding actual parameter must be supplied for each formal parameter, at the point of call.
Because FunnelWeb parameters have predictable names, the only information that a formal parameter list need convey is how many parameters a macro has. For this reason a formal parameter list takes the form of the highest numbered formal parameter desired, enclosed in parentheses sequences.
formal_parameter_list = "@(" formal_parameter "@)". formal_parameter = "@1" | "@2" | "@3" | "@4" | "@5" | "@6" | "@7" | "@8" | "@9"