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