19 lines
542 B
Plaintext
Executable File
19 lines
542 B
Plaintext
Executable File
#
|
|
# The PROTO macro is a subterfuge to be compatible with both ANSI and K&R
|
|
# declaration syntax. It's not widely known, so for the docn just map the
|
|
# thing to ANSI declaration syntax.
|
|
#
|
|
# First, join up defns broken across multiple lines in source---but leave
|
|
# any linebreaks, to prettify our examples
|
|
:pbegn
|
|
/PROTO(.*, *$/N
|
|
s/\n/?/
|
|
t pbegn
|
|
s/?/\
|
|
/g
|
|
# Now actually do the PROTO interpretation.
|
|
# A PROTO invocation looks like
|
|
# PROTO( resulttype, function, (arglist));
|
|
s/[ ]*PROTO(\(.*\),[\n ]*\(.*\),[\n ]*\((.*)\));/\1 \2\3;/
|
|
|