A number of syntactic symbols are associated with parenthesis lists, a.k.a argument lists, as found in function declarations and function calls. This example illustrates these:
1: void a_function( int line1, 2: int line2 ); 3: 4: void a_longer_function( 5: int line1, 6: int line2 7: ); 8: 9: void call_them( int line1, int line2 ) 10: { 11: a_function( 12: line1, 13: line2 14: ); 15: 16: a_longer_function( line1, 17: line2 ); 18: }
Lines 5 and 12 are assigned arglist-intro
syntax since they are
the first line following the open parenthesis, and lines 7 and 14 are
assigned arglist-close
syntax since they contain the parenthesis
that closes the argument list.
Lines that continue argument lists can be assigned one of two syntactic
symbols. For example, Lines 2 and 17
are assigned arglist-cont-nonempty
syntax. What this means
is that they continue an argument list, but that the line containing the
parenthesis that opens the list is not empty following the open
parenthesis. Contrast this against lines 6 and 13 which are assigned
arglist-cont
syntax. This is because the parenthesis that opens
their argument lists is the last character on that line.
Syntactic elements with arglist-intro
,
arglist-cont-nonempty
, and arglist-close
contain two
buffer positions: the anchor position (the beginning of the
declaration or statement) and the position of the open parenthesis.
The latter position can be used in a line-up function (see Line-Up Functions).
Note that there is no arglist-open
syntax. This is because any
parenthesis that opens an argument list, appearing on a separate line,
is assigned the statement-cont
syntax instead.