Node:ATa, Next:, Previous:ATA_, Up:AT commands



@a: Begin code part of unnamed section, and mark

@a begins the code part of an unnamed section (just as does @A), and in addition marks the next unreserved identifier it finds as defined in this section. Precisely,

@a == @A@[

Originally, FWEB did not contain the @A command, so when the functionality of automatically marking the next unreserved identifier (see AT[) was added, it was natural to add it to @a. A reasonable style of coding is to always use @a if you don't know any better; if you sometime run into trouble, you can then change selected @as to @As. For example, it is appropriate to use @a if one codes one function per section. E.g.,

@c
@
@a
int
subrtn()
{}

Here the @a marks subrtn as defined in this section; if that identifier is used elsewhere, it will be subscripted with the section number. (To turn this feature off, use -f; see -f.) However, if a section contains an arbitrary code fragment, the code part should probably begin with @A. E.g.,

@c
@
@A
x = y;

If one had used @a here, the x would have been marked as defined here, which is not what one wants.