[net.text] help with vgrindefs

dberry@sdcrdcf.UUCP (Daniel M. Berry) (12/29/84)

There is something puzzling about the form of the vgrindefs:
Specifically consider:
	:pb=(^\d?procedure|function|program\d\p\d|\(|;|\:)|(=\d?record\d):\
from the pascal definition.
Why are there no parentheses around (procedure|....|program)?
It appears to me that the quoted line says that a procedure begins with
any one of the following
1.new-line,optional-delimiter,"procedure"
2."function"
3."program",delimiter,identifier,delimiter
4."("
5.";"
6.":"
because of the way the parens surround the ors.
But then why is the whole line structured as
(.....)|(.....)
?
I would think that the correct line would be...
	:pb=(^\d?(procedure|function|program\d\p\d|\(|;|\:))|(=\d?record\d):\
                 ^                                        ^
Can someone explain the precedence rules?
Thanks
Dan Berry
Happy New Year
reply to
dberry@ucla-cs
{ihnp4,cepu,sdcrdcf}!ucla-cs!dberry