Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site sdcrdcf.UUCP
Path: utzoo!decvax!ittvax!dcdwest!sdcsvax!sdcrdcf!dberry
From: dberry@sdcrdcf.UUCP (Daniel M. Berry)
Newsgroups: net.text
Subject: help with vgrindefs
Message-ID: <1628@sdcrdcf.UUCP>
Date: Fri, 28-Dec-84 16:54:05 EST
Article-I.D.: sdcrdcf.1628
Posted: Fri Dec 28 16:54:05 1984
Date-Received: Sat, 29-Dec-84 10:11:07 EST
Distribution: net
Organization: System Development Corp. R+D, Santa Monica
Lines: 27

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