5.5.5 Parser.oz

Functor Parser (see Section A.11), imports modules Entry, Lexicon, and Gamma defined previously, as well as module Select. Module Select is neither part of this application nor of the Mozart distribution. Rather it is a 3rd party package provided by me. Like all 3rd party packages, it is available through the MOGUL repository. In order to run this application you need to download and install the package known in MOGUL by the id mogul:/duchier/select. See Section 6.9.1 for further details.

The module exports function ParsePredicate which takes a list of words (input phrase) as argument and returns a predicate appropriate for encapsulated search (i.e. as an argument to e.g. ExploreAll).

<Parser.oz>=
functor 
import 
   FD FS
   Entry(
      category  : Category
      agreement : Agreement
      roles     : Roles
      marks     : Marks
      allRoles  : AllRoles
      complementRoles:ComplementRoles)
   Lexicon(get)
   Gamma
   Select(fs fd union) at 'x-ozlib://duchier/cp/Select.ozf' 
export 
   ParsePredicate
define 
   
<Parser variables> 
   
<Parser helper functions> 
   
<Parser MakeNode> 
   
<Parser ParsePredicate> 
end



Denys Duchier
Version 1.2.0 (20010221)