Formal Syntax for the PAT™ Text Searching Language
Originally produced May 10, 1990Centre for the New OED and Text Research, University of Waterloo
Edited for HTML access by Frank Tompa
PAT™ is a registered trademark of Open Text Corporation
The following grammar describes the formal syntax of the query language accepted by PAT™.
Statement : IndexControl | EnvirControl | Query |"=" Query | Print | "history" | "stop" | "quit" | "done" | Query : Boolean | OpCode OptParam OptQuery Boolean : Boolean "+" ABoolean | ABoolean ABoolean : ABoolean "^" RBoolean | NxtBoolean | RBoolean "not" "nxt" Proxim RBoolean | FbyBoolean | RBoolean "not" "fby" Proxim RBoolean | DiffBoolean | RBoolean FbyBoolean : RBoolean "fby" Proxim FbyBoolean | RBoolean "fby" Proxim RBoolean NxtBoolean : RBoolean "nxt" Proxim NxtBoolean | RBoolean "nxt" Proxim RBoolean DiffBoolean : DiffBoolean "-" RBoolean | RBoolean "-" RBoolean | RBoolean "including" OptParam RBoolean | RBoolean "within" RBoolean RBoolean : PrimBoolean | ".." | "docs" | "docs" | "docs" PrimBoolean ".." PrimBoolean PrimBoolean : | "(" Query ")" | | "[" "]" | "*" | "%" Proxim : | "." OpCode : "lrep" | "sample" | "signif" | "shift" OptParam : | "." | "." "-" OptQuery : | Query IndexControl : "{" "Mode" "}" | "{" "CharMappings" Sep ListOfWords "}" | "{" "StopWords" ListOfWords "}" | "{" "NumberChars" "}" | "{" "NumberExtNodes" "}" | "{" "LongestMatch" "}" | "{" "WordSeparators" "}" | "{" "HashValue" "}" EnvirControl : "{" "PrintMode" "}" | "{" "PrintLength" "}" | "{" "Proximity" "}" | "{" "SampleSize" "}" | "{" "Textfilename" TextData "}" | "{" "TreeFilename" "}" | "{" "SaveFile" "}" | "{" "DocumentFile" "}" ListOfWords : | ListOfWords Sep TextData : TextDatum | TextData Sep TextDatum TextDatum : ":" ".." "(" ) ")" Print : ("pr"|"save") OptLength OptQuery | ("pr"|"save") PrDocs OptQuery PrDocs : "." docs | "." docs DocsRef DocsRef : | | "*" OptLength : | "." Sep : | "," |