Software Support for Practical Grammar Development 
Bran BOGURAEV, John CARROLL Ted BRISCOE, Claire GROVER ~ 
Computer Laboratory, University of Cambridge 
Pembroke Street, Cambridge CB2 3QG, England 
Department of Linguistics, University of Lancaster 
Bailrigg, Lancaster LA1 4YT, England 
Abstract 
Even though progress in theoretical linguistics does not necessarily 
rely on the construction of working programs, a large proportion of 
current research in syntactic theory is facilitated by suitable 
computational tools. However, when natural language processing 
applications seek to draw on the results from new developments in 
theories of grammar, not only the nature of the tools has to change, 
but they face the challenge of reconciling the seemingly contradictory 
requirements of notational perspicuity and efficiency of performance. 
In this paper, we present a comparison and an evaluation of a number 
of software systems for grammar development, and argue that they 
are inadequate as practical tools for building wide-coverage 
grammars. We discuss a number of factors characteristic of this task, 
demonstrate how they influence the design of a suitable software 
environment, and describe the implementation of a system which has 
supported efficient development of a large computational grammar of 
English? 
1. Tools for Grammar Development 
A number of researzh projects within the broad area of natural 
language processing (NLP) and theoretical linguistics make use of 
special purpose programs, which are beginning to be known under the 
general term of "gm.nmar development environments" (GDEs). 
Particularly well known examples are reported in Kaplan (1983) (see 
also Kiparsky, 1985), Shieber (1984), Evans (1985), Phillips and 
Thompson (1985), Jensen et al. (1986) and Karttunen (1986). In all 
instances the software packages cited above fall in the class of 
computational tools used in theoretical (rather than applied) Projects. 
Thus Kaplan's Grammar-writer's Workbench is an implementation of 
a particular linguistic theory (Lexical Functional Grammar;, Kaplan 
and Bresnan, 1982); similarly, Evans' ProGram incorporated an early 
version of Generalized Phrase Structure Grammar (GPSG, Gazdar and 
Pullum, 1982), whilst PATR-II is a "virtual linguistic machine", 
developed by Shieber as a tool for experimenting with a variety of 
syntactic theories. 
These systems differ in their goals. Particular implementations of a 
theory may be used for observing how theory-internal devices interact 
with each other, or to maintain internal consistency as the grammar is 
being developed. On the other hand, formalisms for encoding 
linguistic information in a uniform way underpin effm~s to compare 
and evaluate alternative linguistic theories (Shieber, 1987). Neither 
type O f system is adequate to the task of grammar development on a 
large scale or for incorporating such a grammar into a practical NLP 
system, due to factors such as efficiency of encoding (largely 
neglected in such systems) or verbosity and redundancy of the formal 
notation. Within the frameworks of their aecomodating projects, these 
are in no way inadequacies of the computational tools; still, the 
applicability of the tools remains limited outside the strictly theoretical 
concem. 
developed at Yorktown Heights (Jensen et al., 1986). Both are capable 
of impressive coverage and this is, to some extent, due to the more 
flexible formalisms employed. A common feattne of these formalisms 
is that they all fall prey to what Kaplan 0987) refers to as "the 
procedural seduction" of computational linguistics: whatever the basis 
for the notation is, it incorporates a handle for explicit intervention 
into the interpretation of the grammar at hand. 
Sometimes the nature of the task for which the g~ammar is being 
developed justifies a form~J notation incolporating 'hooks' for explicit 
procedures. Thus a number of matchine translation (MT) projects~ 
especially ones employing a ~ransfer strategy, make use of format 
systems for grammar specification, which, in addition to mapping 
surface strings into con~esponding language structures, identify 
operations to be associated with nodes and / or subtrees (Vauquois & 
Boitet, 1985; Nagao et al., 1985). 
In general, the effects of the temptation to allow, for example, the 
EVALuation of arbitrary LISP expressions on the ares of the ATN or 
the addition of "procedural programming facilities" to the rule-based 
skeleton of 1BM's PLNLP have been discussed at length in the recent 
literature addressing the issues of declarative formalisms from a 
theoretical perspective (see Shieber, 1986a, and references therein). 
However, from the point of view of developing a realistic grammar 
with substantial coverage, the opening of the procedural 'back door', 
while perhaps useful fo: 'patching' the inadequacies in the linguistic 
theory during the exercise, can turn the whole process of grammar 
development and maintenance into an orgea~isational nightmare, as side 
effects accumulate and ripple effects propagate. 
A ~parate problem with allowing procedural attachment into the 
grammar formalism stems from the inevitable commitment to a 
particular version of a particular theory. Even wben a deliberate effort 
is made to develop a flexible and general framework capable of 
accomodating a range of 'underlying' linguistic operations, such a 
framework is bound eventually to become inadequate, especially as 
modem theories of grammar (strive to) become more declarative and 
tend to make reference to larger bodies of knowledge. A case ha point 
is the ARIANE system (Vauquois & Boitet, 1985): even though it was 
designed as a completely integrated programmaing environment, with 
the aim of enabling implementation of, and experimentation with, 
different linguistic theories, in reality the system has been unable to 
cope with radically new grammatical frameworks and computational 
strategies for text analysis. 
The question then arises of the optimal way of developing a 
practical grammar. This paper will report on our experience in 
building such a grammar, with a particular emphasis on how a number 
of constraining factors have influenced the design and implementation 
of the software tools for supporting the linguist's work. 
2. Design Considerations 
On the other hand, a number of syntactic formalisms have been 
used to develop wide-coverage grammars for use in practical NLP 
systems. The best known of these is the Augmented Transition 
Network formalism due to Woods (1970). More recent examples are 
the DIAGRAM grammar (Robinson, 1982) of SRI's TEAM natural 
language interface (Grosz et al., 1987) and the PEG grammar 
Currently with the IBM (UK) Science Centre. 
The work described here was supported by research grant 
GR/D/87321 from the UK Science and Engineering Research 
Council. 
For the last two yearn we have been engaged in a project aimed at 
substantial grammar development, as part of a larger effort to produce 
an integrated system for wide-coverage morphological and syntactic 
analysis of English. The overall objectives of tile combined effort arc 
described in a number of papers (see Russell et at., 1986; Phillips arid 
Thompson, 1987, and Briscoe et al., 1987). We aimed to achieve 
comprehensive coverage of English in two years, using only one 
linguist and one programmer full-time; the complete natural language 
toolkit was to be made available to the research community outside 
the immediate enviromnent whetx~ the grammar was being developed. 
Consequently, the software support for the linguist had to exhibit a 
number of characteristics to encourage high productivity, Particularly 
54 
critical among these are e.flicieney of implementation, perspicuity of 
rewesentatlon, ease of use and robt, stness of pofo~mance. 
Current theories of syntax have much to otter to practical systems; 
such theories, however, are under coustant development. For veu¢ 
pragmatic reasons, a project like outs ought to exploit a developed 
theory, For equally pragmatic reasons, it ought to be able to take 
advantage both of developments within the particular theory and of the 
evolving treatment of wuious linguislie phenomena. The question of 
tim relationship between the thcoretic~d Rn'malism and the formalism 
adopted m implement a practical grammar based on that theory then 
becomes of ceutral iml;~)rtance. For i~stance, it would bc inappropriate 
to adopt a direct imp!ementation of, say GPSG, since tire rate of 
change of the theory itself is likely to make such an implementation 
obsolete (or at least incapable of irmorporating subsequent linguistic 
analyses) quite rapidly - . file bdcf lifcspan of Ewms' ProGram is a 
case in point. ()nly when theou and grammar are beiug developed in 
very close collaboration, or even wifltin the same group -- - as in, for 
example, the })ewlctt.-Packard NLP project, whose cornerstotm is the 
linguistic framewolk of Head-Driven t'hrase Structm'e Grannnar 
(Proudian and Pollard, 1985; PollaN aud Sag, 1987) -- could such ~ul 
approach work. 
l}owever, itr mJ effint like om"a, it is of critical impmtauce to strike 
the right balance between i)eit~g failhfu\[ to the spirit nf a tbeo~y mid 
being uncommii:ted with respect to a particular vcrsien of it, as well as 
remaiuing tlexiNe within tile overall iianlcwoN of 'close' or related 
theories. Attempts to be too flexible, however, arc iikely to lead tit 
situations of wqich the PATII..II system is an example: the ability to 
model a wide t' rage of theoretical devices and mr(lyrical ti'amcworks is 
penalised by its unsuitability "for any major attempt at building 
natural-language grannnars" (Shicber, 1984:364). 
3o Our App~'ot4ch 
For a varict~/ of rea:;ons0 iuiollectual ~aid pragmatic, we chose to 
carry out the ~:rammar devclopnmni within ihe li'amewofl~ of GPSG 
(see Bogm'aev, 1988, iir mine detail~;). Ihiscoe et al. (1987) discuss 
further stone o:~' the major issues concerning tile dynamic intcractiou 
between the vltl'ions rtfle ty0es lind constrait~ls i~ (;PSG a~d their 
impact on the mplememability of the fl~co~y presented iu Gazdar et 
al. (1985). Frnm flm practical pempcetiw o1' computational grammar 
development, lberc are we impmtant COHCll.ISiOIIS. In order to achieve 
implementability, tire interpretation of the GPSG lonnaiism ~equires a 
number of ms|dcfions. In order to provide flexibility and expressive 
power, the lbn~alism itself needs a nmnber of extensions. In this light, 
the design of software support for gr~:urunar development becmnes 
similar to the task of designing a special tin,pose, high level computer 
hnlgtlage, lollowed by an h~qfl~mentatkm of an interactive 
programming oMiomnent for it. 
3,1 7he Formalism 
The gmmma," specification formalism, presented in detail in Can'o\]l 
et al. (1988), i~; in flint a metaogrummaticN formalism which avoids 
tire direct implementatimr of one particular synlactie lheory. While 
remaining close to the nf:~talion of GPSG, this formalism is nonethc!es:~ 
capable of specifying a range of syntactic thcoxie.,', and grammars. The 
specific choices during he design of such language have been heavily 
influenced by tile desire to be moderately committed to a theoretical 
framework without being unrteeessafily constrained wit(fin that 
framework. Fielding the fight balance places out' system half way 
between the extreme positions exemplified by ProGram and the 
Grammar..wliter~s Workbench, on the one hal(!, and PATR-II, on tire 
other. 
The recta-grammatical lbrmalism is designed to sttpl×ut a pariictdar 
model of grammar development, suggested by, for example, Kay 
(1985). We maintain clear separation between a recta-grammar, which 
is "the seat of linguistic universals" (Kay, 1985:276), and an 
equivalent (in the sense that it describes exactly the same language) 
object grammar, coupled directly to the l)alscr. The process of 
compiling the fonner into the latter constitutes the core of otlr GI)E. 
A nnmber of iV(l' projects, also seeking substantial coverage, make a 
seemingly similar distinction between a source and object 
grammar-see, for instance, ARIANE's static and dynamic (or 
procednraI) grammars (Vanquois & Boitet, 1985). However, there are 
differences, tirsly in interpretation--the dynamic grammar largely 
incorporates whatever execution strategy is employed lbr transfer--.and 
secondly ill emphasis--a dynamic grammar is (necessarily) derived 
manually Ii'mn astatk: one. Such efforts, then, do not have the notion 
of recta-grammar compilation, and consequently require less 
functionality from their suPtx, rt environments. We amplify this point 
below. 
Tim scparatiou between source and object grammars is the key to 
two of the eousiderations discussed in the previous section. By 
stopping short of embodying a particular theory, the fonnalism of the 
recta-grammar provides the linguist with an expressively flexible and 
powerful device Ibr grammar writing. By assuming a parser, whose 
underlying operation is based on a restrictive version of unification, 
the ohject gram,nat allows an efficient implementation. Morn 
specifically, the object grammar is made up of phrase structure rules 
with feature complexes as categories; parsing with it is based on flxed- 
arity, term unification. 
The recta-grammatical formalism is flexible and powerful. For 
example, it incolporates rule types for explicitly specifying feature 
propagation patterns, rather than 'hard-wiring' feature propagation into 
tile interpretion of Ihe rules (as in GPSG), arid provides a variety of 
alternative rule formats, for example, PS er ID/LP rules, (non)-linear, 
(non)-lexieed metarules, and so forth. The meta-grammar can be 
designed to be perspicuous, flexible aud expressively powerful with 
little regard lor issues of computational cmnplexity because this 
complexity 'disappears' during compilation into the object grammar, 
1caving a well-defined, invariant and computationally tractable object 
grammar to be deployed at parse time. The process of compilation is 
based on ordered application of the various types of meta-grammatical 
ntle to a set of 'base' PS or ID rules. 
3.2 The Environment 
The questions of optimal software envirmm~ent fro' supporting 
grammar development, particularly in a rule-based folanalism like ours, 
are very similar to the questions of interactive support for program 
developmant. A ~annber of special-pulpose tools have to be brought 
together in a lightly inzegrated 'sbeli' and organiscd around the core 
linguistic 'engine', which performs the reduction (compilation) of 
lneta- into object grammar. These tools must suport 
(1) rapid, incremental grammar development, 
(2) interactive granmar debugging, and 
(3) version maintenance and control. 
The grammar development environment incorporates a number of 
moduh's, oLganised round the compilation process. In particular, tire 
core functionality is provided by a morphological analyser, a parser 
lor ihe object grammar, and a generator. Tire user interface consists of 
a comntalld line inteqgreter, a number of special puqmse viewing 
modules for recta-grammatical constructs, and a component for 
displaying parse trees on non-graphics terminals. The system is 
designed to be completely portable and machine-independent, which 
influenced tire deliberate choice not to use any advanced graphics 
facilities. (These can incmporated if desired --- indeed the system has 
been ported to both the Apple Macintosh and Xerox 1186 
workstation). 
3.2.1 Detecting Overgeneration 
The need lor a pa~er fro' grammar development is uncontroversial; 
it assists thc linguist in finding gaps in grammatical coverage, 
checking the correctness of the syntactic description and weeding out 
spurious analyses. Our parser provides facilities for viewing syntactic 
descriptions in a variety of ways and batch parsing a growing corpus 
of examples to check the consistency of the developing grammar. Less 
obvious is the utility cf a generator. Karttunen & Kay (1985:2950 
discuss the use of such a component to generally explore the 
predictions made by a grammar concerning particular constructions. 
55 
However, their approach would not highlight the roles involved in 
overgcneration, particularly as the granlmar grows in size. Our 
generator allows the linguist to guide generation either implicitly, by 
specifying rule-sets of interest, or explicitly, by directly manipulating 
(partial) syntax trees. For example, if the focus of interest is relative 
clauses, then she can request the GDE to ignore inappropriate rules 
(for example, those relating to coordination) and ask for automatic 
generation of examples with a specified maximum length whose root 
node is that appropriate to dominate a relative clause. Alternatively, 
she can build a syntax tree interacfively by selecting the rule to apply 
from a menu of rule names generated automatically on specification of 
the next node to expand. Combining the two approaches allows 
automatic generation, fcr example, of specific types of relative clause; 
generation after building the partial syntax tree: 
r,e i 
NP\[+wh\] S\[SLASH NP\] 
would produce oNectrelative clansessuch as: 
who every cat liked 
who kim likes e " 
Automatic generation is a more natural technique for aiding discovery 
of ovcrgencration than parsing, because with the latter it is necessary 
for the linguist to guess where overgeneration may occur. 
3.2.2 Efficient Grammar Compilation 
The major potential bottleneck in grammar development is 
compilation, since changes to the grammar can only be fully evaluated 
by parsing or generating relevant examples. Complete grammar 
compilation is increasingly time consuming as the grammar grews; 
however, it does not have to he performed that often, given the ability 
to perlbrm incremental grammar compilation. Tile term "incremental" 
here is taken to mean both as little as possible and as rarely as 
possible. By analogy with high-level languages for rapid prototyping, 
where disruptions of the program development cycle ale avoided at all 
costs (consider, for instance, asynchronous garbage collection in Lisp), 
the intrusion of the grammar compiler into the linguist's work is kept 
to a minimum. Firstly, gran~mar compilation takes place 'on demand', 
so that the user need never worry about having to explicitly invoke it. 
Secondly, even though rules in large grammars tend to interact quite 
closely, it is rarely necessary to recompile the whole source every time 
an individual rule is changed. The GDE software caches compiled data 
to minimise the effort required during recompilation, and, by 
maintaining a model of the dynamic dependencies between a cluster of 
interconnected rules, it '.s able to ensure that the minimum amount of 
cached data is discarded when the grammar is changed. A 
consequence of this design is that individual components and rules at 
source level can be declared, and redefined, in any order. For example, 
the role 
S --> NP, VP. 
nmy be defined before it is even decided which features make up Ss, 
NPs and Vps. The user may postpone this decision until she actually 
~vants to use the ride for parsing a sentence. This experimental style of 
dcvclopmcnt parallels even turther that promoted by highly interactive 
systems, since it allows easy experimentation with small fragments of 
the grammar, without requiring, for instance, compilation of the 
complete source or loading of all declarations. 
Incremental compilation is made possible by designing the grammar 
compiler as a modular unit, comprising separate components for the 
interpretation of each of the statement types (for example alias 
declarations, feature propagation rules, or feature default statements) in 
the source (meta-grammatical) language. This has made it possible to 
combine these components into an integral package for efficient 
grammar compilation, as well as m incorporate them into individual 
commands, directly available to the linguist. 
3.2.3 Effective Grammar Debugging 
There are two further important consequences of our grammar 
compilation design. The first is the ability to monitor the effects of 
grammar expansion, by selectively filtering subsets of source grammar 
rules through specific compilation procedures. So, for example, the 
effects of a particular metarule can be assessed by applying it to a 
specified subset of 'base' rules. The second is the crucial capacity of 
source level debugging. In a development model which distinguishes 
between meta- and object grammars, efficient work is only possible if 
l%ulty grammar rules can be traced back to their original source in the 
recta-grammar. In our system, the output of a single command is 
usually sufficiant to pinpoint an error in the source. Nodes in parse 
trees are labelled with the name of the gramnmr rule licensing the 
local tree rooted at that node. Unlike some other systems, such as 
ProGram, the name of an object grammar talc always uniquely 
encodes the complete derivation path of the rule. Thus, for example, 
the rule name VP/TAKES NP (PASSIVE/+) uniquely identifies the 
rule derived from the application of the PASSIVE metarule to the 
rule introducing vps taking a single NP complement which requires a 
PP 'agent' phrase (distinguished from the version without the PP by 
/+). "Ihus faults in object grmnmar rules can easily be traced back to 
their meta-grammatical source. 
The use of unique rule names enhances the ability to view all or 
parts of the recta-grammar, as well as the results of partial 
compilation, along a number of dimensions, by means of patterns, 
with wild cards ranging over rule types and the names of rules. To 
facilitate this type of grammar browsing, arbitrary view requests can 
be constructed by using patterns eompositionally; thus in a particular 
grammar of ours, the patteru 
VP/PHRASAL* (*) & =NULL 
refers to the collection of VP rules introducing phrasal verbs which 
have had metarales applied to them resulting in the imroduction of the 
feature NULL. View requests may be further modified by indicating 
the level of detail required, i.e. whether the rules should be shown in 
their original source form, or partially or fully compiled. 
Viewing parse trees particularly facilitates source level debugging. 
Displaying a tree from the perspective of role names associated with 
the nodes, for example that resulting from parsing the phrase 'men and 
women': 
N/COORDI 
CONJ/NA CONJ/NB 
men and women 
can reveal whether right or wrong rules get activated. Fully displaying 
the category structures on tree nodes (Figure 1) gives an indication 
whether feature propagation regimes have been specified correctly. 
Viewing the gross structure of the tree, in this case 
((men) (and women)) 
suggests whether the parse is correct or not; furthermore, in the case 
of multiple parses, nodes with common analyses can be factored out, 
thus helping localise the source of the error. 
Errors are only dealt with at source level; editing facilities 
incorporate knowledge about file syntax of all constructs in the metao 
grammatical formalism The process of editing is integrated with 
extensive bookkeeping, which frees the grammar writer from the task 
of explicitly maintaining version backups and checks for consistency 
of the object grammar with respect to a particular meta-grmnmar. 
The command interpreter is sensitive to work context and is 
capable, at any stage, to prompt for input appropriate to the current 
state in tile grammar development process. For example, if the linguist 
has parsed a sentence which resulted in three analyses, she can display 
the category associated with any node of any of the analyses by typing 
56 
N/COORDI 
N\[-POSS, +PLU, -PRO, 
SUBCAT NULL, PN -\] 
CON,}/N~ 
N\[-POS~, +PLU, -PART, -PRO, +COUNT, CONJ NULL,. 
SUBCAT NULL, NFORM NORM, PER 3, PN-\] N\[-POSS, +PLU, -PART, -PRO, +COUNT, CONJ AND, SUBCAT NULL, NFORM NORM, PER 3, PN -\] 
men 
N\[..-POSS, +PLU, -PART, -PRO, +COUNT, SUBCAT 
NULL, NFORM NORM, PER 3, PN -\] 
~d 
\[SUBCAT AND, 
CONJN +\] 
women 
N\[-POSS, +PLU, -.PART, -PRO, +COUNT, SUBCAT 
NULL~ NFORM NORM, PER 3, PN -\] 
Figure 1. Fully Detailed Parse Tree for 'men and women'. 
a single command lequiring two arguments. Alternatively, by just 
typing carria\[~e return after the command name, she can request the 
GDE command interpieter to prompt for values tbr these parameters 
by displaying menus of values only applicable to the current work 
context, for e>mmple 
> view 
Rules/Full/CAtegory . ..? Catego~ 
Paxse tree number (I to 3)? I 
Appropriate tree nodes are: 
i. N/COORD'I 2. CONJ/NA 3. men 
4. CONJ/NB 5. and 6. women 
Which (ine (give its number)? 1 
IN +, w -., BAR 0, SUBCAT NULL, PRD @544, 
NFOt~M @545, PER @546, PLU +, COUNT @547, 
CASt', @548, PN -, PRO -, PART @549, POSS -\] 
In this fashion, potentially highly-ambiguous commands, such as view 
are localised to the current context. One of the unexpected 
consequences of this design is that it makes the system relatively 
accessible to inexperienced users and has made tcasible the use of the 
system tbr educational purposes. 
4. Collc|usiol~ 
The desig, of a software system for grammar development clearly 
depeuds on 01e linguistic choices for, aud pragmatic requirements of, 
the NLP task. It is not surprising timt a number of MT efforts, 
motivated by the need tbr st~bstantial coverage, have implemented 
their own GOEs. Pethaps file most comprehensive of these is the 
METAL-SHOP research environment of the METAL MT system 
(White, 1987), wltich includes facilities for selective viewing of parse 
trees, tracing of the grammar rules as they are invoked by the parser, 
and editing the grammar at source. The system makes, and conforms 
to, a clear-cat distinction between descriptive grammar rules and 
separate mechanisms for their interpretation, tlowever, since the 
formal model used is titat of augmented phrase structure grammar 
which does not undergo auy compilation into object grammar, the 
fimetionality of the METAL-SHOP GDE, while adequate in the 
practical context it is used in, remahts below that of the system we 
describe. 
Even though we have worked within a particular theoretical 
fi'~wuework, thole are genoralisations to be made concerning practical 
grammar development within the framework of any of the current 
syntactic thee, ties. In particular, it is important to realise that software 
support tbr :inch a task does not imply, arm should not be reduced to, 
tile provision of' a set of computational tools for e.g. gtanlmar editing, 
inspocting th4; output from a parser, or comfortably interacting with 
the system..Ln effozt of this scale crucially requi~es critical evaluation 
of the u,deriylng lingntstle theory, so that the right combination o\[ 
pragmatically motivated and linguistically correct modifications and 
revisions is ~bund and implementexl, We are not alone in our findings; 
our approach to making computational sense of GPSG is similar to the 
(unimplemenled) plvposals of Shieber (1986b) and Ristad (1987). 
The system described above is fully implemented and running on a 
number of hardware configurations. A wide-coverage grarmnar 
involving two woman/yeal~ of effort has been developed. A set of 
programs in Common Lisp, together with a user manual (Carroll et al., 
1988) and description of our grammar (Grover et al., 1988) are 
available through the Artificial Intelligence Applications Institute in 
Edinburgh. 
References

Boguraev, B. (1988) 'A natural language toolkit: reconciling theory 
with practice' in Rohrer C. & U. Reyle (ed.), Natural Language 
Parsing and Linguistic Theories, Reidel, Dordl~echt, pp. 95-130. 

Briscoe, E., C. Grover, B. Boguraev & J. Can'oll (1987) ~A formalism 
and environment for the development of a lalge grammar of 
English', Proceedings of lOth International Cot~ference on Artilicial 
Intelligence, Milan, Italy, pp. '103-'/08. 

Carroll, J., B. Boguraev, C. Grover & E. Briscoe (1988) The Grammar 
Development Envb'onment: User Manual, Technical Report no. 127, 
Computer Imboratory, University of Cambridge. 

Evans, R. (1985) 'ProGram --- a development tool for GPSG 
grammars', Linguistics, vol. 23(2), pp. 213-243. 

Gazdar, G., E. Klein, G. Pullum & I. Sag (1985) Generalized Phrase 
Structure Gratmnar, Oxlbrd: Blackwell and Cambridge: Harvard 
University Press. 

Grover, C., E. Briscoe, B. Boguraev & J. Carn311 (1988) The Alvey 
Natural Language Too& Project Grammar: A Wide-Coverage 
Computational Gratrmlar of English, Lancaster Working Papers in 
Linguistics, no. 47. 

Grosz, B., D. Appelt, M. Douglas & F. Pelcira (1987) "II~,AM: An 
experiment in the design of transportable natural language 
interfaces', Artificial Intelligence, vol. 32(2), pp. 173-244. 

Jensen, K., G. Heidom, S. Richardson & N. Haas (1986) PLNLP, 
PEG a~ul CRITIQUE: ?7tree contributions to computing in the 
ht#nanities, Research Report RC 11841, Computer Science 
Department, IBM TJ Watson Research Center, Yorktown Heights, 
NY. 

Kaplan, R. & J. Bresnan (1982) 'Lexical-functional grammar: a formal 
system for graramatical representation' in J. Bresnan (ed.), The 
Mental Representation of Grammatical Relations, MIT Press, 
Cambridge, MA, pp. 173-281. 

Kaplan, R. (1987) 'Three seductions of computational 
psycholinguistics' in P. Whiteloek et al. (ed.), Linguistic Theory 
and Computer Applications, Academic Press, New York, 
pp. 149-188. 

Karttunen, L. (1986) 'D-PATR: A development envil~nment for 
unification-based grammars', Proceedings of llth International 
Congress on Computational Linguistics, Bonn, Germany, pp. 74-80. 
57 

Karttunen, L. & M. Kay (1985) 'Parsing in a free word order 
language' in Dowty, D., L. Karttunen & A. Zwicky (ed.), Natural 
Language Parsing, Cambridge University Press, Cambridge, 
pp. 279-306. 

Kay, M. (1985) 'Parsing in functional unification grammar' in Dowty, 
D., L. Karttunen & A. Zwicky (ed.), Natural Language Parsing, 
Cambridge University Press, Cambridge, pp. 251-278. 

Kiparsky, C. (1985) LFG manual, Manuscript, XEROX Palo Alto 
Research Center, Palo Alto, CA. 

Nagao, M., Tsujii, J. & Nakamura, J. (1985) 'The Japanese 
Government Project for Machine Translation', Computational 
Linguistics, vol. 11(2), pp. 91-110, 

Phillips, J. & H. Thompson (1985) 'GPSGP -- A parser for 
generalised phrase structure grammars', Linguistics, vol. 23(2), 
pp. 245-261. 

Phillips, J. & H. Thompson (1987) 'A parser and an appropriate 
computational representation for GPSG' in Klein, E. & N. 
Haddock (ed.), Cognitive Science Working Papers, Centre for 
Cognitive Science, University of Edinburgh. 

Pollard, C. & I. Sag (1987) Head-driven Phrase Structure Grammar, 
CSLI Lecture Notes Number 12, CSLI, Stanford, CA. 

Proudian, D. & C. Pollard (1985) 'Parsing head-driven phrase structure 
grammar', Proceedings of 23rd Annual Meeting of the Association 
for Computational Linguistics, Chicago, IL, pp. 167-171. 

Ristad, E. (1987) 'Revised generalized phrase structure grammar', 
Proceedings of 25th Annual Meeting of the Association for 
Computational Linguistics, Stanford, CA, pp. 243-250. 

Robinson, J. (1982) 'DIAGRAM: A grammar for dialogues', 
Communications of the ACM, vol. 25(1), pp. 27-47. 

Russell, G., S. Pulman, G. Ritchie & A. Black (1986) 'A dictionary 
and morphological analyser for English', Proceedings of 11th 
International Congress on Computational Linguistics, Bonn, 
Germany, pp. 277-279. 

Shieber, S. (1984) 'Th~ design of a computer language for linguistic 
information', Proceedings of lOth International Congress on 
Computational Lingu:stics, Stanford, California, pp. 362-366. 

Shieber, S. (1986a) An Introduction to Unification-based Approaches 
to Grammar, CSLI Lecture Notes Number 4, CSLI, Stanford, CA, 
and University of Chicago Press. 

Shieber, S. (1986b) 'A simple reconstruction of GP3G', Proceedings 
of llth International Conference on Computational Linguistics, 
Bonn, Germany, pp. 211-215. 

Shieber, S. (1987) 'Separating linguistic analyses from linguistic 
theories' in P. Whitelock et al. (ed.), Linguistic Theory and 
Computer Applications, Academic Press, New York, pp. 1-36. 

Vauquois, B. & Boitet, C. (1985) 'Automated Translation at Grenoble 
University', Computational Linguistics, vol. 11(1), pp. 28-36. 

White, J. (1987) 'The research environment ill the METAL project' in 
Nirenburg, S. (ed.), Machine translation: Theoretical and 
methodological issues, Cambridge University Press, Cambridge, 
UK, pp. 225-246. 

Woods, W. (1970) 'Transition network grammars for natural language 
analysis', Communications of the ACM, vol. 13(8), pp. 591-606. 
