UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

A model of grammar based on principles of government and binding Sharp, Randall Martin 1985

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata


831-UBC_1985_A6_7 S51.pdf [ 8.5MB ]
JSON: 831-1.0051899.json
JSON-LD: 831-1.0051899-ld.json
RDF/XML (Pretty): 831-1.0051899-rdf.xml
RDF/JSON: 831-1.0051899-rdf.json
Turtle: 831-1.0051899-turtle.txt
N-Triples: 831-1.0051899-rdf-ntriples.txt
Original Record: 831-1.0051899-source.json
Full Text

Full Text

A M O D E L OF G R A M M A R BASED O N PRINCIPLES OF G O V E R N M E N T A N D BINDING  by R A N D A L L M A R T I N SHARP B.Sc,  A THESIS  Simon Fraser University,  1977  SUBMITTED IN PARTIAL F U L F I L M E N T OF  THE REQUIREMENTS FOR THE DEGREE MASTER OF  OF  SCIENCE  in T H E F A C U L T Y O F G R A D U A T E STUDIES Department of Computer  W e accept this thesis as  Science  conforming  to the required standard  T H E U N I V E R S I T Y O F BRITISH C O L U M B I A October,  ®  1985  Randall M a r t i n Sharp,  1985  In presenting  this thesis in partial fulfilment of the  requirements  for an advanced  degree at  The University of British Columbia, I agree that the Library shall make it freely available for reference and study. scholarly  purposes  representatives.  I further agree that permission for extensive copying of this thesis for  may  be  granted  It is understood  by  the  Head  Department of Computer Science  The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V 6 T 1W5  1985  my  Department  that copying or publication of this  shall not be allowed without my written permission.  Date: October.  of  or  by  thesis for  his  or  her  Financial  gain  Abstract This thesis describes an implementation of a model of natural language grammar based on  current theories  Binding  (GB)  of transformational  theory.  A  grammar, collectively referred  description is presented  of  the  to as Government  principles of G B , including  and  X-bar  syntax and the theories of Case, Theta, Binding, Bounding, and G o v e r n m e n t The principles, i n effect, constitute an embodiment of "universal grammar" ( U G ) , i.e. the abstract of the  innately endowed human language  faculty.  Associated with  the  characterization  principles is a set  of  parameters that alter the effect of the principles. The "core grammar" of a specific language is an  instantiation  of  UG  with  the  parameters  set  in  cross-linguistic nature of the theory, a subset of the  a  particular way.  "core  To  demonstrate  grammars" of Spanish and English  is implemented, including their parametric values and certain language-specific required  to characterize  grammatical  converted through a series language.  To  this  of reverse  representation,  sentences.  Sentences  transformations  transformations  are  to  the  in one a  language  are  base representation  applied that  produce  a  transformations read i n the set  of  in  and target  output  sentences. The well-formedness of these sentences is verified by the general principles of U G as controlled by the parameters.  A n y that fail to meet the conditions are rejected so that only  grammatical sentences are displayed. The model is written i n the Prolog programming language.  ii  Table of Contents 1.  INTRODUCTION  1  2.  LINGUISTIC F R A M E W O R K  4  2.1  Rule Systems  5  2.2  Systems of Principles  7  2.2.1 X - B a r Theory  9  2.2.2 Theta Theory  14  2.2.3 Case Theory  15  2.2.4 Government Theory  17  2.2.5 Binding Theory  20  2.2.6 Bounding Theory  21  2.2.7 Control Theory  23  3.  REPRESENTATIONS  24  3.1  Lexicon  24  3.1.1 Dictionary  24  3.1.2  Suffix Table  27  3.1.3 Contraction Table  28  3.1.4 Collocation Table  28  Phrase Structure  29  3.2.1 C O M P  29  3.2.2 I N F L  30  3.2.3 V P  30  3.2.4 N P , P P , A P  31  3.2.5 S-Adjunction  31  3.2.6 Example  32  3.3  Empty Categories  32  3.4  Grammar  33  3.4.1 Phrase Structure Rules  34  3.2  iii  4.  5.  6.  TRANSFORMATIONS  38  4.1  Move Alpha  38  4.2  Move Affix  39  4.3  N u l l Subject  40  4.4  Inversion  41  4.4.1  42  Subject-Auxiliary Inversion  4.4.2 H a v e / B e Raising  43  4.4.3 D o Support  44  4.4.4 Verb Fronting  45  4.5  It Insertion  46  4.6  Complementizer Insertion  47  4.7  M o d a l Insertion  48  4.8  Successive Cyclicity and Order of Transformations  49  CONDITIONS O N REPRESENTATIONS  52  5.1  Extended Projection Principle and Theta-Criterion  52  5.2  D o u b l y - F i l l e d C O M P Filter  53  5.3  Case Filter  54  5.4  Binding Conditions  57  5.5  Empty Category Principle  60  EXECUTION  63  6.1  Sentence Input  64  6.2  Morphological Analysis  65  6.3  Parsing  66  6.4  Reverse Transformations  67  6.4.1 Rinversion  68  6.4.2 Percolate  69  6.4.3  70  Rmove-Affix  iv  7.  6.4.4 Theta- Extraction  71  6.4.5  71  Do-Support  6.4.6 It-Insertion  72  6.4.7  Null-Subject  72  6.4.8  Rmove- Alpha  72  6.4.9  WH-Feature-Extraction  73  6.5  Translation  .....74  6.6  Transformations  77  6.6.1  79  Set-TNS  6.6.2 M o v e - A l p h a  79  6.6.3 It-Insertion  80  6.6.4 Null-Subject  81  6.6.5 D o - S u p p o r t  81  6.6.6  Move-Affix  81  6.6.7  COMP-Insertion  82  6.6.8  Modal-Insertion  83  6.6.9 Inversion  83  6.7  PF-Generation  84  6.8  Sentence Output  84  6.9  Examples  85  6.9.1 Transformational Phase  85  6.9.2 Well-formedness Phase  86  E V A L U A T I O N A N D DISCUSSION  89  7.1  Representations  89  7.1.1  Lexicon  89  7.1.2  Phrase Structure  92  7.1.3  Configurationality  95  v  7.1.4 7.2  8.  Well-Formedness Conditions  97  Execution  99  7.2.1  Relation to Logic Grammars  99  7.2.2  Parsing  100  7.2.3  Translation  102  7.2.4  Generation  105  Conclusion  107  Bibliography  109  Appendix A . E X A M P L E S  113  Appendix B. Prolog Code -  English Lexicon  117  Appendix C . Prolog Code -  Spanish Lexicon  123  Appendix D . Prolog Code -  EXEC  132  Appendix E. Prolog Code -  READINPUT  136  Appendix F . Prolog Code -  MORPH  138  Appendix G . Prolog Code -  Core Grammars  141  Appendix H . Prolog Code -  XBAR  148  Appendix I. Prolog Code -  RTRANSFORM  150  Appendix J. Prolog Code -  TRANSLATE  155  Appendix K . Prolog Code -  TRANSFORM  158  Appendix L . Prolog Code -  GENERATE  167  vi:  Acknowledgements I  wish  to  acknowledge  the  tremendous  support  and  guidance  I  received  from  my  supervisor, D r . Michael Rochemont, who first introduced me to syntax and linguistic endeavors. Words cannot express the measure of my gratitude. I would also like to thank  Dr.  Harvey Abramson for technical  Kobbervig for assistance with Spanish, the graduate for their encouragement  assistance, D r .  students in the Department  Karl  of Linguistics  and spirit, and various friends who have helped in their own special  way, including Donald Acton (a  wizard), Gladys Wong (bless her  Michael Tropp.  Viii  heart), M a r i a Perez,  and  Chapter 1 INTRODUCTION  One  of the  aims  of linguistic inquiry  is the  analysis of human languages  and  the  underlying systems of grammar. A n increasingly prevalent trend among modern linguists is the construction of a theory languages,  rather  than  of  grammar  merely  that  is appropriate  descriptive of  any  one  for the  language  or  description of all human family of  languages.  A  significant factor in the formulation of a general theory of grammar is the degree to which it provides an explanation for the empirical facts of the language.  The explanatory power of a  theory is important to those researchers who, for example, are curious about how language is acquired by children. In the development of a theory of natural grammar, there is a clear preference  away  from rule-oriented descriptions of grammar to principle-based descriptions. This has a number of consequences. Firstly, it simplifies the descriptions of natural grammars, since the interaction of only a few principles can account for a wide range of data that would otherwise require numerous distinct rules. realized "language  Secondly, it contributes very strongly to the concept o f a genetically  faculty", where the principles of a universal grammar ( U G ) are  somehow  inherent i n the biological endowment of human beings and serve to account for the rapidity with  which  normal  children acquire  language.  Thirdly,  it  reduces  the  variety  of  possible  grammars by restricting the applications of rules. According  to  some  linguists, transformational generative  grammar still  holds the  best  promise of a concise, encompassing principle-based theory of natural grammar. Transformational theory  has  Structures  undergone (1957)  Standard Theory."  and  considerable the  change  subsequent  since  enrichment  the  publication  generally  of  referred  Chomsky's to  as  the  Syntactic "Extended  In particular, the emphasis on the principles of U G rather than rules has  effectively reduced the set of transformations to the single rule M o v e - a , where a  1  arbitrarily  2  selects across the set of grammatical categories, and i l l - f o r m e d results are filtered out by virtue of  the  principles.  The  principles  act  as  conditions  on  the  well-formedness  of  linguistic  representations. Cross-linguistic description can now be attempted by specifying parameters to  the  principles that  would  account  particular language, referred to as the settings  of  the  parameters.  The  for  language  "core  core  differences.  The  grammar  grammar", would be represented  grammars  in  conjunction  with  UG,  of variation of  any  one  solely by  the  modified  by  idiosyncracies of markedness, determine the set of actual grammars. This holds conceptually at the individual level as well as the language family level. This discussion of grammars is restricted to issues relating to syntax, although clearly other aspects, such as semantics, morphology, pragmatics, phonology, etc., combine to yield the empirical  facts of human language.  These other aspects may also be  expressed  in terms  of  basic principles and rule systems, not necessarily the same as those for syntax. The principle of  the  autonomy  of  syntax  (Chomsky . 1977a)  maintains  a  conceptual  separation,  though  interrelatedness, among these components, and allows for independent investigation of each area. This thesis looks at a particular subset of some of the principles and rules involved i n a  theory  of  transformational grammar  binding ( G B )  as  drawing primarily  on the  developed by Chomsky (1981) and several  theory  other  of government  researchers.  A  and  model is  constructed that attempts to simulate the effects of U G , modified by parametric variation and combined with language-specific rules, in the context of parsing, generation, and translation of natural  language.  representing  the  The theory  primary  goal  of  the  computationally, thereby  research  is  to  investigate  the  feasibility  of  formalizing it  in some,  albeit prototypical,  sense. Because of their inherent similarities, the languages of Spanish and English were chosen to  demonstrate  the  model. This minimizes the  variability one  might expect  language grammars, and makes the computational realization more tractable. succeeds,  under some reasonable  i n two distinct If the  endeavor  criteria for success, then several possibilities are opened up.  3  The  formalization of U G can be improved, extending the range of grammatical  constructions.  The core grammars can be improved to further develop the coverage of Spanish and English sentences. Other core grammars could be added, which would have the dual effect of verifying the principles and their realization, and of enhancing our understanding of the theory so  that  fundamental  refinements  to  it may  be  made.  Finally, in the  area of  of-UG  applications  research, the model may contribute to the eventual realization of a language processing  device,  not only for translation, but also for the intelligent recognition and production of written and spoken communication. The language  computational  system  described  specifically designed for the  here makes  use  of Prolog, a logic programming  manipulation of non-numeric  symbolic data.  Numerous  natural language applications have been developed in Prolog (Dahl 1983, Schwind 1984), though none are known to exist that are based on the concepts underlying the current work. The  thesis  is  organized  as  follows:  Chapter  2  presents  the  linguistic  framework  underlying the theory of U G . Chapter 3 covers the representations  i n Prolog of the linguistic  structures.  being modeled. Chapter 5  Chapter 4 describes  concerns the Chapter  6  conditions presents  a  that  with  determine  breakdown  translation, and generation. the  in detail the various transformations  of  well-formed the  overall  structures system,  and  how  including the  they  are  stages  of  modeled. parsing,  Chapter 7 evaluates the work and provides a discussion of some of  issues that have arisen in the construction of the model. Chapter 8 concludes the a  summary  of  results  and  areas  dialogues illustrating the performance entire Prolog program.  for  future  research.  Appendix A  contains  study sample  of the system, and the remaining appendices contain  the  Chapter 2 LINGUISTIC  FRAMEWORK  The description of natural grammars can be viewed from two perspectives.  One is the  rule-based approach. We use rules in learning, for example, that past tense is normally formed by adding -ed  to words. We hear children follow the rules, and learn the exceptions, often by  over-application  of the  rule and subsequent  retreat  Syntactic  rules are  learned in forming  questions, and we follow semantic rules when we learn meanings. A n on-going activity among many researchers in linguistics is the description of these rules at the various levels. A second approach is principle-based, where fundamental principles of grammar account for the well-formedness of linguistic constructions. They hold of the applications of rules and have  the  effect  of  constraining  the  set  of possible  rule  derivations.  Principles needn't  be  learned; they are somehow inherent i n the mechanism of language. Since  the  mid-50s,  following  generative grammar has been (e.g.  Chomsky's Syntactic  rigorously  Structures  (1957), transformational  studied from a formal perspective by many linguists  Peters and Ritchie (1973), Lasnik and K u p i n (1977), Wexler and Culicover (1980)).  The  evolution i n this enterprise has been a shift from rule descriptions to descriptions of general principles, motivated in large part by the explains, not just describes,  desire  linguistic phenomena.  for a theory of grammar that Out of this endeavor  arises  adequately  a theory  of  universal grammar ( U G ) , i.e. that grammar that represents the linguistic knowledge common to all human languages.  This in turn leads to a theory of language acquisition and helps explain  why language is learned as fast as it is. As a consequence, rules  that  movement,  must such  be as  the rule component of grammar diminishes, reducing the number of  explicitly learned. Raising-to-Subject,  In  particular,  all  the  rules  Extraposition, W H - F r o n t i n g ,  that  etc.,  seem  reduce  to to a  involve single  rule, M o v e - a , i.e. "move any category anywhere." Over-applications of this rule are ruled out  4  5 by the principles of grammar. Chomsky  (1981)  provides  a  breakdown  of  the  basic  rule  systems  and  systems  of  principles. The components of the rule systems are the following: (1)  (i)  lexicon  (ii)  syntax (a) categorial component (b) transformational component PF-component L F - component  (iii) (iv)  The systems of principles fall i n the domain of the following areas: (2)  (i) (ii) (iii) (iv) (v) (vi) (vii)  X - B a r Theory Theta Theory Case Theory Binding Theory Bounding Theory Government Theory Control Theory  We look i n some detail below at each of the different components of these systems.  2.1 Rule Systems The entries,  lexicon  with  contains  each  entry  the  vocabulary of  containing  the  syntactic,  language,  semantic,  arranged  as  phonological,  a  list of  and  lexical  morphological  information. In  addition,  the  lexicon  contains  rules  for  creating  new  lexical  W o r d - F o r m a t i o n Rules (e.g. creating adverbs from adjectives by adding -ly) Rules, as i n idioms (e.g.  take-advantage-oj),  Burzio 1981), and the  (e.g.  The  your  granda).  as  morphological  amalgamation of prepositions with  rules  for  inflections  of  in  and Restructuring  the restructuring verbs i n Romance (Rizzi  Rouvert and Vergnaud 1980, eat-up  entries,  1982, verbs  verbs,  nouns  of  sentences.  and  adjectives are also included i n the lexicon. The  syntax  is  responsible  for  generating  structural  representations  It  consists of two components: the categorial component and the transformational component The  categorial  component  expresses phrase  structure.  It  relies  on  the  principles  of  X - b a r theory to organize phrasal categories and to reduce, i f not eliminate, distinct rules of  6 phrase structure.  The phrasal categories themselves  properties of lexical entries. according  to  categorial  Specifiers  affinities,  are projected  direcdy from the lexicon as  and modifiers position themselves  represented  as  features,  with  within the  ordering  structures  being  largely  idiosyncratic to different languages. The base  interaction  component,  representations  of the  generate  lexicon and categorial base  structures  component,  ( " D - structures"  together referred or  "deep  to as  structures"),  i n which the semantic participants are expressed directly i n syntactic  S-structures,  transformations  which are  obey  the  principles  language-specific,  such  as  of  well-formed  the  English rule  surface of  structures,  representation.  Do  Support  i.e.  structures.  The transformational component transforms the base structure into surface-like or  the  (see  Others are applied generally, such as M o v e - a and the M o v e - A f f i x rule for "attaching"  Some 4.4.3). tense  information to a verb. The S-structure  is interpreted phonologically by the PF-component and logically by the  LF-component, giving rise to phonological form (PF) and logical form ( L F ) , respectively.  Each  have their own rules, such as the P F  1978)  "wanna-construction"  rule (Chomsky and Lasnik  which converts (3a) to (3b): (3)  a. b.  I want to win. I wanna win.  and the L F - r u l e of quantifier-raising (Chomsky 1981) (4)  which converts (4a) to (4b):  a.  She met a friend of Judy's.  b.  for some x, x a person who likes Judy, she met x  While the rules and principles that make up P F and L F are interesting areas of investigation and share some overlap with those of the syntax,  1  it is not the intention to treat these i n this  study. The relationship between these levels o f representation is diagrammed below:  See Dresner's (1981, 1984) work, phonology based on general principles. 1  which  emphasizes  an  approach  to  explanation  in  ni D-structure  S-structure  / \ / \ / \ / \ PF LF  D-structure is base-generated; S-structure  S-structure is related to D-structure by the rule M o v e - a , and  maps to representations  of sound (PF)  and meaning ( L P ) by  other  interpretive  subsystems, possibly involving rules like M o v e - a .  2.2 Systems of Principles The principles of grammar determine the well-formedness of the various representations. They act as filters to overgeneration by the rule systems.  They interact i n interesting ways to  account for all and only grammatically correct constructions. The  theories  listed in (2) represent  theory of U G . X - b a r  theory develops the  refers  or  to  concerns theory  the  thematic  semantic  independent areas that representation  relations  that  hold  the  relations  that  exist  between  restrictions on the  application of M o v e - a .  that exist between  categories.  Control  form a  of phrase structures. between  lexical items.  the assignment of Case (e.g. nominative, accusative, etc.) specifies  together  noun  phrases.  Theta  theory  Case  theory  to noun phrases. Bounding  general  Binding  theory  places  Government theory refers to dominance relations  theory identifies the  reference to P R O , a pronominal  element with no phonetic content Associated constructions.  For  with  each  example,  theory a  are  one  principle of  or Case  phonetically-realized noun phrases must have Case.  more  principles that  Theory,  the  Case  hold Filter,  of  grammatical  states  that  all  This would appear to be a fundamental  principle of grammar irrespective of any particular language. The principles may be subject to some degree of variation, and it is this variation that accounts for language differences.  With  8  Case Theory, English seems to have an adjacency requirement, such that nominal elements with objective  Case  sentences: (5)  must be adjacent to their Case assigner,  as illustrated by the  following two  2  a. b.  John put the book on the table, *John put on the table the book.  3  This requirement of adjacency may not hold in other languages. It is postulated, then, that U G is described in terms of the fundamental principles of grammar, settings  and of  environment, established.  that  the a  individual  grammars  available parameters child  learns  the  of  ("core  grammars")  variation.  values  of  Exceptions to the consequences  the  By  are  exposure  parameters,  described to  and  by  the  linguistic data a  core  particular from  grammar  the  becomes  of core grammar do arise, and these are covered  under a theory of markedness. Each investigation  of is  these  theories  currently  going  are on  described in  all  areas,  more  completely  and  new  below.  analyses  are  However,  much  continually being  presented. Consequently the theories are i n a constant state of flux, and any implementation is bound to reflect out-of-date concepts.  By virtue of the modular nature of the principles, it is  possible to make some  changes  i n one area  without necessarily  other  to  situation i n  computer  areas,  analogous  the  having to alter  programming where  the  substantially concepts  of  structured programming and modular design are now considered standard practice. By the same token, a small change in one area could have proliferating effects throughout the grammatical system, as Chomsky observes.  A s is customary, ungrammatical sentences are prefixed with " * " . Sentence (b) may be derived by a rule of Heavy N P Shift, where the base-generated N P direct object is moved to clause-final position, usually with a comma inserted to indicate an intonation break, as i n : 2  3  (i)  John put t on the table, the book.  The various idiosyncratic properties of sentences like (i) that such cases are derived, not canonical as with (5a).  can  only be  derived by assuming  9  2.2.1  X - B a r Theory  X-Bar  theory arises  from the  specification of  feature  types shared  naturally among  lexical items. Different hypotheses have been proposed as to the most appropriate classification of  features;  Chomsky's (1972) classification is that adopted here, although Jackendoff  (1977)  presents a detailed alternative. Lexical  items  can  be  distinguished as to their substantive  qualities, denoted  by  the  feature [ + N] for nominal or non-nominal, and their predicative qualities, [ ± V J , for verbal or nonverbal. The four possible combinations are associated with the four major lexical categories: noun(N) = [ + N , - V J ,  verb(V) = [ - N , + V ] ,  adjective(A) = [ + N , + V ] ,  and preposition(P) = [ - N , - V ] .  Thus, generalizations may be made in terms of feature content, such as one that refers to only [-N]  categories (i.e. the class of English Case assigners). The major generalization is that phrase structures are projections of a lexical head  X  with features [ ± N , ± V j , such that they follow the context-free rule: (6)  X  /  +  1  ->  q  ...  Cj  X  c  1  k  ...  c  n  where X is one of N , V , A , or P, and the C^, for z'=l to n, are possible adjuncts. X° to the lexical head, X  1  dominates X°, X  2  dominates X , etc. 1  maximal projection of X , for some value of max, typically 2  x  max  refers  is considered to be  the  Maximal projections w i l l often  be denoted by their more" familiar form N P , V P , etc. The  first  level of  the  structure, X  1  (more  commonly denoted X  i n the  literature),  dominates the lexical head X° (or just X ) and its complement, i f any. This is represented by the phrase structure rule: (7)  X  1  ->  X Complement  The complement to the head is determined by the semantic requirements of the head. F o r example, the verb put takes a complement of two arguments: a noun phrase (object) and a prepositional phrase (location).  Both are required to satisfy the semantic interpretability. of  the verb, as illustrated by the following sentences:  10  (8)  The  a. b.  John put the book on the table. "John put the book.  c.  *John put o n the table.  verb put, then, is subcategorized as taking an N P and a P P . This subcategorization  information, or frame, is contained i n its lexical entry. Other categories besides V can also subcategorize arguments: (9)  Adjectives: a. anxious that you might forget ( = S ) b. satisfied with his job ( = PP) Prepositions: a. behind every man ( = N P ) b. towards the sun ( = N P ) c. *away the house Nouns: a. pride i n his work ( = PP) b. belief that ghosts are real ( = S )  (10)  (11)  c.  purchase of a book ( = N P )  (10c) illustrates that not all prepositions are transitive; an N P following such a preposition will not receive Case and is therefore excluded by the Case Filter. In ( l i b ) and (11c), the nouns are related to transitive verbs (believe, purchase) which subcategorize equivalent phrases. The of is  inserted  transformationally i n (11c) (through  an Of-Insertion  rule  (Chomsky  1981) and  analogous rules i n other languages) i n order to satisfy the Case Filter. A t the next level, X include  determiners  2  ( = X ) , are the specifiers to the X  (e.g. the articles  possessives (e.g. Alan's,  the, a), quantifier  my sister-in-law's).  1  constituent  phrases  F o r nouns, these  (e.g. some,  a few), and  F o r verbs, it includes the auxiliaries (have, be).  For adjectives and prepositional phrases, it includes adverbial phrases (e.g. very satisfied, right behind). This level is represented by the rule: (12)  X  2  ->  Specifier X  1  In general, specifiers may be optional, depending on semantic and pragmatic considerations. Modifying phrases may also be included i n phrasal structures, and these are typically assumed to adjoin at the X  1  level, at the same time introducing recursivity. Thus the phrase a  bright young student of physics  with long hair eager to please whomever would  by the following phrase structure:  be represented  11  A  / / art  \ \ N  a  1  A  /  \  /  A  \  N  2  bright  1  A /  \  / A  \ N  2  young  l  A /  \  / N /\  \ A eagertoplease  l  /  \  /  N /\ /  / N°  student  2  whomever  \  P  1  \ \ N  2  w/Y/z long hair  2  [of ]  physics  The additional phrase structure rules for recursive expressions are: (13)  a. b.  where Y  X —> Y X —> X 2  1  2  1  1  represents  X Y  1 2  adjunct(s)  o f any phrasal category and, as shown, may occur on either  side of category X . 1  The basic set of phrase structure rules, then, are summarized below: (14)  a.  X —>  b. c.  X —> (Adjunct) X X —> X (Adjunct)  d.  X —> X (Complement)  2  (Specifier) X  1  1  1  1  1  1  A  characteristic o f English grammar is that the specifiers of all the lexical categories  always occur before the X  1  constituent, and complements always follow the head. This isn't so  for all languages. In German, for example, verbal complements generally precede the verb. In the  Dravidian  precede  language  the noun,  group, verbal specifiers  as i n English;  in Kikuyu,  follow  the verb,  a Bantu  language  while  nominal specifiers  of East  Africa, nominal  12 specifiers  follow  the  noun (Lightfoot 1982).  constituents is subject  Therefore,  it would  appear  that  the  order  of  to a degree of parametric variation. But the basic constituent structure  follows the pattern given i n (14)  above.  (Consideration of phrase structure syntax for  "free  word order" languages like Japanese, and how the X - b a r analysis might differ, is given in (Chomsky 1981).) In addition to the X - b a r system for lexical categories, a rule is also required for the derivation of the clause. This has traditionally taken the form: (15)  S —>  NP A U X VP  where N P is the subject, V P the predicate, and A U X contains tense and modality information. Chomsky (1981) gives the revised rule: (16)  S —>  NP INFL VP  where I N F L , suggestive of "inflection", contains a tense feature [ ± T N S ] if [ + TNS],  agreement  features,  (Chomsky 1980) and,  abbreviated A G R , consisting of person, number and gender.  That a clause may be finite ([ + TNS]) or infinitival ( [ - T N S ] ) is illustrated by the sentences of (17) with the underlying structure in (18): (17)  a. b.  (18)  [ I believe [ Beatrice [ ± T N S ]  In (18), (17a)  1 believe (that) Beatrice is my friend, I believe Beatrice to be my friend. be my friend ]]  the verb believe is subcategorized simply as taking a clause, which may be  tensed  or untensed (17b). A n alternative analysis would be to state that believe takes either a  subordinate clause or a " t o - V P " complement However, this misses the generalization that these two  statements  appear  to  express  the  same  proposition, varying  only as  to  tense  of  the  embedded clause. Many verbs are of this type, so that an unnecessarily large lexicon would be required to express heavily  on the  the  two possible complements.  assumption that  verbs  Furthermore, the  taking clausal complements  principles of G B  select either  a tensed  ride or  non-tensed form, subject to other considerations, and that the subject of the non-tensed form normally must be non-lexical P R O , as in (19a)  with internal structure (b), unless lexical N P s  are allowed, as in (17), by exceptional mechanisms, such as Exceptional C a s e - M a r k i n g (cf.  2.2.3  13  below). (19)  a.  They prepared to flee.  b.  [ They prepared [ P R O to flee ]] In  addition,  complementizer,  it  is  COMP  assumed (Chomsky  that  another  1977b),  rule  such  as  exists that  for for  introducing clauses tensed  clauses  with  and  for  a for  infinitivals: (20)  a.  I said (that) we were leaving now.  b.  H e would prefer (for) you to read it out loud.  This rule is expressed as: (21)  S ->  COMP S  suggesting that S is the head of S, assume,  then, that  although this will be altered below. It is reasonable  lexical items that subcategorize  for a clause  actually specify  S  as  to  their  argument, with a rule introduced to delete the complementizer for those verbs which seem to optionally take it (cf. Rule (16) (14).  However,  4.6).  for S appears to deviate from the schema presented under the X - b a r system it  has  been  suggested  that  INFL  is  the  head  of  S  (Chomsky  subcategorizing the predicate phrase, and that the subject N P is the specifier. rule for the clause S then (22)  a. b.  INFL INFL  —> ->  2 1  The modified  becomes:  N INFL INFL V 2  1  2  Similarly, an argument is presented (Stowell 1981, head of S.  1981),  Chomsky 1985)  that C O M P  is the  W e may then consider the specifier of C O M P to be a wh- phrase and I N F L the  complement, thus converting rule (21) to rule (23): (23)  a. b.  COMP COMP  2 1  —> ->  wh- phrase C O M P COMP INFL  1  2  Under these new representations of the rules for S and S, the X - b a r system in (14) adequate  to represent  C O M P , I N F L }.  any phrasal category  X , where X  is one of the  set {  is now  N , A , V , P,  14 2.2.2 Theta Theory Theta Theory concerns the thematic properties of lexical items. It entails such notions as "agent-of-action", "goal", "instrument", etc., as developed in the theories of Gruber (1965), Fillmore (1968), Jackendoff (1972), and others. Lexical items assign thematic roles, or 8-roles, to phrasal constituents as part of their semantic description. For example, the verb put assigns the 8-role "patient" to its direct object NP and "location" to the locative PP. In addition, it assigns the 0-role of "agent" to an NP which typically assumes the grammatical function of subject A fundamental principle of grammar, the Projection Principle, expresses the notion that the 8- marking properties of lexical items must be represented categorially at each syntactic level, i.e. at D-structure, S-structure and LF. 0-role assignment and subcategorization are evidently closely linked concepts, as it appears that any phrase which is subcategorized is also assigned a 0-role. The reverse is not true. When not assigned a 0-role, the subject must still appear (in English) as a pleonastic element, void of semantic content (e.g. it, in It seems that Donald is very happy). However, subcategorized objects are never pleonastic; they always have a 0-role. The definition of the term "argument", introduced in the previous section, is extended to include not only the subcategorized phrases, referred to as "internal arguments," but also any phrase which receives a 0-role but is not subcategorized for, referred to as "external arguments" (Williams 1981). A principle of UG  formalizes this relationship, known as the 8- Criterion. Stated  simply, it is: (24)  8- Criterion: Each argument bears one and only one 8-role, and each 0-role is assigned to one and only one argument The Projection Principle and 8-Criterion together state the primary conditions on  phrase structure, configured in terms of X-bar syntax. Specific phrase structure rules are eliminated, since lexical items directly determine, through subcategorization and 8- marking features, the required constituents. Order of constituents may derive from X-bar parameters and possibly by an adjacency requirement for Case assignment (cf. next section).  15  Additionally, clauses must have subjects.  The subject may be the phonetically null P R O ,  such as the embedded subject in (19), or i f the subject is not 0 - marked it must be pleonastic it or there (il i n French), as i n : (25)  a.  It is raining.  b.  It is likely that no one will leave.  c.  There seem to be problems with this analysis.  Spanish and other languages do not show pleonastic subjects but evidence suggests subject  position is  nevertheless  present.  The  Projection  Principle and the  that  the  requirement  that  clauses have subjects are together referred to as the Extended Projection Principle. Since thematic relations express semantic properties, they are not described in any detail here, as we are primarily concerned with issues of syntax. The relevant issue, though, is the one-to-one structures  correpondence to  which  between the  they  are  0-roles  assigned.  Since  assigned by a lexical item and the  syntactic  subcategorization  by  entails  0-marking  the  0 - Criterion, it is sufficient to note the subcategorized arguments; the assignment of 8- roles to the arguments follows implicitly. 0 - r o l e  assignment to the subject  must be explicit, however,  since the subject position is present (by the Extended Projection Principle) whether or not the position is assigned a 0 - r o l e by the predicate. If by default the predicate assigns a 0 - r o l e  to  the subject, then only those that do not assign a 0 - r o l e need an explicit feature to that effect, as  for  the  weather  verbs  (rains,  snows, etc.,  although  the  subjects  of  such  verbs  have  "quasi-argument" status (Chomsky 1981)), verbs like seem, appear, and predicate adjectives like likely,  probable,  predicates  that  apparent, do  not  etc.  0-mark  In  this the  system,  subject  the The  feature  [-THETA]  non-0-marked  is  subjects  associated in English  with are  replaced by pleonastic elements; in Spanish, they remain unfilled.  2.2.3 Case Theory Case Theory refers to the assignment of abstract Case, such as nominative, accusative, etc., to nouns. It is not to be confused with Fillmore's cases (Fillmore 1968), which are related to thematic roles, covered i n the previous section. Morphologically, the English language shows  16  three  Case  inflections,  ( = accusative), Case, except  exemplified by  and genitive  Case,  the  pronouns  respectively.  me,  for the affix 's on genitives, as in Noam's  Case  is assigned  Thus  a  to a noun phrase  transitive  verb  my,  for  Non-pronominals are  Case inflections: Latin has six Cases, Finnish has  occurs.  I,  fifteen,  not  nominative,  objective  distinguished as  book. Other languages  have  richer  etc.  by virtue of the structural position i n which  "governs"  its  direct  to  object  (in  the  traditional  sense  government (Lyons 1968), to be more formalized in Section 2.2.4), assigning it objective  it of  Case.  Similarly a (transitive) preposition assigns Case to the object it governs.  Nominative Case is  assigned  the  to  the  subject  governed by [ + T N S ] ; (26),  4  of the  though the presence  tensed  clauses,  i.e.  in  configurations  where  subject  NP  is  subject of infinitives is generally not Case-marked, as shown i n  of the prepositional for complementizer will Case-mark the subject,  as i n (20b), as will other exceptional means noted below. The influence of [ ± T N S ]  on the  subject position is illustrated by the following example: (26)  In  a.  It seems [ [ Heather [ + TNS] has left ]]  b.  *It seems [ [ Heather [ - T N S ]  (a), Heather  to have left ]]  is assigned nominative Case by [ + TNS] in the embedded clause, whereas i n  (b) the embedded clause is infinitival so that Heather is not Case-marked, and the sentence is ungrammatical. To  account  for  this  and  related  phenomena,  the  Case  Filter  is  postulated  as  a  fundamental principle of grammar: (27)  Case Filter: * N P i f N P is lexical and has no Case  Thus i f a lexical N P is i n any structural configuration in which Case is not assigned, such as the  subject of an infinitival  clause,  it will  be  ungrammatical.  The  transformation  Move-a,  described later, must be invoked to move the N P to a location where Case is assigned.  Chomsky (1981) treats A G R , the agreement feature complex, as the nominative Case-assigning agent Since A G R accompanies [ + TNS] but not [ - T N S ] , the choice may not be relevant, at least at the level of detail studied here.  4  17  Certain cases arise where an infinitival clause does contain a subject In these instances the matrix verb, i f transitive, may assign Case across the S boundary to the embedded subject The S the  node is effectively deleted, allowing the embedded subject to be governed directly by  matrix verb, thus  assigning it Case.  This is referred  5  to  as  Exceptional C a s e - M a r k i n g  ( E C M ) , an idiosyncratic feature of English grammar. It is a property of certain verbs that take either N P arguments (i.e. are transitive) or clausal arguments. A n example is the verb believe: (28)  In  a.  I believe him.  b.  I believe h i m to be telling the truth.  c.  I believe (that) he is telling the truth.  (a),  an  NP  direct  object  is  selected  and  assigned  objective  Case.  In  (b),  a  clausal  complement is selected, and Case is assigned by E C M to the subject of the infinitival clause. In (c),  nominative Case is assigned  in the  normal way to the  embedded subject since  the  clause is tensed. For languages that do not have the E C M property, such as Spanish, only (28a,c) have grammatical equivalents, as i n (29a,c): (29)  a.  Y o lo creo (a 61).  b. c.  * Y o lo creo decir la verdad. Y o creo que 61 dice la verdad.  2.2.4 Government Theory The theory of government enters into many areas since it relates directly to properties that  hold  over  subcategorizes,  structural  configurations.  Thus  a  lexical  head  governs  the  phrases  that  it  Case is assigned under government (as noted i n the previous section), and the  S-deletion presents a problem given the formal definition of government (Chomsky 1981:250), since a maximal projection will block government of an element by a higher predicate. Taking S to be a maximal projection whose head is I N F L , as assumed here, there is no way i n which the specifier_of I N F L can be governed without crossing S. O n the other hand, i f S is the head of S , then S is no longer a maximal projection, and after S-deletion the predicate may govern without crossing any maximal projection. A third possibility is to allow S-deleting predicates to subcategorize for either S or S (i.e. C O M P or I N F L ) , preserving the formalism that arguments are always maximal projections, but less desirable from the aspect of learnability. A s this is still an issue under investigation, the stipulation is simply made that predicates with the S - d e l e t i o n property may govern an embedded subject 5  2  2  18  binding principles are defined in terms of government The following definition of government is taken from Chomsky (1982:19): (30)  a  governs /3 i f  (i) (ii)  a = X ° (Le. a is the head of phrase X ) a c-commands /3  (iii)  0 is not protected by a maximal projection  The definition of c-command ( = "constituent command" (Reinhart 1976)), adapted from Chomsky (1981:166), is given as: (31)  (31)  a  c-commands  (i)  a does not contain |3  (ii)  all the maximal projections that contain a also contain /3  allows the head  specifier from the X in  (3 i f  2  of a phrase  to c-command  its complement  from the X  1  level, its  level, and an adjunct attached at the level of the maximal projection, as  stylistic inversion of the subject,  attaching  configurations are illustrated below:  x  / W  /  /  / Y 2  languages.  These  three  2  /  X /  2  /  to V P , i n Romance  2  / X \ 1  \  \  X°  \  Z  2  In the diagram, the head X° c-commands its complement Z , its specifier Y , and the adjunct 2  W  2  2  adjoined to X . 2  As to the notion of protection, /3 is protected from a by a maximal projection i f the maximal  projection  includes  0  but not a.  The  relationship  between  c-command is illustrated below with the clause They ran towards me:  government and  19  INFL  2  /  NP  /  they  /  /  INFL  1  INFL  0  \  V  2  e  V A  1  \ \  V°  ran  \  P  2  P  1  \ \  P  \  \  0  N  2  towards  N  1  N°  me  The verb V° c-commands and governs the preposition P°, which c-commands and governs N°. V° c-commands N° but does not govern it since it is protected by the maximal projection P . 2  P° does not c-command V°, and N° does not c-command anything. I N F L  0  c-commands and  governs the subject N P . The first condition for government (30i) allows any category within the X - b a r system to  be  a  [±N,±VJ,  potential but  governor.  under the  This  system  originally  included  only  those  elements  developed in Section  2.2.1  now also  with  features  includes I N F L  and  20 COMP.  2.2.5  Binding Theory  Binding theory establishes coreference relations among noun phrases. It is assumed, for the purpose of coreferencing, that every NP is assigned an index, and that if two NPs have the same index, they are intended to refer to the same entity. Indices are assigned via some indexing rule which may happen at lexical insertion time or within some process at LF, where interpretation occurs. A natural condition on indexing is that NPs sharing an index must agree in person, number and gender. The notion of binding is given by the following definition: (32)  a binds 0 if (i)  a and /3 have the same index  (ii)  a c-commands |3  If an element is not bound, it is free. Three classes of NPs are identified: anaphors, pronominals, and names. Anaphors have 6  no independent referential qualities and must take their reference  from another NP, its  antecedent, within the sentence. They include reflexives (e.g. himself) and reciprocals (e.g. each other).  Pronouns (e.g. he, me, etc.) also have antecedents, but the antecedent may either  appear within the sentence or outside the sentence. Names include all other (lexical) NPs (e.g. John, dogs, honesty, etc.).  Chomsky (1982) assigns the features [ ± ANAPHOR] and [ ± PRONOUN] to each type of  noun.  Anaphors  are  marked  with  [ + ANAPHOR,- PRONOUN],  pronouns  with  [-ANAPHOR,+PRONOUN], and names are marked [-ANAPHOR-PRONOUN]. Additionally, non-lexical NPS, both base-generated and traces that arise through movement, also contain these features. The trace left by movement of an NP to an argument position (A-position), as in passives and with raising predicates like seem, likely,  pattern with lexical anaphors, while  movement to non-argument (= A) positions, such as wh- movement to COMP, leaves behind a 6  Chomsky uses the term R-expression ("referential expression") for name.  21  variable  trace  languages  that  pattern  patterns after  with  lexical  [ + A N A P H O R + PRONOUN]  lexical  names.  pronouns.  The  The  null  subjects that  non-lexical  PRO  occur  contains  in p r o - d r o p the  features  and has no lexical counterpart  The binding conditions for these three classes are stated as follows: (33)  Condition A : Anaphors must be bound i n their governing category. Condition B : Pronouns must be free in their governing category. Condition C : Names must be free i n all governing categories.  The definition of governing category is: (34)  a is the governing category for /3 i f and only i f a containing /3 and a governor of j3.  is the minimal S or N P  7  Since  P R O is both pronominal and anaphoric, it follows from the binding conditions that  it  cannot have a governing category and therefore must be in an ungoverned position. The  sentences  in  (35)  illustrate  the  binding  conditions  for  lexical  N P s , given  the  possible indexing combinations: (35)  a.  [ Jane^- said [ Wendyy saw her^. in the mirror ]]  b.  [ She^. said [ Wendyy saw herself^ in the mirror ]]  In (a), i f j=k, then her j^k,  is bound to Wendy, violating Condition B for pronouns.  i.e. Wendy and her must refer to distinct persons.  i=kr, nothing demands since  Wendy  nor prohibits i t  must not  be  In (b),  she  Therefore,  Her may be preferential with Jane i f  and Wendy cannot refer to each  bound anywhere, by Condition C .  Wendy  and  other  herself must  be  preferential, by Condition A , which therefore implies that she and herself cannot be coindexed because / and j must be distinct  2.2.6 Bounding Theory Bounding theory refers to the bounds placed on movement Move-a. cannot  Move-a  cross  more  obeys the condition of subjacency, than  one  bounding  category.  For  under the  transformation  where a single application of M o v e - a English, N P  and  S  are  A more precise definition of governing category includes the notion of S U B J E C T (Chomsky 1981:212), although (34) is satisfactory for current purposes.  7  considered  accessible  22  bounding categories;  for Spanish, N P and S are bounding categories.  hold o f m o v e m e n t - t o - C O M P , movement-to-subject,  Subjacency  appears to  extraposition, and inversion o f subject to  post-verbal position, as i n There arrived three men from England  and stylistic inversion i n the  Romance languages. The  execution  of M o v e - a  i n relation  to subjacency  is illustrated i n the following  example: (36) (37)  (37a)  W h o do you believe (that) Renate saw? a.  [g e  you believe [g e [g Renate see who ]]]]  b.  [g e [g you believe [g who^- [g Renate see t- ]]]]  c.  [g whOj- [g you believe [g t [g Renate see i  ]]]]  is the D-structure of (36). In (b), who moves to C O M P , leaving a coindexed trace i n  base position. Only one S node is crossed. In the next cycle (c), who moves to the matrix C O M P , again crossing only one S node. I f who had moved directly from its base position to the matrix C O M P ,  it would have crossed both the embedded S and matrix S node, which  would be a violation of subjacency. Clearer evidence for subjacency as a condition on movement is shown by the following sentences i n (38) with the D-structure in (39): (38)  a.  It seems to be certain that John will win.  b. c.  It seems that John is certain t to win. John seems t to be certain t to win.  d.  "John seems (that) it is certain t to win.  (39) Given  [  S i  N P j seem [g^  N P be certain [g^ [ 2  §  N P win ]]]]] 3  (39), (38a) results from no movement and NP = John. 3  (38b) results from movement  from N P to N P , and (38c) from a cyclic movement through N P to the matrix subject, N P ] . 3  (38d)  2  2  is ungrammatical because John has moved from its base position directly to the matrix  position, crossing two bounding categories, S  2  and S . 3  !  It may be noted that (38d) seems to be a violation o f the binding theory for Condition A for NP-traces, since the trace does not appear to be bound i n its governing category. However, given the modifications to the binding theory which include the notion o f accessible S U B J E C T , the trace i n (38d) is bound; therefore, the only factor that accounts for its ungrammaticality is subjacency. 8  23 Subjacency is also demonstrated for N P nodes by the following example: (40)  a.  [§  b.  *[g  In (a),  whoj [g do you believe [g t- [g Renate saw t. ]]]] who^- [g do you believe  who moves  However, i n (b),  the claim [§  f. that [g Renate saw ^  by successive cyclicity from base to embedded  COMP  ]]]]  to matrix  COMP.  who moves from base to embedded C O M P but then must cross an N P and  the matrix S i n order to get to the matrix C O M P , crossing two bounding categories. Evidence  in  favor  of  interaction of wh- movement  S  being  a  bounding  and verb fronting. The  category  for  Spanish  comes  from  the  details of this interaction are covered in  Section 4.4.4, Verb Fronting.  2.2.7 Control Theory Control theory refers to the identification of P R O , illustrated by the paradigm sentences below: (41)  In  a.  J i m persuaded G a i l [ P R O to leave ]  b. c. d.  J i m promised G a i l [ P R O to leave ] It is unclear [ what [ P R O to do ]] John said [ P R O to leave ]  e.  It is unclear to me [ what [ P R O to do ]]  (a),  Gail  controls  PRO  control  is  and  identifies  evidendy  a  it  In  determination  of  property  object-control  verb, while promise is subject-control.  (b), of  PRO the  is  controlled  matrix  verb;  by  Mm.  persuade  The is  an  In (c), P R O is uncontrolled and therefore  arbitrary in reference. Uncontrolled P R O often arises from the unavailability of an antecedent, as in (41c), but i n other  cases must be stipulated by the main verb, as i n (d), where  say  requires that P R O be arbitrary and specifically not be identified with the subject, in contrast to (e) where P R O may optionally refer to  me.  The identification of P R O is relevant to determining its reference at LF, not of significance i n the syntax. for the equivalent control. Therefore  and thus is  Furthermore, identification should be similar across  languages  lexical item, so that translation poses no special problems for determining control theory is not implemented i n the current model.  Chapter 3 REPRESENTATIONS  This chapter descriptions  of  the  covers lexicon,  the Prolog representations phrasal  structure,  empty  of the linguistic structures. categories,  and grammar  It includes rules.  The  implementation o f the transformational rules for mapping between D - and S-structure is given in Chapter 4, and conditions that determine the well-formedness of structures are covered i n Chapter 5.  3.1 Lexicon The  lexicon consists  of the dictionary and tables for generating  new entries into the  dictionary. The tables include the suffix table, contraction table, and collocation table.  3.1.1 Dictionary The dictionary is a database of unit clauses of the form:  (1)  dict(Lang,Word,Cat,LexData).  where Lang = Word = Cat  'english' or 'Spanish' the lexical entry  = the lexical category, one of: n = noun v = verb a = adjective p = preposition art = article perf = perfective prog = progressive comp = complementizer infl = modal stem# = numbered stem (Spanish only)  for  regular  orthographic  stem-changing  LexData = list o f lexical data, which includes one or more o f the following terms: f = feature list subcat = subcategorization frame root = root word, for inflected entries  24  verbs  25  Spanish english expr  = = =  Spanish equivalent lexical item(s) English equivalent lexical item(s) idiomatic phrase headed by the given lexical entry  The feature list f may include the following features: per = person ( = p e r ( l ) , per(2), per(3)) Pi — number (pl(-) = singular, pl( + )=plural) fem gender (fem(-)=masculine, fem(+)=feminine) = tense (=tns(pres), tns(past), tns(fut); infinitive=tns(tns = perfective aspect ( = p e r f ( + ) ) perf = progressive aspect (=prog( + )) prog = wh feature ( = w h ( + )) wh — indicates a n o n - 8 - m a r k e d subject ( = theta(-)) theta 9  The following terms irr perf = prog = stem# sdel =  may also be included i n LexData for root verbs: list of irregular inflected forms irregular perfective form irregular progressive form stem for orthographic stem changes S-deletion feature (=sdel(+))  Nouns may include the following terms i n LexData: = irregular plural form Pi fem irregular feminine form = feature for indicating proper nouns (=proper( + )) proper pro = pronominal feature ( = p r o ( + ) ) The following are examples of dictionary entries: d i e t ( e n g l i sh,woman,n,[pi(women),spani sh(mu j e r ) ] ) . dict(english,women,n,[f(pi(+)),root(woman)]). diet(english,i,n,[f(per(1)),pro(+),proper(+),spanish(yo)]). diet(english,go,v,[subcat(p),subcat(comp),perf(gone), irr([goes,went]),spanish(ir)]). dict(english,went,v,[f(tns(past)),root(go)]). dict(english,seem,v,[f(theta(-)),sdel(+),subcat(comp), Spanish(parecer)]). dict(english,which,art,[f(wh(+)),spanish(cual)]). Default features pertain to lexical entries in order to reduce the size of the lexicon. If a default feature does not apply, an explicit feature is required to override it Default features are the following:  A s mentioned i n Section 2.2.2, the 'theta(-)' feature, applicable to 8-marking predicates, is included as a convenience i n determining the thematic status o f subjects. W h e n percolated to I N F L by 8- Extraction (see 6.4.4), the feature will cause movement to or from the subject position by M o v e - a or the reverse of M o v e - a , respectively. This highly simplified mechanism is i n lieu of one which indicates 0 - r o l e assignment by means o f some notation such as 'agent=[NP,S]\ i.e. the 0 - r o l e of agent is assigned to the N P immediately dominated by S. 9  2  26  (2)  a.  Nouns:  per(3), p l ( - ) fem(-)  (i.e. 3rd person singular) (Spanish nouns default to masculine)  b.  Articles:  p l ( - ) , fem(-)  (i.e. singular masculine, Spanish only)  c.  Verbs:  tns(-)  (Spanish only)  English  verbs that appear  uninflected may actually be the present  tense o f first or second  person, or third person plural, as i n : (3)  When  a.  I win/We win.  b. c.  Y o u win. They w i n .  d.  N P to win.  analyzing an apparently  subject unless  uninflected verb, agreement features will  the infinitive marker  to is present,  be taken  from the  as i n (d), i n which case no agreement  features are associated with the verb. N o such action is required with Spanish verbs since its inflection system is generally sufficient to fully identify agreement features. Since  the translations  performed i n this model are for equivalent lexical items, it is  theoretically possible to eliminate duplicate features by containing the common features i n a language-neutral lexicon. The language-specific  dictionary would then contain any idiosyncratic  features along with pointers to the corresponding common entry. F o r example, the verb believe and its Spanish equivalent creer could be represented somewhat as follows: (4) diet(english,believe,v,[neutral(xl23),sdel(+),...]). diet(Spanish,creer,v,[neutral(xl23),...]). diet(neutral,xl23,v,[subcat(n),subcat(comp), english(believe),Spanish(creer),...]). Both 'xl23',  believe and creer share the same subcategorization a unique  "system-generated"  identifier  pointed  frames  as shown i n the entry for  to by the equivalent  verbs.  Other  features i n common, such as 8- marking properties and selectional restrictions, would also be included i n the lexical data for 'xl23.'  Only the language-specific  information (e.g. 'sdel(+)'  for believe but not for creer), would be included i n the language-specific  entries.  This relational approach to the lexicon, as well as being theoretically attractive,  would  simplify the addition o f other languages to the system, provided the lexical forms have a high  27  degree of equivalence to the neutral forms in the lexicon. The overall size of the combined lexicons would certainly be reduced. However, access time would approximately double, since at least two entry look-ups would be required to analyze each word. In this system, a combined approach is taken. Subcategorization information is included only for English lexical items; the Spanish equivalents have a pointer to the English entry for accessing that information. A l l other common features, e.g. person, are duplicated in the entry for each language. For example, believe and creer have the following entries: (5)  dict(english,believe,v,[subcat(n),subcat(comp), sdel(+),spanish(creer)]). diet(Spanish,creer,v,[prog(creyendo),english(believe)]).  3.1.2 Suffix Table The suffix table is used in the morphological analysis of inflected words. The structure of the table is a unit clause of the form (6)  suffixtable(Lang,Suffix,RootEnding,Cat,Features).  where Lang Suffix  =  'english' or 'spanish'  =  one or more letters i n the suffix  RootEnding =  zero or more  letters to be  added to  the  word after the  removed in order to form the root word Cat  =  lexical category  Features  =  features associated with the suffix.  Below are some examples of the suffix table: suf f i x t a b l e ( e n g l i s h , i e s , y , n , t p K ) ] ) • suffixtable(english,s,"",n,[pl(+)]). suffixtable(english,ies,y,v,[pl(-),per(3),tns(pres)]). +  suffixtable(Spanish,a,o,n,[fem(+)]). suffixtable(Spanish,a,ar,v,[pl(-),per(3),tns(pres)]). suffixtable(Spanish,iendo,ir,v,[prog(+)]).  suffix is  28  3.1.3 Contraction Table The contraction  table  is used to split a contraction  into its constituent  words during  lexical analysis, and to form contractions during lexical generation. The Spanish lexicon contains the following contraction table: contraction(Spanish,al,[a,el]). contraction(Spanish,del,[de,el]). English contractions are optional and include entries such as: contraction(english,i'm,[i,am]). contraction(english,i've,[i,have]).  3.1.4 Collocation Table The collocation table includes groups of words that distributionally behave as a single unit  The collocated unit appears as a single entry in the dictionary. The collocation table  for  English includes the following: collocation(english,[how,much],how_much). collocation(english,[how,many],how_many). The corresponding dictionary entries are: diet(english,how_much,n,[f([wh(+)]),spanish(cuanto)]). diet(english,how_many,n,[f([wh(+),pl(+)]),spanish(cuantos)]). diet(english,how_much,art,[f([wh(+),pl(-)]),spanish(cuanto)]). diet(english,how_many,art,[f([wh(+),pl(+)]),spanish(cuantos)]). Some of the entries i n the Spanish collocation table for prepositions include: collocation(Spanish,[a,el,lado,de],al_lado_de). collocation(Spanish,[acerca,de],acerca_de). collocation(Spanish,[alrededor,de],alrededor_de). collocation(Spanish,[antes,de],antes_de). collocation(Spanish,[despues,de],despues_de). Note that the place of how_many.  dictionary entries could be any uniquely coded item, such as xl23 The  latter is used only to facilitate  Coded entries would be reasonable invariant expressions. phrasal dictionary.  in  human scanning of the dictionary.  for phrases such as How do you do, thank you, and similar  The collocation table, when extended i n this way, effectively becomes a  29  3.2 Phrase Structure The representation of phrase structure employed here is a modification of the system detailed i n 2.2.1(14).  The  problem with  that representation  is that  the  X-bar  left-recursive  production in (14c) prevents a direct encoding of the rule i n Prolog. Therefore the adjuncts i n that rule are attached  at the X  2  level rather  than at the X  1  level.  Although  this leads to  structural misrepresentations, the effect on translation is nil, at least for the range of Spanish and English sentences handled by this system. The resulting phrase structure rules are: (7)  a.  X  2  ->  (Spec) X  b.  X  1  (Post-Adjuncts)  —>  (Pre-Adjunct) X (Complement)  1  The list representation for the phrase X (8)  2  has the following general form:  [Node, Specifier, [Pre-Adjunct, X , Argumenti,...], Post-Adjunct],...]  The first element of the list, Node, is itself a two-element list which specifies the category of the phrase and the list of features as percolated from its constituents. the specifier, i f it exists; otherwise it is simply the letter "e" ( = the phrasal structure at the X  1  The second element is  empty). The third element is  level, which consists of an adjunct, or "e" i f none, followed by  the lexical head X , followed by zero or more arguments that complement the head. Following the third element are zero or more adjunct structures. In the following subsections, the list representation is shown for each value of X as an instantiation of the pattern in (8).  3.2.1 The  A complete example of a clause is presented i n 3.2.6.  COMP clause  is represented  by a C O M P  phrase  (=  S),  which  representation: (9)  [ C O M P , W H , [e, Complementizer, I N F L ] , Mode]  where W H is either empty (=e)  or a  wh-phrase;  Complementizer is either empty or lexical; I N F L is the I N F L  2  ( = S) complement to C O M P ;  Mode is the mode of the sentence, i.e. declarative or interrogative.  has the  following  list  30  Mode information is attached as an adjunct to the most deeply-embedded C O M P phrase. It is represented in this system as a two-element list of the form: (10)  [mode, M O D E ]  where M O D E is either "decl" or "ques".  3.2.2  INFL  The I N F L phrase ( = (11)  S) is represented by the following list structure:  [ I N F L , Subj, [e, M o d a l , VP]]  where Subj is the N P subject of the clause; M o d a l is a modal verb, the English infinitive marker to, or empty; V P is the predicate phrase of the clause. There are no p r e - or post-adjuncts to I N F L .  3.2.3 V P The V P predicate phrase is a verb phrase with the following representation: (12)  [ V P , P I , [P2, V , Argument!,...], Adjunct^...]  where P I is either an auxiliary verb (have/be i n English, haber/estar i n Spanish) or empty; P2 is either a second auxiliary or empty; V is the lexical verb; Argument!,... are zero or more arguments to the verb; Adjuncts... are zero or more adjuncts to the verb phrase. The second auxiliary, which in English is always a form of be, is used i n conjunction with the first auxiliary to indicate perfect progressive, perfect passive, or progressive passive aspect there  are  only  two auxiliary positions  progressive passive f o r m .  10  in  (12),  it  is  not  possible  to  generate  a  As  perfect  The following sentences illustrate the various combinations:  This is probably an invalid restriction, given a sentence such as The Bible has been being translated for thousands of years, which is acceptable to some speakers. The allowance for three auxiliary forms could be provided as a matter of execution by treating the passive be as a main verb, subcategorizing for a "de-verbalized" adjective. This has the 10  31 (13)  a. b. c. d. e.  Dorothy Dorothy Dorothy A book A book  f.  * A book has been being bought (by Dorothy). The  has bought a book. is buying a book. has been buying books. was bought (by Dorothy). has been bought (by Dorothy).  arguments  to the  verb depend on the  subcategorization  frame  indicated i n  the  lexical entry for the verb; the adjuncts consist of non-subcategorized phrases, here limited to prepositional phrases.  3.2.4 NP, PP, AP N o u n phrases, prepositional phrases, and adjective  phrases complete the set of phrase  structures represented under the X - b a r system. They have the same general configuration as in (8). F o r N P , the specifier may be an article or quantifier word. N o pre-adjuncts are provided for  NPs,  PPs,  or  APs.  NPs  may  Subcategorization is limited to adjectives  include  any  prepositional  phrase  as  post-adjunct  taking clausal arguments and prepositions taking N P  arguments.  3.2.5 S- Adjunction Adjunction  to  S  (=INFL ) 2  occurs  i n inversion, such  as  Subject-Auxiliary Inversion  (SAI) in English (cf. 4.4.1) or Verb Fronting i n Spanish (cf. 4.4.4). The inverted material is contained i n a term, 'Adjunct', where 'Adjunct' is either  the  English auxiliary or a functor  containing the Spanish restructured verb, i.e. a list of one or more verbal elements —  see  4.4.  The inverted material is adjoined to I N F L , as shown i n the tree diagram below: 2  (cont'd) theoretical drawback of treating passive (13d,e), and sometimes as a main verb, as above. 10  be  sometimes  as  an  auxiliary, as  in  32 INFL  /  /  /  /  Adjunct  2  /  INFL / /  N  2  2  /  /  INFL \ \ 1  \  INFL  0  \  V  2  As a list structure, it has the following representation: (14)  [INFL, Adjunct, [INFL, Subj, [e, Modal, VP]]]  3.2.6 Example  The complete S-structure list representation is given in (16) for the sentence in (15). Indentation and spacing are added to improve readability. (15)  The man had seen many things from his window.  (16)  [[comp,FC], e, [e, e, [[infLFI], [[n,FNl], the, [e, man]], [e, e, [[v,FV], had, [e, seen, [[n,FN2], many, [e, things]]], [[p,FP], e, [e, from, [[n,FN3], his, [e, window]]]]]], [mode.decl]]]  The features, prefixed with F- (e.g. FC), are not shown in detail, but indicate such things as person, number, gender, tense, etc.  3.3 Empty  Categories  Empty categories (ECs) are either base-generated, such as PRO and the null subject pronoun pro ("little pro"), or result from Move-a, where the moved element, a, leaves behind a trace t coindexed with a. The ECs PRO, pro, NP-trace, NP-variable, and PP-variable have  33 the following general representation: (17)  [NODE, e ]  where N O D E is either N P or P P . The features contained within N O D E the different types of E C s . P R O contains no features. [ +PRONOUN].  NP-traces  [ +ANAPHOR,-PRONOUN]. [-ANAPHOR-PRONOUN].  have  agreement  Variables For  pro contains agreement features and  11  features,  have  the  distinguish between  an  index,  [ + WH]  NP-variables, agreement  and  feature,  features  are  the  an also  features  index,  and  included.  The  representations of the E C s are summarized below: (18)  a.  PRO  [ [nl]], e ]  b.  pro  [ [n,[pro( + ) , P E R , P L , F E M ] ] , e ]  c.  NP-trace  [ [n,[indx(I),ana( + ) , p r o ( - ) , P E R , P L , F E M ] ] , e ]  d.  NP-variable  [ [n,[indx(I),wh( + ) , a n a ( - ) , p r o ( - ) , P E R , P L , F E M ] ] , e ]  e.  PP-variable  [ [p,[indx(I),wh( + ),ana(-),pro(-)]], e ]  The agreement features P E R , P L , and F E M are set appropriately.  3.4 Grammar In keeping with the conceptualization of a U G and language-specific core grammars, the  implementation of  component  the  grammar  has  been  is language-independent and consists  divided of the  into  two  phrase  components.  The  structure rules utilizing  UG the  X - b a r system, together with the transformational component for relating surface structures to D-structures.  The  core  grammars,  one  for  Spanish  and  one  for  English,  contain  the  language-specific properties that interact with U G in the processing of sentences.  This is counter to current G B theory which holds that P R O has agreement features but no phonological content Values are assigned to the features as a consequence of control theory. A s this is not implemented here, and the agreement features serve no other purpose i n this model, they are absent from the feature l i s t 11  34  3.4.1 Phrase Structure Rules The (Clocksin  phrase  structure  and Mellish  1981).  rules  are  written  They  follow  the  in  the  grammar  rules i n (7)  for  rule  notation  expanding the  for X  2  Prolog and  X  1  phrasal categories along with their associated specifiers, complements, and adjuncts. The basic grammar rules for parsing any phrase of type X are the following: (19)  a.  x2(L, C ,  [ [ C , []],Spec,Xl|Post]) — > s p e c i f i e r ( L , C, Spec), x l ( L , C, XI), postadjunct(L, C, Post).  b.  x l ( L , C,  [Pre,Head|Post]) — > preadjunct(L, C, Pre), x(L, C, Head, Args), complements(L, Args, Post).  c.  x(L, C , W,  Args) [w],  —>  { extract(L,W,C,_,subcat,Args) }.  In (a), the x2 clause states that for language L and category C , the X  2  phrase has the phrase  structure indicated by the third parameter. T o form the phrase structure, a specifier is parsed, followed by the X  1  phrase, followed by any post-adjuncts.  The x l  clause (b)  is similar; a  pre-adjunct is parsed, followed by the lexical head, followed by the complements to the head. In (c), the lexical head is indicated by the single token W , taken from the input string. The extract  clause  extracts  the  subcategorization  frame,  indicated by  'Args',  by  referencing  the  dictionary entry for W . The subcategorization frame is used by the complements clause i n (b) to continue the parsing. When C=INFL,  C = C O M P , 'Head',  i.e.  the  the modal may not be present  complementizer, may  be  empty.  Similarly  when  Therefore, the following two phrase structure rules  are added; the argument of C O M P is set to I N F L , and the argument of I N F L is set to V P : (20)  x(_, comp, e, x(_, i n f l , e,  [ i n f l ] ) —> [ ] . [v]) — > [ ] .  The specifiers are represented by the general rule: (21)  s p e c i f i e r ( L , C, Tree) —>  Spec.  with L, C , and Tree being the language, category, and parse tree, respectively. The particular values of Spec for different Cs are:  35  (22)  a. b. c. d.  for for for for  C=COMP, C=INFL, C=N, C=V,  Spec Spec Spec Spec  = = = =  wA-phrase (i.e. N P or P P with feature NP article perfective or progressive auxiliary  [+WH])  e. for C=anything else, Spec is empty. In (a), the w A - N P or wh-PP  must be lexical during parsing, although i n the transition from  S-structure to D-structure, or vice versa, it may be interpreted as a wh- trace, depending on circumstances.  In  (b),  subjects  of  clauses  are  always  present,  by  the  Extended  Projection  Principle; therefore, the N P is lexical or an E C , never just "e" as for the other categories,  (c)  and (d) are of course optional and may be empty. The complements of a lexical head are presented as a list of lexical categories. may  be  empty  i f no arguments  are  subcategorized  for.  O r the  list may  The list  indicate optional  categories, such as for the verb eat, which may optionally take an N P object: (23)  a.  Philip eats.  b.  Philip eats tacos.  Optional  arguments  are  enclosed  i n braces,  e.g. {n}.  The  dictionary entry  for  eat  and  its  Spanish equivalent comer would contain the following: diet(english,eat,v,[subcat({n}),...,Spanish(comer)]). diet(Spanish,comer,v,[english(eat),...]). The Spanish complement is taken from the English entry, as described in 3.1.1. Since  the  subcategorization  course  frames)  of  parsing  of the  is  dependent  lexical items, the  on  arguments  the  syntactic  properties  are parsed using the  (i.e.  following  rules, where the first argument is the language, the second is the list o f arguments from the call to x (19c), and the third argument is the list of phrase structures built for each argument (24)  The  c o m p l e m e n t s ( _ , [ ] , [ ] ) —> []. complements(L, [A|AS], [ A r g [ A r g s ] ) p a r s e A r g ( L , A, A r g ) , c o m p l e m e n t s ( L , As, A r g s ) . first  clause  handles the  empty list  The  —>  second parses  the argument  ' A ' , forming the  structure 'Arg', and recursively calls complements on the remainder of the l i s t ' A s ' . The call to parseArg is simply a call to x2, or to optionalArg which also calls x2 but succeeds even if the X  2  constituent is not found.  36  (25)  parseArg(L, {Arg}, Tree) — > optionalArg(L, Arg, Tree). parseArg(L, Arg, Tree) — > x2(L, Arg, Tree). optionalArg(L, Arg, Tree) — > x2(L, Arg, Tree). o p t i o n a l A r g ( _ , _ , [ ] ) --> [ ] . Note  that  optional arguments  are  not  the  same  as  non-lexical  arguments.  If  an  argument is required by the subcategorization frame, it must exist either as a lexical constituent or  as  its  trace.  However, before  assuming  that  an  unfound argument  is  non-lexical, all  subcategorization frames must be tried. If none result in a successful parse, then the possibility exists that the argument is non-lexical. This only applies to subcategorized N P s and PPs, as these  are  the  only  constituents  that  move  in this  model.  For  example,  the  verb  believe  subcategorizes for either an N P or C O M P :  (26)  dict(english,believe,v,[subcat(n),subcat(comp),  ]).  During parsing, an N P argument will be searched for first If not found, then a clause will be searched. If that is not found, then because N P is a possible argument of believe (determined by  re-scanning its list of subcategorization frames), an empty N P will  be  inserted into the  parse tree, and the parse continues. To accommodate empty arguments, the additional x l clause is added:  (27)  x l ( L , C, [Pre,Head|Post]) — > preadjunct(L, C, Pre), x(L, C, Head, Args), emptyArgs(L, Args, P o s t ) .  The emptyArgs clause will replace either an N P or P P argument with an E C , i f subcategorized for. The only pre-adjunct considered i n this model is the second auxiliary to the verb. The grammar rules for this are simply:  (28)  preadjunct(L, v, W) —> [w], { dict(L,W,prog,_) }. preadjunct(_, _, e) — > [ ] .  Post-adjuncts  may be lexical prepositional phrases (not ECs) for either N P s or VPs, or else  null. Also, sentence punctuation is considered a post-adjunct to the C O M P .  37 The  remaining grammar  rule is the rule for inversion. Since inversion for S A I and  Verb Fronting both involve adjunction to S, an additional rule at the X  2  level for I N F L is  added:  (29)  x2(L, i n f l , [[inf1,[]],Adjunct,INFL]) --> adjunct(L, Adjunct), parse_inversion(L, Adjunct, INFL).  The rules for adjunct  and parse_inversion are both language-specific,  the core grammar section.  so they are included i n  F o r English, SAI involves adjunction of a modal or auxiliary. (Do  is included as a modal verb, as well as a main verb. Also, the infinitive marker to is included as a modal, since modal verbs may not co-occur with infinitives.) Spanish restructuring.  inversion  is  considerably  more  complicated,  since  inversion  The modal, both auxiliaries, and main verb, or some restricted  them, may be reanalyzed as a single verbal element which inverts.  involves  verb  combination  of  Thirteen combinations are  allowed that maintain the ordering of elements; that is, i f the main verb inverts, for example, then any and all preceding verbal elements must invert elements preceding  them.  Also,  following Torrego  Similarly for the auxiliaries and any  (1984), i f perfective  haber or one o f its  inflected forms is found inverted, then its participle must also be inverted. To allow for the possibility of all four elements inverting, an adjunct structure is created as a four-element  list,  where each element may either be lexically filled or empty, with the proviso that the adjunct must not be completely empty (i.e. not = least one element has inverted.  [e,e,e,e]). That is, i f an adjunct is formed, then at  Chapter 4 TRANSFORMATIONS  The transformations considered in this model fall into two general categories.  One is  the set of language-independent rules, i.e. M o v e - a and M o v e Affix. These are represented in the  U G component  as general  movement rules, although parameter  settings  within  the  core  grammars will influence their application. The other category includes idiosyncratic rules such as D o Support for English and p r o - d r o p for Romance  languages.  Each transformation is described i n the following sections, presenting first the motivation for  the  rule,  and  second  its  implementation.  The  last  section  deals  with  the  order  of  transformations within the transformational cycle.  4.1 Move Alpha The  fundamental transformation under current theories  M o v e - a , i.e. and  only  of transformational grammar is  "move any category anywhere". The principles of U G effectively determine all  those  applications  of  Move-a  that  result  in  grammatical  sentences,  subject  to  parametric variation. When  a  phrase  moves,  it  forms  an  association  chain  with  its  base position.  Each  position to which the phrase moves becomes a member of the chain and inherits the index that was assigned to the base element at lexical insertion time. A 0 - r o l e  is assigned to the  base position i n the chain, and for lexical N P s Case will be assigned to the initial position. The movement obeys the bounding condition of subjacency,  and all non-initial positions must  be properly governed by the Empty Category Principle, a well-formedness condition covered i n Section 5.5. A movement  basic result that falls out of the Projection Principle and the 6- Criterion is is always to a n o n - 6- marked ( =  6) position (Borer  38  1979,  1981).  If  that  movement  39  were possible to another 8- marked position it would receive two 6- roles, in violation of the 8- Criterion.  8  positions  include C O M P ,  the  subject  of  INFL  if  not  8- marked  by  the  predicate phrase, and adjuncts. In this model, the landing sites for movement are taken to be empty n o n - 8- marked subjects and C O M P .  Only  N P s may  move  to  subject position, by  the  structure-preserving  hypothesis (Emonds 1976, but see Stowell 1981), and only categories with the feature [ + W H ] may move to C O M P (Chomsky 1981:115). The process  of moving an element out of base position and the reverse operation of  restoring a moved element are logically just inverse operations of each other.  However they  are treated separately here, since the goals of the two operations are quite different; one, the latter, is concerned with relating a phrase at surface structure with its base 8- marked position, while the  other  relates  a base position with  possibly many valid 8  surface  positions.  The  details of these two operations are covered more fully in 6.4.8 and 6.6.2.  4.2 Move Affix M o v e A f f i x , or A f f i x - H o p p i n g (Chomsky 1957, Baker 1978), affixes inflectional markers to verbal elements.  A t D-structure, tense and agreement make up the set of features i n I N F L  (Chomsky 1981). Considering [ + TNS] as an affix, it "moves" from I N F L to the first verbal element,  which may be a modal, auxiliary, or main verb. A G R is assumed to be  associated  with [ + TNS] (but not with [ - T N S ] ) so it too moves with [ + T N S ] , thereby fully determining the morphology of the verbal to which it attaches. The affixes  perfective  to the  auxiliary (have/haber)  following  verb form.  is  associated  with  a  perfect  participle,  Similarly, the progressive auxiliary (be/estar)  which  supplies a  progressive participle, and the passive be/ser a passive participle (although this form of passive is not often used i n Spanish, and not implemented in this model). The effects of these rules are exemplified below:  40  (1)  a. b. c.  Dana [ + TNS(past)] sit at home. Dana sit+TNS(past) at home. Dana sat at home.  (2)  a. b. c.  Michael [ + TNS(pres)] have + en leave. Michael have+TNS(pres) leave + en. Michael has left.  (3)  a. b. c.  They [ + TNS(pres)] be+ing visit friends. They be+TNS(pres) visit +ing friends. They are visiting friends.  (4)  a. b. c.  H e [ + TNS(past)] can have + en be+en see from the window. H e can + TNS(past) have be + e« see + en from the window. H e could have been seen from the window.  The sentences of (a) are i n base form, with participles associated with their auxiliaries. In (b), all  affixes  have  moved  to right-adjacent  verbal  elements.  The resulting  surface  forms are  shown in (c). In the reverse process, the inflectional features o f the lexical items are combined and merged with the features i n I N F L . The inflected forms are then replaced by their root forms. Validity tests on the combined features ensure that the appropriate form of the item has been taken.  F o r example, the word bought may be past tense or a perfect participle, depending on  the context The reverse transformation will select the correct choice.  4.3 N u l l Subject A characteristic of many languages (e.g. Spanish, Italian, Hungarian, Chinese, Japanese) that falls under the rubric of " p r o - d r o p " clauses, as i n the following Spanish (5)  is the possibility of "missing" subjects of tensed  examples:  a.  ( Y o ) voy a la playa.  b. c. d. e.  (Tu) vas a la playa. ( ' Y o u [informal] are going to the beach.') ( E l / E l l a / U d . ) va a la playa. ( ' H e / S h e / Y o u are going to the beach.') (Nosotros) vamos a la playa. ('We're going to the beach.') (Ellos/Ellas/Uds.) van a la playa.  (T'm going to the beach.')  ("They/You [plural] are going to the beach.') In all cases the parenthesized  subject pronoun is optional. It appears that, following Taraldsen  (1978), when the inflectional system is sufficiently rich to identify the subject, the subject may delete. This connects the presence of A G R i n I N F L (obligatory with [ + T N S ] but absent from  41 [ - T N S ] ) with the possibility of a null subject i f A G R is sufficiently specified.  12  English A G R  is not sufficiently rich, so empty subjects of finite declarative clauses do not occur. The features.  empty subject in these cases is pro, an N P with [ + P R O N O U N ] and agreement  It  is governed by A G R , as  is the  subject of any  finite  clause,  and thereby  may  receive nominative Case. In analyzing Spanish sentences, a null subject may indicate any one of the ECs. If the verb is inflected, then the subject is either a wh-trace governed  by  [ + T N S ] , and it cannot  be  an  or pro; it cannot be P R O because it is  NP-trace  because, as  subject, it could not  bound i n its governing category, i n violation of binding condition A . The  be  distinction between  pro and wh- trace is readily apparent i f the verbal inflection indicates first or second person, in which case the appropriate lexical pronoun can replace the E C under recoverability of deletion. Otherwise the status of the E C will depend on whether there exists a wh- element to bind the variable. In  generating  Spanish  sentences,  a  subject  pronoun  may  be  replaced  by  an  EC,  retaining its features which include person, number, possibly gender, and [ + P R O N O U N ] . English, not being a p r o - d r o p language, is barred from the possibility of null subjects.  4.4 Inversion The inversion transformation  for English is called Subject-Auxiliary Inversion (SAI), or  Subject H e l p i n g - V e r b Inversion (Baker in  English, some  1978). T o fully account for the empirical facts of S A I  additional transformations  are  required, namely  Do  Support and  Have/Be  Raising. These are described below, followed by the counterpart inversion rule in Spanish, Verb Fronting.  Huang (1982) notes that Chinese has no A G R feature set, yet is a p r o - d r o p language; he relates the identification of the empty subject not with A G R but with a higher lexical subject. 12  42 4.4.1 Subject-Auxiliary Inversion SAI is an obligatory rule for English yes/no and wh questions, as demonstrated below: (6)  a. b. c. d.  Can we still be friends? Has it ever happened before? Are you lonesome tonight? D o you really want to hurt me?  (7)  a. b. c.  H o w can I be sure? Where have all the flowers gone? W h o are you kidding?  d.  W h y do fools fall in love?  In the (a) examples, the modal verb inverts with the subject  In (b), the perfective auxiliary  inverts; in (c) the progressive auxiliary inverts, and in (d) the  "helping verb" do is inserted,  then inverted. In  structural terms,  the  contents  structure that attaches at the I N F L  2  of the  INFL  head ( = " ' A U X " )  level:  [ I N F L , A d j u n c t [ I N F L , Subj, [e, e, VP]]]  (8)  This is diagrammed below:  INFL  INFL  /  / 1  \  INFL  0  /  / / 2  base  1  \  \ \  INFL  0  \ \  e  can has are do  (a)  2  / N INFL \  /  INFL \  /  INFL  has are do  /  2  /  can  2  /  N  /  /  2  (b)  surface  become  an  adjunct  43 The  implementation  o f this  rule  is straightforward  and reversible.  From  a  surface  structure (b) in which an adjunct was parsed, the adjunct is restored to the head of the I N F L , as i n (a), which must, o f course, have been empty, given the ungrammaticality of sentences like Should John can go?. A t generation, inversion of I N F L occurs (at the matrix level only) merely by virtue of the sentence being a question.  4.4.2 Have/Be Raising When no modal is present i n I N F L to undergo inversion, the first auxiliary inverts, as in the (6b,c) and (7b,c). It "raises"  into I N F L , where S A I then applies. The structures are  reversible:  I N F L  / N  2  /  /  I N F L  2  /  2  / /  /  / I N F L  1  N  \ \ I N F L  e  I N F L  2  \  \  \ \  \ V  0  / /  2  \ I N F L  0  have be  /  /  V  2  V  1  / / /  / A U X i  V  A U X i  1  have / be /  be e  / /  /  /  / A U X  1  / 2  V °  A U X  be  2  V °  e  e  (a)  base  (b)  surface  44 4.4.3 Do Support If S A I inverts a null A U X , i.e. void of a modal or auxiliary verb, the rule of D o Support is activated.  The grammatical formative do, distinct from main verb do although with  similar morphology, is inserted into the inverted A U X position. However, it does not apply i n wh-questions  with  empty subjects:  Who  saw David?,  although  SAI still takes place,  even  if  vacuously. The Support place.  current  implementation  before SAI.  departs  from  the  This allows Move Affix to attach  The D o Support transformation  traditional  is provided with a "look-ahead"  D o Support is illustrated below:  /  INFL  2  /  N  2  2  /  /  /  /  /  INFL \  N  1  \  \  INFL  INFL \  1  \  \  V /  /  \  0  e  2  \ 2  INFL  0  /  do  /  V  2  V  1  /  /  / /  /  AUX  V  X  e  1  /  AUX  X  e  / /  /  /  /  /  AUX  2  V°  e  (a)  /  AUX  2  V°  e  base  (b)  by  scheduling  Do  tense onto do before inversion takes  D o Support will be required.  INFL  order  surface  capability to detect i f  45  4.4.4 Verb Fronting Verb Fronting, or V - P r e p o s i n g (Torrego  1984), is a characteristic of Spanish questions  that fronts one or more [ + VJ elements to the head o f the clause, as i n the examples below: (9)  a.  Debia Juan haber estado cantando tan fuerte?  b.  ('Should John have been singing so loudly?') Debia haber estado Juan cantando tan fuerte?  c.  Debia haber estado cantando Juan tan fuerte?  In (a), only the modal verb undergoes fronting. In (b), the modal and perfect auxiliary with its participle inverts (perfectives may not be separated from their participle Juan estado cantando  tan juerie?).  In (c), the modal, both  cf. * Debia  haber  auxiliaries, and main verb are  fronted. A s noted by Torrego, verb fronting is optional for yes/no questions but obligatory i n clauses containing certain wh- phrases or their trace i n C O M P : (10)  (11)  a.  Qu6 querian  esos dosl  b.  ('What d i d those two want?') *Qu6 esos dos querian? C o n quien sabia Juan que habia admitido Ana que habia hablado Pedro! ('Who d i d John know that A n a had admitted that Peter had spoken with?') C o n qui6n sabia Juan que habia admitido Ana que Pedro habia hablado?  c.  * C o n qui6n sabia Juan que Ana habia admitido que Pedro habia hablado?  b. a.  In (11), the wh- phrase moves from the lowest embedded clause  to the matrix C O M P .  In  (11a), the wA-phrase passes through each C O M P position, forcing inversion. Example ( l i b ) is grammatical and provides evidence for S as a bounding category for M o v e - a . moves directly to the second C O M P  position, bypassing the lowest C O M P .  The  wh-phrase  Since the lowest  C O M P does not contain the wh- trace, no inversion is required. Example (11c) is a subjacency violation as the wh- phrase crosses two S nodes, evident from the fact that inversion has only occurred i n the highest clause containing the wh- phrase.  13  Several combinations o f inversion are thus possible, so the V - p r e p o s i n g clause simply lists all patterns of base structure, surface structure and adjunct i n the format shown:  N o t all linguists agree with_ Torrego's grammaticality judgments o f the sentences i n (11) nor with the conclusion that S is a bounding node for Spanish. H e r analysis is adopted here, although other analyses may prove to be preferable. 13  46  (12)  v_prepose(Base, Surface,  Adjunct).  Each argument to v_prepose consists o f a four-element list representing the contents o f the modal, first auxiliary, second auxiliary and main verb. W h e n mapping from surface to base structure, the surface-adjunct pair directly unifies with one o f the combinations to derive the base structure. O n generation, the base structure will, through backtracking, unify with one or more possible surface  structures, giving rise  to multiple transformations.  F o r example, i f a  modal and main verb are found inverted during parsing, it will match the first entry below: (13) v_prepose( v_prepose(  [l,e,e,V], [l,e,e,V],  [e,e,e,e], [e,e,e,V],  [l,e,e,V]). [I,e,e,e]) :- !.  During generation, the first entry will cause the modal and main verb to invert; subsequent backtracking to v_prepose will select the second entry, inverting only the modal.  4.5 It Insertion In the p r o - d r o p languages, null subjects o f clauses that are not ©-marked remain null. In  English,  they  must be lexicalized. The non-referential pronoun it serves  this function.  (There is the other non-referential element but its characteristics are more complex (Chomsky 1981, Safir 1982, Williams 1984).) It Insertion is diagrammed below:  INFL / /  INFL /  2  /  /  /  /  N e  2  /  INFL \ \  N  1  2  it  INFL  1  \  \  \  \  \  INFL (a)  In  [PER(3),-PL]  2  0  V  2  [-THETA]  base  going from base to surface  INFL (b)  \  0  V  2  [-THETA]  surface  form, an empty subject  of a non-6-marked  clause has it  47  inserted, with features  [PER(3),-PL]  (=  3rd person singular) merged into the I N F L  features  for determining verbal inflection. Going from surface to base form, i f it appears as subject of a n o n - 6- marked clause, it deletes. the  sentence  (This is not always correct i f it is in fact referential, as in  It seems to behave intelligently.  Some  ultimately relying on satisfaction of the 6-Criterion,  amount  of backtracking or  lookahead,  would be required i n order to correctly  handle this situation.)  4.6 Complementizer Insertion It is assumed that complementizers are optionally selected, depending on specific lexical characteristics and other conditions such as embedded tense. When introducing tensed embedded clauses i n English, the complementizer seems to be freely selected (or deleted, depending on the direction from which the problem is approached): (14)  I know (that) you think (that) I'm crazy.  Similarly, for may be optional (in some dialects) in infinitival clauses: (15)  She would prefer (for) you to leave immediately.  The complementizer for takes on the same Case-assigning properties as the preposition for, so its presence  in C O M P  is  closely  connected  with  the  Case  Filter.  It  may  not  delete,  for  example, i n the sentence: (16)  I'm eager for you to take part.  since you would not be assigned Case (although note the counterexample for want below). Choice of complementizer is determined i n part by lexical properties, presumably  as  part of the subcategorization frame that specifies clausal arguments. For example, wonder may take whether as a complementizer (or other [ + W H ] phrase) but not that: (17)  a.  I wonder whether Jennifer knows yet  b.  I wonder who Jennifer knows.  c.  *I wonder that Jennifer knows yet  The for- complementizer is not permitted by wonder, although other verbs obligatorily require it:  48  (18)  a. b. c.  They waited for him to leave. *They waited that he would leave. I want (for) David to come with me.  d.  *I want (that) David come with me.  (The for i n (18c)  is assumed to delete when immediately adjacent to the verb after assigning  Case to the embedded subject, another marked property of want — David  to come with me)  cf. I want very much for  However, it is assumed that in the unmarked case, clauses may be  tensed or infinitival, with choice of complementizer determined accordingly. In this model, these peculiarities are avoided by allowing the optionally appear i n any tensed embedded clause.  that- complementizer  to  In a more complete system, some form of  selectional restrictions on the subcategorized clause is necessary, as discussed i n Chapter 8.  4.7 Modal Insertion In English, future tense may be  indicated by the  modal will, while Spanish has  a  regular inflection for future tense: (19)  a. b.  George will arrive tomorrow at seven, Jorge llegara maflana a las siete.  Similarly  for conditional tense, where English sometimes  uses the modal would and Spanish  inflects: (20) In  a. b.  If I could, I would buy a house, Si pudiera, me compraria una casa.  this  model, only  future  tense  is  analyzed, since  conditional tense  generally  involves a  subordinate clause in the subjunctive mood (cf. (20b) above), which is not considered here. When  will is  encountered  in analyzing an  English sentence,  leaving behind the tense feature i n the feature set for I N F L .  the  modal is  deleted,  In generating English sentences,  will is inserted into the head position of I N F L i f future tense is specified. In the case of untensed clauses i n English, the infinitive marker to is used. Since to indicates  [-TNS],  feature.  Therefore,  infinitival clauses.  it  may  not  co-occur  with  a  modal, which  always carries  the position occupied by a modal i n tensed clauses  the  [ + TNS]  is filled with  A s with will, it deletes during analysis of sentences, leaving behind  to in [-TNS]  49  as a feature, and is inserted on generation.  4.8 Successive Cyclicity and Order of Transformations The cyclic nature of transformations is relevant to the application of M o v e - a , long-distance movement can only be explained by assuming a series of successive given the bounding condition of subjacency.  where  movements,  This was illustrated in Section 4.1, M o v e  Alpha,  and in Section 4.4.4, Verb Fronting, for wh- movement, and applies as well to NP-movement, as i n the sentence: (21)  Thatcher seems to be likely to win.  with the corresponding S-structure representation: (22)  Thatcher^- seems  The subject, Thatcher, to the  t^ to be likely [g  3  Successive  i  moves from the lowest embedded clause S , where it receives its ©-role, 3  matrix subject via the  movement from S  t to win ]]]]]]  non-©-marked  subject of the  intermediate clause  S.  the  the  2  Direct  to Si would violate subjacency. cyclicity  does  not  necessarily  enter  into  operation  of  other  transformations, which are all local to the clause anyway. However, since it is required for M o v e - a , all transformations are defined i n terms of the cycle, that is, as having their effect within the boundaries of a single clause, i.e. C O M P  2  phrase. This facilitates the execution of a  transformational cycle by recursively calling the set of transformations on each C O M P  2  phrase.  In analyzing sentences, the cycle begins at the matrix clause; in generating sentences it begins at the lowest clause. Within  one  cycle,  the  transformations  transformation may have a bearing on the becomes  significant  14  As a  consequence,  are  performed sequentially.  functioning of subsequent  the  transformational  cycle  The  results  of  a  ones, so that ordering may  take  only  limited  A n alternative would be to introduce filters (Chomsky and Lasnik 1977) to eliminate mis-applied transformations. In that case, ordering would be irrelevant but a large number of filters might be required, possibly incurring excessive computational overhead in their execution. The result effectively imposes an implicit rule ordering, which is made explicit here and minimizes the reliance on filters. 14  50 advantage  of concurrent processing in mapping from one  level of representation  to  another.  However, the conditions on well-formedness of representations could be applied simultaneously. Because of the similarity between the two languages  Spanish and English, the transformational cycle  share much in common. Ordering is the same for related  for  transformations,  and some, such as M o v e - a and M o v e Affix, are general enough to be described independently of the language. The overall effect is to reduce the size and complexity of the transformational component, while maintaining relatively high cross-linguistic generality. For English, the transformational cycle includes the following: (23)  a.  Move-a  b. c. d. e. f. g.  It Insertion D o Support M o v e Affix C O M P Insertion M o d a l Insertion H a v e / B e Raising  h.  SAI  Move-a  occurs first, i f at all, to move phrases into © positions. If a non-©-marked  position  remains  Modal  empty, It  Insertion  may  occur  Insertion at  any  applies to time.  Support must occur, i n case inversion (or  lexicalize the  Before  subject  M o v e Affix  COMP  applies  to  subject  Insertion  inflect verbs,  and Do  " N o t " Insertion, i f negation were implemented) is  called for. After the tense has been affixed, S A I may move the inflected auxiliary. Have/Be Raising is a convenience i n the specification of S A I , so it precedes S A I . The exception  reverse-transformational  that  COMP  Insertion  "deletion" and M o d a l surface  structure.  auxiliary  actions  and  is  Modal  exactly Insertion  are  effectively  performed,  such  deleted as  during  ©-extraction  counterparts i n the transformational cycle. For Spanish, the transformational cycle includes: (24)  the  reverse  are  not  of  the  above,  performed;  that  with is,  the  COMP  "deletion" are not necessary i n the reconstruction of D-structure from  They are  cycle  a.  Move-a  b. c. d.  N u l l Subject Move Affix C O M P Insertion  the  translation  (Section  stage.  6.4.4),  that  Further, do  not  some have  51 e.  Verb Fronting  .  M o v e - a applies first, after which the N u l l Subject option may apply. Verb Fronting is applied to the matrix clause wh- phrase -to C O M P . inflections.  As  transformational Insertion.  in  of yes/no  questions  and to any clause in which M o v e - a has moved a  However, before Verb Fronting occurs, Move Affix generates the verbal English,  COMP  Insertion  may  cycle performs these transformations  occur  at  any  time.  The  i n reverse order, again bypassing  reverse COMP  Chapter 5 CONDITIONS O N  Representations S-structure,  LF,  grammaticality.  etc.) In  of  the  must  the  different  satisfy  previous  D-structure  and  S-structure  D-structure  was  unique  D-structure through the  to  and a  levels  certain  of  linguistic  well-formedness  chapters the  REPRESENTATIONS  we've  rules  for  covered mapping  sentence and that  structures  conditions the  to  general  between  the  multiple S-structures  basic transformation M o v e - a , the other  (i.e.  D-structure,  meet standards  of  representations  of  two. were  We  related  transformations  to  that the  being highly  idiosyncratic and relatively uninteresting. M o v e - a was seen to obey the principle of a condition on movement rather than on representation.  saw  subjacency,  See Huang (1984) and Chomsky (1982)  for argumentation supporting this viewpoint In this chapter and S-structures,  we look at the conditions that determine  the well-formedness of D -  and how these conditions are implemented i n Prolog. Certain conditions are  expressed as filters on over-generation, specifically designed to filter out i l l - f o r m e d S-structure constructions. Case  Filter.  Only two such filters are modeled here, the D o u b l y - f i l l e d C O M P Filter and the Other  well-formedness  conditions  are  expressions  of  the  principles  of  grammaticality, also implemented i n the form of filters. These include the Binding Conditions and  the  Empty  Category  Principle.  The  Extended  Projection  Principle  and  8- Criterion,  discussed first, are satisfied by virtue of the structural design of the model; no explicit  filtering  mechanisms are used.  5.1 Extended Projection Principle and Theta-Criterion The Extended Projection Principle and 8- Criterion interact to constrain both and D-structure.  The  levels of representation  two principles guarantee within the X - b a r  conservation  system  52  of  8- roles  of phrase structure.  among  S-structure  the  different  This correspondence  is  53  maintained by the grammar rules which  are driven by subcategorization  frames  within the  lexicon, and b y the fact that lexical categories i n © positions may be related to one and only one empty ©-position.  Elements ©-marked  at D-structure move within the sentence structure  leaving coindexed traces i n each occupied location. The indexed chain so formed contains at most one lexical phrase ("at most" since it may consist o f only non-lexical P R O ) , and each structural position is represented  i n only one chain. This ensures that a definable path, not  necessarily unique, exists from S-structure back to D-structure, and that the thematic properties expressed  at  grammatically  D-structure correct  are present  sentences  i n any S-structure  are analyzed  by this  configuration.  system,  Given  that  the well-formedness  only  o f the  representations are maintained as to the Extended Projection Principle and the ©-Criterion.  5.2 D o u b l y - F i l l e d C O M P Filter In the course o f wh- movement, the C O M P node may contain a wh- phrase i n specifier position and a lexical complementizer i n head position. Such a configuration is ruled out at S-structure by the D o u b l y - F i l l e d C O M P Filter ( D F C F ) (Chomsky and Lasnik 1977): (!)  ^COMP  1  where a is assumed to contain a w/?-phrase and 0 a complementizer, as i n :  (2)  *...[the man  [g tooMP  w  h  o  t  ^  ^ ^-S  i a t  y  o  u  m  e  t  ^  1  Either a or /3 (or both) must delete i n order for the clause to be grammatical. W e might have achieved the same result by stipulating that a wh- phrase moves to the head o f C O M P , thereby preventing a lexical complementizer from simultaneously appearing i n head position. However, a couple o f problems result from this analysis. One is that there exist languages for which the D F C F does not hold (Pesetsky  1982). Another is that  wh- movement  through C O M P is assumed to leave a trace i n C O M P , even though a complementizer may be present i n certain circumstances: (3) Chomsky  WhOj do you think  [g [coMP  i  l  *  a  t  ^ ^  s  a  w  i ^  l  (1981) proposes that this is also ruled out by the D F C F , and that either the trace  54 or that must delete.  While it might be agreed that the trace is deletable, especially i f the  D F C F is a filter i n the P F component, the analogue to that i n Spanish, for example, is not deletable: (4)  a.  A quien^ piensas [jj [ ^ O M P '/ ^  b.  * A quien^ piensas [g fcQMP i ^ ^S ' ° Guillermo t ]]  u e  l  Therefore  the head  position of C O M P  ^ ^-S * ° Guillermo */ 1] v  v  must  i  be reserved  for a complementizer  for those  languages that require it, and the specifier position of C O M P may still be used to contain a wh- phrase, preserving the derivational history of movement i n the syntax. The D F C F , then, becomes a condition on the representation of S-structure, where the C O M P may not contain a and /3, both lexical. As a Prolog clause, this is stated simply as:  (5)  dbl_comp_filter([[comp,_], WH, [_,COMP,_]]) :lexical(WH), lexical(COMP), !,fail.  The  argument  to dbl_cornp_filter is the S-structure  of the clause,  a COMP  2  phrase. The  specifier is W H and the head is C O M P , all other constituents being immaterial. If both W H and C O M P are lexical, where lexical is defined as:  (6)  l e x i c a l ( [ X , e ] ) :- ! , f a i l .  i.e. not empty, then dbLcomp_filter fails and the S-structure is rejected.  5.3 Case Filter The Case Filter basically states that all lexical N P s must have Case. This is formulated in  terms  of the chain C=(a.j,...,a ), where 7J  (A-position) and a - binds a f  EC.  / +  each  a - is an N P i n an argument position f  ^ . thus sharing an index. Furthermore, for all />1,  is an  The head of the chain, a^, is either i n a Case-marked position or P R O , and no other  a - i n the chain may be Case-marked. The head of the chain, then, must either be lexical or PRO.  The chain is termed an A - c h a i n since it involves only A-positions.  55 The  implementation  of the Case  Filter  involves  inspecting  verifying that lexical N P s i n these positions are Case-marked. the subjects of clauses and objects of verbs.  every  A-position and  The A-positions of interest are  Objects of prepositions are always assigned  by the preposition, and may not move to another Case-assigned  position;  therefore,  15  Case  they do  not need explicit verification. The subject of a clause may receive Case in one of two ways: through the mechanism of  Exceptional  Case-Marking  ( E C M ) or through  [ + TNS]  in INFL,  the former  assigning  objective Case, the latter nominative. If the subject is lexical, it must be i n one of these two environments.  If it is not lexical,  the Case  Filter  does  not apply;  other  principles  will  determine the status o f the E C . Exceptional  Case-Marking  is  an  idiosyncratic  feature  of  English  that  allows  for  sentences such as: (7)  a. b.  I believe (that) John is my friend, I believe John to be my friend.  In (a), John receives nominative Case Case is not assigned NPs (8) The  from the tensed  since the embedded  clause  embedded  INFL.  In (b), nominative  is infinitival, which normally prevents lexical  from appearing i n subject position, as i n : *I think John to be my friend. transitive verb believe "deletes" the subcategorized  S node and thus is able to directly  govern the embedded subject, assigning it Case by virtue of transitivity. The Case Filter is implemented by separating the analysis of Case into two stages, one for analyzing the subject position, the other for object position:  (9)  c a s e _ f i l t e r ( L , Sstructure) :subj_position(L, Sstructure), obj_position(L, Sstructure). The two configurations i n which Case is assigned to the subject position are represented  by the following Prolog clauses:  15  Restructuring  of a preposition  task should not have  been taken  with  the verb  on. The  may occur  restructured  verb  i n certain take  preposition. However, this model does not contain cases of such  cases, such as  on assigns  restructuring.  Case,  This  not the  56 (10)  subj_pos(L, [ [ v , J , _ , [_,V, [[comp,_],e,[e,e, [[infl,FI],NP,_]]]]])  lexical(NP), member(tns(-),FI), ecm(L,V).  :-  !,  subj_pos(L,[[inf1,_],NP,_]) : lexical(NP), !, not member(tns(-),FI). In the first subj_pos statement, the configuration for ECM is presented, where a VP dominates a clause COMP which contains no wh- phrase, trace, or complementizer. Then, if the subject is lexical and INFL contains the feature [-TNS], ECM must obligatorily apply. (The cut symbol (!) prevents backtracking to the next subj_pos statement) The ecm statement is defined as: (11)  ecm(english,V) : is_sdeleter(english,V,v), is_transitive(english,V).  where is_sdeleter scans the lexical entry of the verb for the feature 'sdel( + )\ and is_transitive checks verbs for subcategorization of NP. ecm is present only in the core grammar for English; Spanish has no ECM properties. In the second subj_pos statement, a lexical subject not in an ECM environment must be in a tensed clause, i.e. the features of INFL must not contain [-TNS]. Appropriate Prolog clauses are added to recursively search through the phrase structure for the two subject Case-marking configurations. Objective Case is always assigned by transitive verbs, as for prepositions, except in the passive construction, where the transitive verb is "de-transitivized" and fails to assign Case to its object Therefore if the object of a transitive verb is lexical but the phrase is marked for passive, the configuration will be ruled out The Prolog clause is defined as: (12)  obj_pos(  [[v,FV],•  _, [_, _, [[n,_], _, _ ] | _ ] ) :-  not member(pass(+),FV). This situation occurs if, for example, Move-a fails to move the NP out of object position, as in: (13)  *(It) was taken a book from the shelf.  The NP a book must obligatorily move to subject position, where it will receive Case from the  57  tensed I N F L .  5.4 Binding Conditions The  relation between  an N P and a possible  conditions (and by the theory  of control  for P R O ) .  antecedent is expressed A s stated in Section  by the binding  2.2.5, the binding  conditions hold over lexical N P s and non-lexical N P s , with NP-traces conforming to Condition A for anaphors, pro following Condition B for pronouns, and variables conforming to Condition C for names. Although in principle all N P s , whether value  is determined  explicitly checked binding  of  all  by the  binding conditions, only N P s that participate  for valid binding, since  other  lexical or non-lexical, receive an index whose  (static)  NPs  only they  determines  their  are  given indices  reference  semantic operation at L F , and therefore not of interest here. of  the  binding conditions  is  limited to  Condition A  for  for  i n movement  in this system.  interpretation  are The  purposes,  a  Consequently, the implementation NP-traces  and  Condition C  for  variable traces, expressed by the following top-level Prolog statement: (14)  binding_conditions(L, Sstructure) condition_A(L, condition_C(L,  :-  Sstructure), Sstructure).  For Condition A , an N P - t r a c e may occur either i n subject position or i n object position. the  subject is an N P - t r a c e , then  it must be  governed  by a predicate  with the  If  S-deletion  property. It may not be governed by [ + T N S ] , thereby preventing a sentence such as: (15)  John seems [ t has left ]  (Note that (15)  is more properly a Case Filter violation since the chain of John and its trace  is receiving Case twice. However, the implementation of the Case Filter only applies to lexical NPs and variables, not  NP-traces.)  The Prolog statement of Condition A for subject position is given i n (16):  58  (16)  condition_A(L,  [[X,_],_,[_,XW, [[comp,_],WH,[e,COMP, [[infl,FI],NP,_]]]]]) :is_nptrace(NP), I  WH=e, COMP=e, member(tns(-), FI), i s _ s d e l e t e r ( L , XW, X). No  explicit index matching is performed, since  i n this model i f an NP-trace  is i n  subject position, it can only be bound to an antecedent i n the next higher subject position, the only possible available A-position. Empty object positions as landing sites for an antecedent are excluded  by the Projection  Principle, and more  distant  subject  positions  are excluded by  subjacency. For an NP-trace i n object position, its antecedent must be the subject, a result o f passive (17a)  formation.  Here, explicit index  matching  is required.  Otherwise,  the D-structure i n  could generate the sentence i n (17b), i n which movement obeys subjacency and the trace  is properly governed, but the trace is not bound i n its governing category, violating Condition  (17)  a.  [ e be likely [ Mary [ - T N S , + P E R F ] see John ]]  b.  John^ is likely Mary to have seen tThe statement for this condition is given below, where I N F L represents the governing  category for the trace i n object position: (18)  condition_A(L,  [[inf1,_],NP1,[_,_, [ [ v , _ ] , _ , [ _ , j A r g s ] ] ] ] > :member(NP2, A r g s ) , is_nptrace(NP2), i index(NPl,I),  index(NP2,J),  I == J .  In (18), each argument of the verb is checked for the presence o f an NP-trace. If none is found, Condition A succeeds by default  Otherwise the index o f the trace must match the  index o f the clausal subject As these are the only two possibilities for an NP-trace to occur, a further check is made  to verify that no other  E C i n the structure  has the features of an N P - t r a c e , i.e.  59  [ + ANAPHOR - PRONOUN]. As for Condition C , a violation will occur i f a variable is bound to a c-commanding phrase  i n an A-position.  antecedents  A s with  Condition  A , object positions are excluded as possible  by the Projection Principle, leaving subjects as the only possible candidates. A  violation could arise i n the following instance, where (19a) gives the D-structure and (19b) a possible derivation: (19)  a.  [ e seem [ e [ who like Madonna ]]]  b.  *[ Who - seems [  c.  [ WhOj- [ does it seem [ t [ t likes Madonna ]]]]  z  [ r- likes Madonna ]]] i  i  In (b), who moves to C O M P by wh-movement, matrix clause. The variable  and i n the next cycle to the ©-subject o f the  i n the embedded subject position is now bound to the matrix  subject, violating Condition C . Compare this with the grammatical sentence i n (c), where the embedded subject  trace  is bound to who i n C O M P ,  an A - p o s i t i o n ,  and therefore  not i n  violation o f the binding conditions. The relevant statements  that constitute the basic formulation o f Condition C are given  below. A s with the implementation o f the other well-formedness conditions, other  statements  not shown are also involved i n recursively searching clausal constituents for binding condition violations. (20)  condition_C(L,  [[comp,_],_,[ ,_,  [[infl,_],NP,T_,_|vp]]]]) var_free(NP, VP). var_free(NP, Args) :- index(NP,I), var_free(_,_).  :-  !, f r e e ( I , VP).  freed,  [H|T]) :- free_arg(I, H), free_arg2(I, H), freed, T). free(_,[]). free_arg(I, X) :- not ( i s _ v a r i a b l e ( X ) , index(X, J ) , I == J ) .  The var_free statement  determines i f the subject  has an index; i f so, then any embedded  variable must not be bound with the same index. T h e free statement  makes sure that each  60 argument of the verb does not share the index of the subject (checked by no embedded phrase is bound to the subject (checked  by free_arg2).  free_arg),  and that  The free_arg  statement  will succeed unless the phrase under inspection is a variable whose index matches that of the subject  5.5 Empty Category Principle The E C P (or Extended E C P (Chomsky 1982)) states the conditions on empty categories (ECs): (21)  Extended Empty Category Principle  NP-traces  (i)  A n E C is a trace if and only if it is properly governed  (ii)  A n E C is P R O if and only i f it is ungoverned  and wh- traces must be properly governed by (i), where proper government  is a  more restricted notion of government than that presented i n Section 2.2.4. The E C pro is not subject to the E C P but rather  depends on Condition B  of the  binding conditions, being  pronominal, and on its identifiability; that is, if deleted its identification must be  a  recoverable.  In Spanish, the verbal inflection is generally sufficient to identify the missing pronoun. (Note that this applies to pro i n subject position, not object pro which identifies with a clitic.)  The  distribution of the remaining E C , P R O , is described by (ii) of the E C P , which restricts it to the subject of infinitival clauses. Certain configurations  are  classed  as proper  governors, possibly subject to  parametric  variation. Thus, for English, [ + TNS] governs the subject but does not properly govern i t  For  Spanish, [ + TNS]  The  "core  grammar"  is included in the set of proper governors but prepositions are n o t components  of  the  system  contain  the  16  following Prolog unit clauses  for  defining the proper governors:  The inclusion of [ + T N S ] as a proper governor for languages such as Spanish was proposed by Chomsky (1981) but later rejected. It is included here as a proper governor since it simplifies the implementation for the effects we wish to achieve. 16  61  (22)  proper_governor(english,v). proper_governor(english,p). proper_governor(spanish,v). proper_governor(Spanish,inf1). In  addition to the above categories,  a wh- phrase or its trace in C O M P  is implicitly  included as a proper governor. W i t h these descriptions of proper government, the E C P is implemented by enumerating all  the  structural configurations in which  an E C may occur and verifying  that  the position  meets the E C P . These are listed below, and include (1) proper government by an  S-deleting  predicate,  (3)  (2)  proper  government  by  a  wh- element  (overt  or  trace) in  COMP,  proper  government by [ + T N S ] (for Spanish), (4) proper government by V or P of its arguments, and (5) proper government by a lexical head of any adjuncts. in wh-movement (23)  17  The latter case arises, for example,  of a non-argument, as in (23):  A t which dance did K e v i n meet Marlene t 1  The wh- phrase is not subcategorized by meet, but the trace is nevertheless properly governed. The principal statements of the E C P are the following: (24)  ecp(L, [[X,_],_,[_,XW, [[comp,_],e,[e,e, [[infl,J,NP,_]]]]]) not l e x i c a l ( N P ) , i s _ s d e l e t e r ( L , XW, X), not i s PRO(NP). ecp(L, [[comp,_],WH,[e,e, t[infl,_],NP,_]]]) index(WH,_), not i s PRO(NP). ecp(L, [ [ i n f l , F l ] , N P , _ ] ) :not l e x i c a l ( N P ) , not member(tns(-), F I ) , proper_governor(L, i n f l ) .  17  and  This is perhaps Saito 1984).  better described as antecedent  government, not lexical government (Lasnik  ecp(L, [[X,_],_,[_,_|Args]]) : member(XP, Args), is_trace(XP), i  proper_governor(L, X) ecp(L, [ [ X , J , _ , _ | P o s t A d j ] ) :member(XP, PostAdj), is_trace(XP), i  proper_governor(L, X)  Chapter 6 EXECUTION  The  overall purpose  of the system  is to read  grammatical  sentences  in a  source  language, convert them to D-structures, translate the D-structures into a target language, and then  generate  grammatical  sentences  i n the target  language,  relying  on the principles of  transformational grammar. Since many transformations are optional, the system will perform all possible transformations on a single D-structure, producing an output sentence for each option. Likewise,  a sentence  i n the source  language  may have  multiple translations, and for each  translation the complete set of transformational options are applied. The h i g h - l e v e l operation of the system is defined by the following Prolog program: (1)  model :- readinput(SL, TL, P F 1 ) , gb(SL,PFl, TL,PF2), printout(PF2). gb(SL,PFl, TL,PF2) :morph(SL, PF1, PFla), parse(SL, PFla, S s t r u c t u r e l ) , rtransformation(SL, S s t r u c t u r e l , D s t r u c t u r e l ) , translation(SL, Dstructurel, TL, Dstructure2), transformation(TL, Dstructure2, Sstructure2), pf_generation(TL,  Sstructure2, PF2),  Following input o f the source language, target language, and source sentence, the gb predicate derives the target sentence, which is then printed. The six clauses of gb have the following interpretation: 1.  Perform a morphological analysis on the source sentence P F 1 , converting it to a list o f lexical tokens P F l a suitable for parsing.  2.  Parse the list of tokens, creating an S-structure  3.  Perform  reverse-transformations  on  the  representation.  S-structure,  converting  it  to  D-structure  representation. 4.  Translate the source language D-structure into a D-structure i n the target language.  63  64  5.  Perform transformations on the D-structure to produce an S-structure.  It is in this, stage  that the well-formedness conditions apply to filter out ungrarnmatical S-structures. 6.  Generate a list of tokens P F 2 from the The  implementation uses the  built-in  S-structure. Prolog predicate bagof i n step 4 to collect all  possible translations, which are passed one at a time to the transformation routine. The bagof predicate  is  again  used  in  step  5  to  produce  multiple  transformations  on  each  of  the  translations.  The eight clauses of the model are described below.  6.1 Sentence Input The three-argument readinput clause prompts for the source language, target  language,  and sentence i n the source language. The sentence is represented as a list of words, or tokens, separated  by  commas.  Final  punctuation  is  also  represented  as  a  token.  All  upper-case  characters are converted to lower-case. The  procedure  for  reading  each  character,  combining  characters  into  words,  and  stringing words into a list, is taken directly from Clocksin and Mellish (1981:87-88). The following illustrates a typical dialogue: Enter source language: Spanish. Enter target language: e n g l i s h . Enter As  a  result  sentence i n Spanish: Quien d i j i s t e of  the  above  dialogue, the  readinput  que  clause  salio? would  have  its  three  arguments  instantiated as follows: (2)  readinput(Spanish,english,[quien,dijiste,que,salib,?]).  (Note that diacritical marks appear  over the  letters  i n the examples  here  and elsewhere  to  improve readability. In practice, given the English keyboards available, diacritics immediately follow the letters over which they are to appear, as can be seen i n the examples in Appendix A.)  65  6.2  Morphological Analysis The morph clause analyzes the list provided by readinput and updates the dictionary if  necessary. It also analyzes contractions  and collocations,  forming a new list of tokens  to  be  parsed. The operation of morph is defined by the following three clauses: (3)  morph(SL, Surface,  Newsurface) :-  contract(SL, Surface, Surfacel), collocate(SL, Surfacel, Newsurface), morphwords(SL, Newsurface). The  first  clause,  constituent any  contract, uses the contraction  words. It constructs  contractions  are  3.1.3) to split a contraction  into its  an output list of tokens identical to the input list except that  expanded,  pongo los libros al lado del  table (cf.  or  "de-contracted".  For  example,  the  Spanish  sentence  radio T put the books beside the radio' would evaluate  to  Yo the  following: (4)  cont rac t (spani sh, [yo,pongo,los,libros,al,lado,del,radio,.], [yo,pongo,los,libros,a,el,lado,de,el,radio,.]). The second clause, collocate, forms collocations on the words supplied by the contract  routine. It uses the collocation table (cf. 3.1.4) to generate a new list of tokens that include collocated entries. (5)  Using the same example as above, the collocate clause would evaluate to:  collocate(Spanish, [yo,pongo,los,libros,a,el,lado,de,el,radio,.], [yo,pongo,los,libros,al_lado_de,el,radio,.]). The third clause, morphwords, performs a morphological analysis on each token i n the  list  Three options apply: (1)  the token is already i n the dictionary, in which case processing  continues with the next token; (2) a suffix analysis is undertaken on the token to see i f it is an inflected  form of an existing lexical entry;  or (3)  a prompt is issued on the  computer  terminal to allow the addition of the word to the dictionary. The  suffix  analysis  uses the  suffix table (cf.  3.1.2) to  determine  i f the  word is a  regular inflection of a root word. F o r each entry i n the suffix table, an attempt is made  to  split the word into a stem segment followed by the suffix, with letters appended to the stem  66 i f present in the suffix table.  If the (appended) stem is in the dictionary, then the current  token is added with features specified for in the table.  If not, the next entry i n the suffix  table is selected, continuing in this manner until a match is found or the table is exhausted. Once an inflected form is added to the  dictionary it remains until the computer session  is  terminated. A n example of suffix analysis is given below for the Spanish word viviendo 'living'. A segment of the suffix table includes the following entries:  (6) suffixtable(spanish,ando,ar,v,tprog(+)]). suffixtable(Spanish,iendo,er,v,[prog(+)]). suffixtable(Spanish,iendo,ir,v,[prog(+)]). The root entry in the dictionary contains: (7)  diet(Spanish,vivir,v,[english(live),...]).  The first entry in the suffix table, -ando,  fails to match with the ending of viviendo.  second entry succeeds, but when the stem viv is appended with -er,  The  the result viver is not  listed i n the dictionary, so the next entry in the table is chosen. This also succeeds, and since the result vivir does exist, the dictionary is updated with: (8)  diet(Spanish,viviendo,v,[f(prog(+)),root(vivir)]). If the suffix analysis fails, an opportunity is presented for including the word i n the  dictionary,  either  permanently or just  for  the  duration of the  current session.  The  lexical  category and relevant features are requested, and the dictionary is appropriately updated.  6.3 Parsing The parse routine converts the string of tokens into a phrase marker representing the S-structure of a clause. The clause is represented by a C O M P the x2 routine with (9)  parse(L,  2  phrase, and parsed by calling  X=comp: PF, Sstructure)  : - x2(L,  comp, S s t r u c t u r e ,  PF,  []).  C O M P subcategorizes an I N F L phrase, as indicated i n the lexical entry for complementizers, or  67 by default, and I N F L subcategorizes a V P . So parsing continues from one phrase to another as directed by the subcategorization information for each lexical head. Parsing will succeed as long as  the  subcategorization  purpose  of  the  Projection  did  without  are  met,  in this  regard  to  with  ECs  inserted  model, then, is  other  rules  or  if  simply to  principles  necessary. satisfy  of  The  the  main  Extended  grammar,  such  as  agreement  The Who  parsing component  Principle  subject-verb  requirements  following is the instantiation of  the parse statement  after  parsing the  sentence:  you say you saw?  parse (english, [who,did,you,say,you,saw,?], [[comp,[]], [[n,[]],e,[e,who]],  (10)  [e,e,  [[infl,[]3, d i d ,  [[infl,[]], [[n,[]],e,[e,you]], [[v,[]],e,[e,say,  [e,e,  [[comp,[]],e,[e,e, ttinfl,[]], [[n,[]],e,[e,you]], [e,e, [[v,[]],e,[e,saw, [[n,[]],e]]]]]],[mode,ques]]]]]]]]]).  6.4 Reverse Transformations The  function of  rtransformation  is  to  convert  the  S-structure  to  D-structure.  As  D-structure is a pure representation of the 8- marking properties of the clause, a function of rtransformation positions.  A  is  to  second  return all lexical phrases function is  to  determine  in the  8  positions to  feature  their  base-generated  specifications of  each  phrase  percolating and merging features from lexical constituents, validating feature agreement process.  6 by  i n the  The other functions reverse the effects of the various other transformations that are  required i n forming well-formed surface structures. For reverse.  the  That  most part, reverse-transformations is,  if  a  transformation  reverse-transformation will remove i t the reverse-transformation sequence  inserts  a  are, i n fact lexical  item,  transformations performed in such  as  pleonastic  it,  the  If D o Support is required before inversion takes place,  is to undo the inversion, then remove the do-formative.  68  Consequently,  the components  that  perform  transformations  and reverse-transformations  upon many o f the same routines but with interchanged parameters.  call  The transformational cycle  is also reversed i n rtransformation, so that all reverse-transformations  are performed on the  matrix clause first, then on each embedded clause i n descending order. As  a recursive function, rtransformation calls a l l the reverse-transformations  for one  cycle. It operates functionally o n various stages of S-structure, with each subroutine converting the previous S-structure to a modified S-structure, passing it to the next subroutine, until the D-structure  representation  is obtained  for that  cycle.  Then  the process  repeats  on the  embedded clause. The operation of rtransformation is given by the following: (11)  rtransformation(L, COMP1, COMP11) :rinversion(L, COMP1, COMP2), percolate(L, COMP2, COMP3), rmove_affix(L, COMP3, COMP4), theta_extraction(COMP4, COMP5), do_support(L, _,_,COMP6, COMP5), i t _ i n s e r t i o n ( L , COMP7, COMP6), n u l l _ s u b j e c t ( L , COMP8, COMP7), rmove_alpha (COMP8, COMP9),. wh_feature_extraction(COMP9, COMP10), rtransform_lower(L, COMP10, COMP11).  Each function is described below, although some, such as D o Support, It Insertion, and N u l l Subject, are simply the reverse o f the transformations described i n Chapter 4. If the structural configuration structural  for these transformations is present  change  occurs.  Otherwise,  i n the surface  the structure  remains  structure, the corresponding  unchanged.  Notice  that the  parameters are reversed i n these three transformations.  6.4.1 Rinversion The rinversion clause Raising.  for English reverses  the effect o f SAI, then reverses  Have/Be  If an adjunct has been parsed, S A I will return the contents of the adjunct to the  base I N F L head position. Then i f the head o f I N F L is a perfective or progressive auxiliary, it bumps the current auxiliary to second auxiliary position, and the auxiliary i n I N F L is moved into the primary auxiliary position, leaving the head o f I N F L empty.  69 The rinversion statement for English is defined as:  (12)  rinversion(english, C0MP1, COMP3) :s a i ( _ , _ , COMP2, COMP1), havebe_rais ing(COMP3, COMP2).  The parameters are reversed i n each clause, with the input o f the reverse transformation being the same as the output o f the "forward" transformation. For Spanish, rinversion is defined i n terms o f the verb-preposing transformation. If an adjunct  has been  parsed, its contents  pattern  defined by the surface  are restored  structure  to their base position according to the  and adjunct  pair, as described  i n Section 4.4.4.  Otherwise the structure remains unchanged. The clauses that define rinversion for Spanish are the following:  (13)  rinversion(Spanish, COMP1, COMP2) :v_preposing(COMP2, COMP1), i .  The v_preposing clause simply forms the four-element  lists from the base structure, surface  structure and adjunct, for use by the pattern-matching unit clauses  i n v_prepose (cf. 4.4.4).  The arguments to v_preposing are given i n reverse order.  6.4.2 Percolate The node position o f each phrasal category contains the name of the phrase and a list of features for that phrase. Initially, the list is null. The function of percolate is to assign to the list the merged set o f features  of the head and specifier, which must o f course  agree.  Percolation is carried out on all phrasal categories except V P , which has its own "percolation" routine, rmove_affix. Percolation for C O M P , I N F L , P P , and A P is trivial, since i n the latter two cases there are no specifiers with features to percolate (in this model), and i n the former two the head contributes no features that would clash with the specifier. The primary function o f percolate, then,  is to establish  agreement  between  head  nouns  and articles  with  respect  number, and, for Spanish, gender. Subject-verb agreement occurs within rmove_affix.  to person,  70  Another function of percolate is to replace inflected words (other than verbs) with their root form in preparation for translation. An illustration of percolate is shown below for the sentence: (14)  I saw  the  ships.  percolate (english, [[comp,[]],e,[e,e, [[infl,[]], [[n,[]],e,[e,i]], [e,e, [[v,[]],e,[e,saw, [[n,[]],the,[e,ships]]]]]]], [mode,decl]], [[comp,[]],e,[e,e, [[infl,[per(l),pl(-)]], [[n,[per(l),pl(-)]],e,[e,i]], [e,e, [[v,[]],e,[e,saw, [[n,[per(3),pl(+)]],the,[e,ship]]]]]]], [mode,decl]]).  6.4.3 Rmove-Affix The rmove_affix clause moves tense information from the VP to INFL, undoing the affect of affix-hopping. After the first stage of rmove_affix has applied, the verb will be in its uninflected form, and the tense and agreement features of the verb will have percolated to the V  2  level. A final step guarantees subject-verb agreement by merging the features of V  2  with those in INFL . 2  Tense information includes the tense itself (past, present or future), aspect (perfective or progressive), and voice (passive or, by default, active). These features are determined from the morphology of the verbal elements. A clause within rmove_affix lists all the combinations of auxiliaries with main verb and  extracts the relevant features. It also ensures that the  appropriate affixes were present for each aspect Thus a perfective auxiliary requires the next verbal element to have the feature [ + PERF]; a progressive auxiliary requires a following verbal with [ + PROG]; and passive requires perfective morphology, i.e. [ + PERF].  One  consequence of the passive voice is that the subject is not ©-marked. Therefore if passive morphology is detected, the feature [-THETA] is added to the feature list An additional function of rmove_affix is to assign a default tense if none is indicated. Since Spanish exhibits inflection for every tensed form, the absence of an explicit feature  71  means that the first verbal element is infinitival. In English, absence o f tense indicates present tense, with person and number features taken from the subject  6.4.4 Theta-Extraction N o n - 6- marked  subjects o f clauses  will  be returned to their  base position by the  rmove_alpha function. If a predicate contains the [ - T H E T A ] feature, the reverse movement will be performed. In anticipation of this action, the [ - T H E T A ] feature is transferred up to the INFL  feature  set  The reverse  movement  will  then  be triggered simply  by inspecting the  features in I N F L . For  verbs with this feature  transfer of tense and agreement  (e.g. seem), the transfer  features to I N F L during  will  be simultaneous with the  rmove_affix. However for adjectives  (e.g. probable), the feature must be explicitly searched for and i f found transferred to I N F L . This is because the A P structure is embedded within the V P as a subcategorized phrase, and rmove_affix only moves features from the V P . The  theta_extraction routine is defined below. The first parameter is the current  S-structure and the second is the resulting base structure: (15)  theta_extraction([[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,INFL, [[v,FV],Pl,[P2,V, [[a,FA],e,AP]]|PostV]]]]|PostC], [[comp,FC],WH,[e,COMP, [[infl,[theta(-)|FI]],NP,[e,INFL, [[v,FV],Pl,[P2,V, [[a,FA],e,AP]]|PostV]]]]|PostC]) :member(theta(-), FA), !.  6.4.5 Do-Support The  do_support function deletes the "quasi-modal"  do from the head  described i n Section 4.4.3. A s a reverse-transformation, the parameters order.  o f I N F L , as  are listed i n reverse  72  6.4.6 It-Insertion The it_insertion function replaces  it with an empty N P i f the [ - T H E T A ] feature is  present i n I N F L , as described i n Section 4.5.  6.4.7 Null-Subject The  null_subject  function has no effect i n English as a reverse-transformation.  For  Spanish, an attempt will be made to lexicalize a null subject If the verbal inflection indicates first  or second person, the subject is unambiguously determined, and the E C is appropriately  replaced.  A third person inflection may indicate a variable, so a null  subject i n this case  remains an E C , pending later analysis. See Section 4.3.  6.4.8 Rmove- Alpha By  the ©-Criterion  and the Projection  Principle, movement  may only be to a ©  position. F o r the cases o f M o v e - a under consideration i n this model, the only © positions are C O M P and the subject of non-©-marking  predicates.  The rmove_alpha clause consists o f (1)  movement from C O M P , followed by (2) movement from subject:  (16)  rmove_alpha(COMPl, COMP3) :rmove_comp(COMPl, COMP2), rmove_subj(COMP2, COMP3). For movement from C O M P , the phrase must be either an N P or P P with the feature  [ + WH].  Possible  destinations are (1) an empty subcategorized argument, (2) an empty N P  object of a preposition, (3) an empty subject, or (4) an embedded C O M P .  The options are  taken i n that order. Options (1) and (2), and (3) for English, are required i n order to satisfy the  ©-Criterion.  E C s i n these positions must be  subcategorized argument or an adjunct null subject parameter.  filled.  F o r option (2), the P P may be a  Option (3) poses difficulty for Spanish because o f the  Substituting a w / i - N P for an E C subject is premature i f an embedded  obligatory position remains empty.  Unfortunately the current system does not have  adequate  backtracking ability to recover from this situation, so input sentences with this characteristic are  73  avoided. In the case that a sentence has two null subjects (e.g.  Quien piensa que solid? ' W h o  thinks (he/she) left?'), the first will be replaced by the N P in C O M P . Spanish, the  wh-NP  must agree in features  with  the  verb, which  F o r both English and  for English represents  a  grammaticality check, while for Spanish it helps to further distinguish between a null subject and  a variable subject  obligatory (assuming  If none of options (1-3)  that  N P s must always receive  are  available, then for N P s , option (4)  a 8-role).  F o r PPs, option (4)  will  is be  selected unless no embedded C O M P is available, in which case an adjunct position to the V P will be created to contain the wh-PP.  (NPs may also have P P adjuncts, but this possibility is  ignored here.) Movement from subject takes place i f a lexical N P occupies a n o n - 8- marked subject, indicated by the [ - T H E T A ] feature.  If the clause is marked for passive, then movement must  be to an empty object Otherwise an empty lower subject must be available as a destination.  6.4.9 WH-Feature-Extraction The purpose of this function is to merge a [ + W H ] P P i f its N P object contains the [ + W H ]  feature.  feature into the feature list for a  The need for this arises in sentences such  as: (17)  a. b.  To whom did they give glass beads? Who(m) did they give glass beads to?  In both cases, the N P object who(m) has the feature [ + W H ]  but the preposition to does n o t  In order for the prepositional phrase to whom to move to C O M P , it must have the [ + W H ] feature.  The wh_feature_extraction  routine finds and extracts the features of the N P objects of  all PPs. If the features of N P contain [ + W H ] , then [ + W H ]  is merged with the features  PP. The part of the function that performs this action is shown below:  (18)  wh_feature_extraction([[p,F],e,[e,P,NP]], [[p,[wh(+)|F]],e,[e,P,NP]]) :features(NP, FNP), member(wh(+), FNP),  of  74 6.5 Translation Translation  is a  complex process  that  syntax, semantics, intensionality, causality, etc.  involves many  factors,  including  problems  of  Accurate high-quality translation of general text  by machine is not yet available, and is an advanced skill even at the human level. Our  interest  in  this  system  is  in  studying the  applicability of  a  model  of U G ,  augmented by the effects of parametric variation, to achieve grammatically correct translations. Subtleties of meaning are not of interest, but rather the comparative analyses of sentences that express  essentially identical propositions. Therefore  translations  based  on  the  semantic  equivalence  we restrict attention to achieving sentence  between  lexical elements.  For  example,  the  English verb put is semantically equivalent to the Spanish poner, both subcategorize and assign ©-roles  to  identical  elements.  We  disregard other  possible  translations  (e.g.  meter,  echar,  colocar) as well as the myriad other expressions which use put (e.g. hard put to do something, put up with something, put to sleep, etc.). Similarly for nouns and adjectives where a single translation suffices; an English car translates to a Spanish coche, ignoring carro, auto, etc., and the adjective certain simply translates to cierto, ignoring seguro, etc. Multiple  translations  are  provided  for  some  lexical  although i n general only one will be correct i n a given context distinguish  by automatic  means  the  correct  items,  especially  prepositions,  As it is often very difficult to  choice, this system indiscriminately uses  all the  translations provided. Typical examples are the Spanish preposition de which means of or from, the English for which translates to por or para, and the Spanish possessive pronoun su which means his, her,  its, their, and your (formal form). Consequently, some anomalous translations  result from input sentences such as the following: Juan solid con su amigo de (19)  a.  John left with his friend from Spain.  b. c. d. e.  John John John John  left left left left  with with with with  her friend from Spain. its friend from Spain. their friend from Spain. your friend from Spain.  f. g. h. i. j.  John John John John John  left left left left left  with with with with with  his friend of Spain. her friend of Spain. its friend of Spain. their friend of Spain, your friend of Spain.  Espana.  75 Two methods are provided for translating phrases and idioms, since literal translations are almost always totally inappropriate. One is by using the collocation table, as mentioned i n Section  3.1.4.  The  other  is by storing the  idiomatic expression in the  lexical entry of  the  leading word. A typical example is kick the bucket, where kick contains as part of its lexical definition the expression the  bucket. Whenever kick is encountered i n the input sentence, a  routine  to  check  is made  first  see  i f an  idiomatic expression  can  be  matched  with  the  Examples of dictionary entries with multiple translations and idiomatic expressions  are  subsequent wording.  shown below: (20)  d i c t ( S p a n i s h , de, p,  [english([of,from])]).  d i e t ( e n g l i s h , k i c k , v, [ e x p r ( [ [ t h e , b u c k e t ] , s p a n i s h ( [ m o r i r , expr([estirar,la,pata])])]),subcat(n),Spanish(patear)]). In the entry for kick above, the first 'expr' term contains a list of two items; the first is a list of words that form the idiomatic usage, and the second is the Spanish equivalent shown here as a list of two possible translations. One is the simple word morir 'die', the second is itself an idiomatic expression, estirar la pata.  If kick is not being used i n its idiomatic form,  then the Spanish patear is the translation, subcategorizing for an N P . Translation takes place between D-structures, since D - structures directiy represent thematic from  relations in a sentence.  S-structure  In fact  the  primary motivation for recreating  is just to simplify the translation stage, which  the  D-structure  would otherwise involve an  analysis of movement chains. The strategy is to translate the sentence phrase by phrase, independently of each other, starting at the matrix C O M P  2  level. The head of each phrase is translated first and then, for  nouns, inflected according to the  feature  specifications of the phrase.  (Verbal inflections are  applied later by the M o v e Affix transformation.) Specifiers are translated next and inflected to match the head. A l l subcategorized phrases and adjunct phrases are translated similarly. The translation function, recursively called for each maximal phrase structure, is shown below. The first argument to translate is the source language, the second argument is the list  76 structure  of the  sentence, the  third argument  is the  target language,  and the  fourth is  the  translated list structure:  (21)  translate(SL, [[C,F1],Specl,HDl P o s t l ] , TL, [[C,F2],Spec2,HD2 Post2]) :t r a n s l _ x l (SL ,-C, FI, HD1, TL, F2, HD2) , transl_spec(SL,C,Specl, TL,F2,Spec2), transl_comp(SL,Postl, TL,Post2). transl_xl(SL,C,Fl, [Pre,HDl|Complementl], TL, F2, [Pre,HD2|Complement2]) :transl_head(SL,C,Fl,HDl, TL,F2,HD2), transl_comp(SL,Complementl, TL,Complement2). The  example  sentence (22a)  to  in (23)  (22b).  illustrates  Unessential  how the  detail has  list structures been  would  omitted, and phrases  improve clarity: (22)  appear  a.  How  many books had Mary put beside her bed?  b.  Cuantos libros habia puesto Maria al lado de su cama?  are  in  translating  indented  to  77  ( )  [COMP  23  [lNFL:TNS(past), + PERF,PER(3)-PL [  NP:PER(3),-PL  mary  e  1  tvP:TNS(past),+PERF [  NP:PER(3), + P L ^-many  [pp  book ]  beside [  NP:PER(3),-PL  n e r  ^  b e d  ^MODE:ques ^  COMP INFL:TNS(past), + PERF,PER(3) - P L e ^NP:PER(3)-PL [  m a r i a  VP:TNS(past), + P E R F [  NP:PER(3), + P L  [pp  ^ P  oner  c u a n t o s  U b r o s  3  cd_lado_de [  NP:PER(3),-PL  M  c a m a  ™  ^MODErques ^  6.6 Transformations The transformational stage transforms each translated D-structure into a set (a " b a g " i n Prolog terminology) of S-structures, S-structure  using the transformations  described i n Chapter 4. Each  is passed through the set of well-formedness conditions described  Only the S-structures that satisfy .all the conditions are displayed as output The high level transformational function is shown below:  i n Chapter 5.  78  (24)  The  t r a n s f o r m a t i o n ^ , Dstructure, Sstructure) :transform(L,matrix(+),_,Dstructure, Sstructure), dbl_comp_filter(Sstructure), c a s e _ f i l t e r ( L , Sstructure), binding_conditions(L, Structure), ecp(L, Sstructure). D-structure is transformed into S-structure  by the transform function. The 'matrix( + )'  parameter indicates that a matrix clause is being passed initially, since transform is recursively called  on each  embedded clause.  Following  the transformation, the well-formedness o f the  S-structure  is validated against the D o u b l y - f i l l e d C O M P  Conditions,  and the E C P . Failure  to pass  Filter, the Case Filter, the Binding  any o f the conditions  results  i n automatic  backtracking into transform to try another transformational option. The  transform  function, shown  below, performs  the transformational  cycle  on each  clause. The first statement, transform_lower, recursively descends the list structure looking for an embedded C O M P  2  phrase. If it finds one it calls transform on that clause, which itself calls  transform_lower as its first step. In this way the structure is completely transformed beginning with the most deeply embedded clause and ending with the matrix clause. (25)  t r a n s f o r m s , Matrix, Mode, COMP1, COMP11) :transformlower(L,matrix(-),Mode, COMP1, COMP2), set_tns(Matrix, COMP2, COMP3), move_alpha(L, COMP3, COMP4), i t _ i n s e r t i o n ( L , COMP4, COMP5), n u l l _ s u b j e c t ( L , COMP5, COMP6), do_support(L, Matrix, Mode, COMP6, COMP7), move_affix(L, COMP7, COMP8), comp_insertion(L, Matrix, COMP8, COMP9), modal_insertion(L, COMP9, COMP10), inversion(L, Matrix, Mode, COMP10, COMP11). The  question.  'Mode'  variable unifies with  the mode  o f the clause,  as either  declarative or  It is returned by transform_lower since the mode is attached as an adjunct to the  lowest C O M P  2  phrase.  The mode influences D o Support and Inversion, i n that a question  mode will trigger these transformations. Each o f the remaining functions o f transform are described below.  79  6.6.1 S e t - T N S Each clause within the D-structure retains the tense specification o f the original source sentence.  Assuming that all tenses other that the matrix clause may be either  [-TNS]  [ + T N S ] or  (ignoring marked lexical exceptions), the purpose o f the sct_tns function is to alternate  each tense specification. During the transformational phase the original tense of each clause is maintained. Then when backtracking occurs, the tense will alternate. If the tense specification is [ + TNS]  (i.e. one o f [TNS(past)],  [TNS(pres)],  or [TNS(fut)]),  it changes  to [ - T N S ] , i.e.  infinitive. I f the original tense is infinitive, then, for the sake of making a reasonable blindly, [TNS(pres)]  is selected, along with [PER(3)]  and [ - P L ]  for agreement  choice  features.  The matrix clause remains [ + TNS] and does not alternate.  6.6.2 Move-Alpha W h i l e technically M o v e - a moves "any category anywhere", its operation is limited here to  movement  to C O M P  or movement  to subject,  Additionally, a is restricted to either N P or P P with  the latter the feature  restricted [ + WH]  to 8  subjects.  i n the case o f  movement to C O M P , and only N P i n the case o f movement to subject Five move_alpha statements  are included to handle the various possibilities. They are  summarized below: (26)  a.  N o movement  b.  N P movement to subject - subject must be empty and 8 N P movement to C O M P - N P must have the feature [ + W H ] P P movement to C O M P - P P must have the feature [ + W H ] N P movement to subject then to C O M P  c. d. e.  -  same conditions as (b) and (c)  A general-purpose move routine is called by move_alpha to do the actual move. T h e layout o f move is as follows:  (27)  move(L, Alpha, Level, X, F, BINFL, INFL).  move is provided with the category ' A l p h a ' ( = N P or PP) and the features ' F to be assigned  80  to  the  trace  (i.e.  [±ANAPHOR,±PRONOUN]),  depending  recursively searches t o p - d o w n through each phrase  on  within the  its  destination.  base I N F L  2  The  structure  routine 'BINFL'  until it finds a phrase ' X ' of category ' A l p h a ' . It extracts ' X ' from ' B I N F L ' , replacing it with an E C to which are given the features ' F ' . The modified structure is returned i n ' I N F L ' . O n backtracking, move will  eventually  find  and pass back  all c-commanded  phrases  of  category  'Alpha'. A n index is also generated 'X'  and the  EC.  The  variable  as a Prolog logical variable and added to the features of  is never  instantiated  but retains  its Prolog-generated  unique  value. Only the trace and the antecedent will share the same value. T o implement subjacency, nodes encountered.  The core grammars each have a definition of the bounding categories for  that language, as given i n (28) (28)  the move function keeps track of the number of bounding  below:  bounding_cat(english, bounding_cat(english,  infl). n).  bounding_cat(spani sh, bounding_cat(spani sh,  comp). n).  This explains why the language  ' L ' is passed as a parameter to move. The 'Level' parameter,  initially set to zero by move_alpha, is incremented by one for each bounding category  crossed.  The function fails when 'Level' reaches two. The  examples  given  in  Section  6.9  illustrate  the  processing  of  the  move_alpha  transformation.  6.6.3 It-Insertion As  described  in  Section  including features [ P E R ( 3 ) , - P L ] . no action is taken.  4.5,  an  empty  6  subject  is  obligatorily replaced  If the subject position is already  filled  with  it,  and/or is 8- marked  81  6.6.4  Null-Subject  The nulLsubject transformation for Spanish optionally deletes a lexical subject i f it has the feature [ + P R O N O U N ] . English has no null subject option. However in the cases where a Spanish sentence is input with a null subject that does not become lexicalized, the generation of  the sentence  i n English  environment of [ - T N S ] ) .  must  lexicalize  it (assuming  it is not P R O , i.e. not i n the  T h i r d person English pronouns are selected one at a time as valid  options, re-instantiating during backtracking.  6.6.5  Do-Support  Following the description i n Section 4.4.3, the matrix clause  o f a question i n English  will have do inserted into modal position as long as the subject is lexical, and no other modal or auxiliary is specified. That is, the matrix clause must not be i n future tense, have perfect or progressive aspect, or be i n the passive voice.  6.6.6 M o v e - A f f i x The function o f move_affix is to implement a f f i x - h o p p i n g , at the same time generating auxiliaries as indicated by the presence o f any aspectual  features. The function is defined at  the top level as follows: (29)  move_affix(L,  [[comp,FC],WH,[e,COMP,  [[infl,Fl],NP,[e,BINFL,BVP]]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,INFL,VP]]]|Post]) :a f f i x _ i n f l ( L , FI, BINFL, FV, INFL), a f f i x _ v p ( L , FV, BVP, VP), a f f i x _ i n f l ( _ , F , e , F,e). a f f i x _ i n f l ( L , F, SourceW, [ t n s ( - ) | F ] , TargetW) :d i c t ( L , SourceW, i n f l , Lex), not member(root(_), Lex), gen_verb(L, i n f l , F, SourceW, Lex, TargetW). affix_vp(L, FI,  [[v,FV],_,[_,BV|Args]|Post], [[v,FV],PERF,[PROG,v|Args]|Post]) :a f f i x _ t o _ p e r f ( L , F I , PERF), affix_to_prog(L, F I , PROG), a f f i x to verb(L, FI, BV, V ) .  82 The first action is to affix the tense to a modal. The lexical entry of the uninflected modal form is retrieved from the dictionary and then appropriately inflected (in the gen_verb routine, not shown) according to the tense and agreement features in INFL. English modals show minimal inflection, but Spanish verbs acting as modals (poder for can, deber for should, etc.) show normal verbal inflections. If a modal ends up taking the tense, then the feature [-TNS]  is passed to the  affix_vp routine to supress tense inflection of the following verbal elements. The  affix_vp routine generates auxiliary verbs and selects the appropriately inflected  main verb. If the INFL features specify [ + PERF], then a perfective auxiliary is created and inflected depending on the prevailing tense feature. Similarly with the progressive auxiliary if [ + PROG] is specified. Finally the main verb root form is taken from the dictionary and inflected. If the verb specifies irregular forms, then these are inspected first to see if a match can be found. If not then if the verb specifies stem forms, such as the preterite stem tuvfor the Spanish verb tener 'to have', these will be scanned for a match. Otherwise the verb will be automatically inflected by running through the suffix table looking for a matching entry. For English verbs, if the feature specifications include [TNS(pres)] and either [ + PL], [PER(2)]> or [PER(1)], then the infinitive form is selected, if an irregular form has not already been found.  6.6.7 COMP-Insertion As described in Section 4.6, the comp_insertion routine for English optionally inserts the that- complementizer into non-infinitival embedded clauses. For Spanish, the insertion of que is obligatory; the "cut" prevents backtracking. The comp_insertion routine is defined as follows:  (30)  comp_insertion(english, matrix(-), [[comp,FC],WH,[e,e,INFL]|Post], [[comp,FC],WH,[e,that,INFL]|Post]) :features(INFL, F I ) , not member(tns(-), F I ) .  83  comp_insertion(spani sh, matrix(-), [[comp,FC],WH,[e,e,INFL]|Post], [[comp,FC],WH,[e,que,INFL]|Post]) features(INFL, F I ) , not member(tns(-), F I ) , i ,  comp_insertion(_,_,COMP,  COMP).  6.6.8 Modal-Insertion In English, the infinitive marker to is inserted into modal position i f the I N F L features contain [ - T N S ] .  If future tense is indicated, then will is inserted.  N o modal insertion occurs i n Spanish.  6.6.9 Inversion Inversion  i n English  involves  the transformations  o f Have/Be  Raising  (if  relevant)  followed by S A I . The code for inversion is the following:  (31)  inversion(english, Matrix, Mode, COMP1, COMP3) :havebe_raising(COMPl, COMP2), sai(Matrix, Mode, COMP2, COMP3).  Have/Be  Raising occurs  only i f an auxiliary is available  for raising, and S A I occurs  at the  matrix level for Mode=ques. For  Spanish,  inversion  involves  the Verb  Fronting  transformation,  obligatory  for  wh- phrases i n any C O M P node, and also enforced at the matrix level for Mode=ques. The code for Spanish inversion is the following:  (32)  inversion(spanish,_,_, BaseCOMP, SurfaceCOMP) :member([comp,FC], Ba s eCOMP), member(wh(+), FC), v_preposing(BaseCOMP,  SurfaceCOMP).  inversion(Spanish, matrix(+), ques, BaseCOMP, SurfaceCOMP) :i  vj?reposing(BaseCOMP,  SurfaceCOMP).  inver s ion(spani sh,_,_,COMP, COMP).  84  6.7 PF-Generation As shown by the diagram i n Section  2.1, S-structure  maps  directly to P F and L F .  Here, we consider the mapping to P F , which is for the most part merely a stringing out o f the  terminal nodes  of the S-structure  tree into a linear list form.  However, i n a speech  synthesis system this component would take on major proportions. The PF-generation process is defined by the following Prolog statement: (33)  pf_generate(L,  Sstructure, Surface) :-  readleaves(Sstructure, L i s t l ) , delete_e(Listl, List2), collocated., List3, List2), contract(L, Surface, L i s t 3 ) . The head o f the clause states that for language L , 'Sstructure' converts to 'Surface' form as a result o f passing 'Sstructure' through the four clauses. The first readleaves, simply traverses the tree i n a depth-first l e f t - t o - r i g h t fashion, putting each terminal symbol into a list ' L i s t l ' . The second clause, delete_e, removes a l l occurrences o f the empty marker " e " from the list This is included as a separate clause, since the adjunct term created during Verb Fronting may contain "e"s;  the contents o f the adjunct are not analyzed within readleaves. The collocate clause is  identical to that used for forming collocations during morphological analysis (cf. 6.2), but with the  parameters  reversed.  T h e same  applies  to the fourth  clause,  contract, which  forms  contractions. The result is a list o f tokens i n surface form, suitable for display.  6.8 Sentence Output The  final stage of processing  is displaying the list o f tokens  Each token i n the list is printed, separated by a blank character.  on the output device.  T h e first character of the list  is capitalized, and final punctuation is printed depending on the value o f the last token i n the list: 'decl' results i n a period being displayed; 'ques' converts to the question mark.  85  6.9 E x a m p l e s  Two phase  examples  from  D-structure  well-formedness correct  are presented to  conditions  one  restrict  i n this section. possible  The first illustrates the transformational  S-structure.  the set o f generated  The  other  S-structures  illustrates to only  how the  grammatically  ones.  6.9.1 Transformational Phase In this example, a D-structure passes through the various transformations on its way to S-structure. Move-a  F o r each applicable transformation, the resulting phrase structure is indicated. The  transformations  shown are only one o f its many optional applications, including no  movement. The C O M P - I n s e r t i o n step shows that- insertion, an optional transformation.  Example:  What did John say that Mary saw? 1. D-structure  e [  c  John [ say  e L  Mary [ see [ what ]]]]]]]  2. S ^Si  e  ^Si  J o h n  ^ ^  '•Sj  w h a t  ^S  2  M a r y  3. S e [Q John [ say [~  what L  Cycle -  2  2  f  t  s e e  r  Cycle -  John [ say [*  t L  Mary [ saw [ t ]]]]]]]  what [  §  John [  I N F L  Move-a  M a r y [ saw [ t ]]]]]]]  5. Si Cycle [g  ]]]]]]]  M o v e Affix  4. Si Cycle what L  Move-a  do ] [ say [g  t [  §  D o Support M a r y [ saw [ t ]]]]]]]  86  6. Si Cycle [g  what [  John [  s  I N F L  did ] [ say [g  * [  Move Affix M a r y [ saw [ t ]]]]]]]  g  7. Si Cycle -  [g  what [  S i  t  d i d I N F L  J ^s,  J o h n  ^  ^S  s a y  2  h  1  Inversion M  a  r  y  2  t  t  s a w  f  6.9.2 Well-formedness Phase In  this  example,  a  D - structure  is  transformations resulting i n an S-structure.  given  which  then  undergoes  the  Backtracking occurs, deriving alternate  series  of  S-structures  depending on the transformational options taken. F o r each S-structure generated, its status with respect  to the  disqualifies  well-formedness conditions is 'given. In some  the  structure,  Conceptually the  although  in  practice  the  first  cases more than one condition failure  will  cause  conditions apply in parallel, illustrating the modular nature  backtracking.  of the  theory;  failure in any one component is sufficient to cause termination o f the remaining components. Subjacency violations are included among the list of S-structures for illustrative purposes only; they  are  actually  filtered  out  within  the  application of  Move-a,  not  as  a  condition on  S-structure. The sentence i n (34) below represents one of the many possible valid S-structures the D - structure i n (35), Also, it will have  the  including those  that represent  be observed that a wh- phrase i n subject  same  P F representation  as) a  echo questions and yes/no position will  w/z-phrase i n C O M P  for  questions.  appear identical to (i.e.  binding a variable i n  subject  position, as in items 10 and 18 below. The S-structures are listed in the order in which they are generated.  Only the clause  boundaries are shown. Traces are indicated by t, and e represents the empty complementizer. (34)  W h o seems to have left?  (35)  [g  e [  s  e [ + TNS]  seem [g  e [  §  who [ ± T N S , + P E R F ] leave ]]]]  87  Select [ - T N S ] i n embedded clause:  1.  [ e [ does it seem [ e [ who to have left ]]]] Fails: Case Filter  2.  [ e [ does who^ seem [ e [ t to have left ]]]]  3.  [ whOj- [ t- seems [ e [ t to have left ]]]]  4.  [ whOj- [ does it seem [ e [ t to have left ]]]] Fails: Subjacency  5.  [ e [ does it seem [ who^- [ *• to have left ]]]] Fails: Case Filter  6.  [ e [ does who^ seem [ [ to have left ]]]] Fails: Case Filter, Binding Condition C  7.  [ who - [ t seems [ t [ t to have left ]]]] Fails: Case Filter, Binding Condition C  8.  [ whoj [ does it seem [ t [ t to have left ]]]] Fails: Case Filter  i  t  i  i  z  [  i  i  i  i  Select [ + TNS] i n embedded clause: 9.  [ e [ does it seem [ that [ who^- has left ]]]]  10.  [ e [ does it seem [ e [ who^- has left ]]]]  11.  [ e [ does who- seem [ that [ has left ]]]] Fails: Case Filter, Binding Condition A , E C P  12.  [ e [ does who - seem [ e [ t has left ]]]] Fails: Case Filter, Binding Condition A  13.  [ who- [ tj seems [ that [ t, has left ]]]] Fails: Case Filter, Binding Condition A , E C P  14.  [ whOj- [ t seems [ e [ t has left ]]]] Fails: Case Filter, Binding Condition A  15.  f whOj- [ does it seem [ that [ t has left ]]]] Fails: Subjacency  16.  [ whOj- [ does it seem [ e [ t has left ]]]] Fails: Subjacency  17.  [ e [ does it seem [ who- that [ L has left ]]]] Fails: D o u b l y - f i l l e d C O M P Filter, E C P  ;  i  i  i  i  i  18.  [ e [ does it seem [ who^- e [ t has left ]]]]  19.  [ e [ does who- seem [ t= that [ has left ]]]] Fails: Case Filter, Binding Condition C , E C P  20.  [ e [ does who^ seem [ t e [ ^ has left ]]]] Fails: Case Filter, Binding Condition C  21.  [ who- [ t seems [ i - that [ f. has left ]]]] Fails: Case Filter, Binding Condition C , E C P  22.  [ whOj- [ f. seems [ t e [ l- has left ]]]] Fails: Case Filter, Binding Condition C  23.  [ who- [ does it seem [ t- that [ t- has left ]]]] Fails: T i C P  24.  [ whOj [ does it seem [ t e [ t has left ]]]]  i  i  t  i  l  i  i  Chapter 7 EVALUATION AND DISCUSSION  The foregoing chapters have been descriptive of the model in terms of its capabilities. This chapter reviews the capabilities in light of its limitations. The concerns center around the representations that have been chosen and the procedures used to manipulate and transform the representations. Little attention will be paid to analyzing the theoretical constructs on which the model is based.  7.1 Representations As pointed out in Section 2.1, the description of a grammatical system relies on the lexicon and the rules and principles involved in combining lexical items. The role o f specific phrase structure rules is minimized, generalizing to a single phrase structure rule system based on X - b a r theory, with lexical entries directly determining the course of a derivation. This is i n accord with attempts to reduce i f not eliminate phrase structure rules (Chomsky 1981;  Stowell  1981), i n contrast to alternative approaches to extend the phrase structure component, as i n Generalized Phrase Structure Grammar (Gazdar and Pullum 1982). The power of the system, then, is a function primarily of the complexity of the lexicon and the principles that determine well-formed constructions in accordance with the X - b a r system of phrase structure.  7.1.1 Lexicon The dictionary component of the lexicon consists of entries keyed by lexical item and consisting of feature descriptions. The definition of a lexical entry, given i n 3.1.1(1), indicates a lexical  category,  [±N,±V]  which  but  this is  could just  merely as  well  an be  abbreviation  for some  included among  the  combination of entry's  other  the  features  features.  One  advantage to representing categories as features is that subcategorization information would not  89  90  be restricted to the set features.  of categories but rather could specify from one to any number  of  A couple of examples will illustrate this. Chomsky's (1981) conception of the clause is defined as in (1) ( = 2.2.1(16)):  (1)  S —>  NP INFL VP  where V P is actually a general predicate phrase, i.e. any [ + V] constituent, thus allowing for either  VP  or  A P , as  in  She  is  upset.  (The  copula  transformationally, i n order to provide an attachment This  overcomes  general  the  necessity  representation  for  of  the  the  ©-Extraction  clause.  18  The  is  added  as  an  adjunct,  site for tense during Affix  routine  INFL  (cf.  category  perhaps  Movement)  6.4.4) and provides a could  then  be  more  defined  as  subcategorizing for [ + V] rather than V P . In the other direction, subcategorization by feature specification can be used to restrict the allowable constituents.  For example, the verb put requires its P P to be of type [ + L O C ]  (i.e.  the  locative),  [ - N , - V , + LOC]  so  that  subcategorization  frame  for  put  might  specify  [+ N-V],  for the N P and P P , respectively. Similar techniques could be used i n selecting  complementizers,  embedded  tense  of  clausal  arguments,  and  selectional  restrictions  on  subcategorized arguments in general. Nevertheless, the present system makes use of category names to simplify the retrieval of lexical items. N o internal search is required to match features, so access time is reduced. It also facilitates the description and access of specifiers and adjuncts by associating them with category names, not features.  Even more generality can proposed by Williams (1984): 18  (i)  S —>  where X (ii)  NP INFL  be  X  obtained  by  adopting the  rule  in (i)  for  the  clause  2  may be any of the major lexical categories,  a.  M a r y is a woman.  (X =NP)  b. c. d.  M a r y is hungry. M a r y is at home. M a r y is eating.  (X = AP) (X =PP) (X =VP)  2  2  2  2  as i n the following  examples:  as  91  Furthermore, it is not clear as to how the minor categories should be represented in terms of features.  Does an article include the features [ + N - V J  to indicate affinity with pure  pronominals? Evidence suggests that it might, since they do not modify [ + VJ categories and they show morphological Case in some languages (e.g. German) by virtue of having the [ + N] feature. But they are prohibited from occupying the head of an N P phrase, so some additional features  are  required  to  distinguish  the  two.  Without creating  the  necessary  features  to  characterize this distinction, they are simply given the name A R T . The achieve  number of features  a minimum  level  used in this system is in fact limited  of descriptive accuracy, principally  those  to that required to  of person, number, and  gender. The inadequacy of this set is abundandy demonstrated by the range of ungrammatical and anomalous sentences accepted and generated. It seems clear that, for example, some feature regarding animacy ( [ ± A N I M A T E ] ) is required to distinguish between those entities that possess volition and can initiate action, and therefore serve as (thematic) agents of an action, and those that cannot F o r example, consider the sentences i n (2): (2)  a.  John opened the door.  b.  The key opened the door.  Structurally identical, they differ thematically; John acts as agent in (2a), whereas the key in (2b) has the role of instrument, although both are represented grammatically as the subject The problem becomes apparent in the grammar o f Spanish. Spanish makes use of the personal a to distinguish direct objects with human(like) or animate qualities, as in (3): (3)  a. b. c. d.  Juan vio el libro. ('John saw the book.') Juan vio a Maria. ('John saw Mary.') Juan vio el perro. ('John saw the dog.') Juan vio al perro. ('John saw the dog.')  The quasi-preposition a is obligatory in (3b) and obligatorily absent i n (3a); (3c) expresses an objective  event  while  (3d)  imputes a sentiment of,  say, affection or  familiarity.  Since  the  current system lacks a feature of animacy and therefore cannot accommodate the use of the  92 personal  a, this leads to incorrect  analyses,  such as the sentence (4a) which i n this model  translates to (4b): (4)  a.  Qui6n vio la pelicula? ("Who saw the film?') W h o did the film see?  b.  The analysis of (4a) involves verb fronting, such that the subject is taken to be la  pelicula,  inverted with the verb vio. Quien then assumes the role of direct object Other features commonly associated count/mass  with lexical items but not implemented include the  distinction for nouns, locative/directional  for prepositions,  predicate/non-predicative  adjectives, etc. A t this time there appears to be no generally accepted theory as to the  nature  and number of semantic classes required, nor whether strictly binary features are sufficient as opposed to n - a r y features or gradations along a continuum.  7.1.2 Phrase Structure The  representation  of  a  phrase  convenient and theoretically attractive.  according  to  the  metarules  of  X-bar  theory  is  It provides the framework i n which to express linguistic  configurations as generalized tree structures  (or as a linearization of structures i n free phrase  order languages such as Latin and Japanese). The choice of trees follows from a long tradition in linguistics, and computer science provides a large store of knowledge i n manipulating trees as lists, efficiently traversing them through recursive programming. The characteristics representation,  insofar  example, is attached  as  of a phrase, its features, phrase  descriptions  to a noun phrase  are  are naturally associated independent  of  each  with its structural  other.  Gender,  for  independent of the predicating verb phrase, although  semantic notions such as selectional restrictions may impose further constraints on what may be predicated, i.e. which features are selected and which prohibited. Some  cross-phrasal  dependencies  may  also  be  expressed  structurally,  such  as  the  agreement of a subject and verb. In this case the abstract but motivated creation of an I N F L phrase containing both subject and verb provides the unifying mechanism.  93  In other cases, the association is not as direct represented  orthographically  pragmatically (intention).  (punctuation),  lexically  The mode of a sentence is variously  (particles),  phonetically  (intonation),  In the present model, the mode, attached as a structural adjunct  or to  the lowest C O M P node, is passed up as an external flag to affect the initial structure of the sentence in the form of inversion. (That is, a question mark forces inversion.) This mechanism is expedient for present purposes but almost certainly inadequate as a general representation  of  mode. (Note that this is very similar to the abstract Q 'morpheme as an adjunct to S (Baker 1978).) Alternatively, features of mode may be clausally related and reside in I N F L , partaking in some form of affix movement (and reverse affix movement) along with features  of tense,  voice, aspect, and mood. Presence or absence of the feature will then control inversion. Some  structural  possibilities  not  implemented  adverbial phrases, and adjectival modifiers. The present  include  relative  clauses,  system could be  coordination,  extended without a  great deal of effort to include some aspect of these, although they are not trivial  extensions.  Furthermore, translation imposes increased effort in having to work out idiosyncracies in each language. However, the general approach is fairly clear.  Relative clauses, as a post-adjunct  to  an N P , could be defined as an S i n which some form of wh- movement has applied to leave a gap i n the clause.  Some adjustment to the definition of the principles would be  necessary,  particularly affecting the usage of governing categories, which are not explicitiy defined in this system.  A n approach to coordination is presented  i n (Fong and Berwick 1985), based on a  technique of linearizing the conjoined phrases and finding equivalences within the linearization. Adverbial  phrases  post-adjuncts  of  to I N F L .  or adjectival phrases.  manner  (e.g.  lentamente  'slowly')  could  be  defined  as  pre-  or  Adverbials of degree (e.g. muy 'very') may be specifiers of adverbials Other adverbials of time and place (e.g. ahora 'now', aqui 'here') can  attach as post-adjuncts to the verb. Adjectival present  modifiers may  special problems.  appear  Predicate  to  adjectives  be  relatively simple to  such as small,  red,  implement,  but  in  fact  sincere may be positioned  prenominally i n English, postnominally i n Spanish, or i n copular phrases i n either language:  94  (5)  a.  a small apple; the apple is small  b.  the red houses; the houses are red  c.  a sincere man; the man is sincere  una manzana pequena; la manzana es pequena las casas rojas; las casas son rajas un hombre sincero; el hombre es sincero  A single lexical entry would appear to suffice for each of these adjectives, and its position may be defined in terms of X-bar as an NP pre-adjunct, post-adjunct, or as a complement of the copula verb, agreeing in number and gender with the noun. However, not all predicate adjectives may be nominal modifiers, as illustrated by the following examples: The boy is afraid. (6) a. b. *He is an afraid boy. c. *He is a boy afraid. d. He is a boy afraid of the dark. (V)  a. b. c.  The woman is fond of her nephew. *She is a fond of her nephew woman. She is a woman fond of her nephew.  The simple adjective  afraid  may not be positioned prenominally as in (6b), nor postnominally  as in (6c) unless it is part of an adjectival phrase as in (6d). Similarly, the phrase  nephew  fond of her  may not appear prenominally in (7b) but because of its transitivity, like (6d), must  appear postnominally, as in (7c). Moreover, descriptive adjectives in Spanish may often appear on either side of the noun with differing semantic connotations: (8)  a. b.  un hombre pobre ('a poor man', i.e. without money) un pobre hombre ('a poor [unfortunate, wretched] man')  But adjectives modified by adverbials must always follow the noun: (9)  a. b.  un hombre muy pobre ('a very poor man') *un muy pobre hombre  Some (ad hoc) extension to feature types is required to resolve these lexical differences. On account of considerations such as these, the implementation of adjective phrases has not been attempted, other than those that introduce clausal arguments (e.g. distribution is therefore invariant  likely, probable)  and  95  Additional extensions operations,  to phrase structure representation  e.g. Extraposition with It Insertion  include the variety of M o v e - a  (e.g. It amazed me that Fred won a prize),  Topicalization (e.g. This picture, I like), Heavy N P Shift (e.g. We have with us this evening a very special guest), Stylistic Inversion i n Spanish  (e.g. Canta bien la chica "The girl  sings  well'), and Passivization. Some machinery has been included i n the model to handle the latter, but the major problem here lies more in translation. True Spanish passives are rendered with the auxiliary ser 'be' and the past participle which agrees i n number  and gender  with the  subject: (10)  The  a.  E l juguete fue roto ayer.  b.  ('The toy was broken yesterday.') Las reuniones fueron organizadas por los obreros. ("The meetings were organized by the workers.')  ser auxiliary has not been  added,  nor have  participles  that,  like  adjectives,  require  agreement More commonly, passive voice is expressed with the reflexive pronoun se, as i n : (11)  a. b. c.  Se prohibe fumar. ('Smoking is prohibited.') Esas casas se vieron por los agentes. ('Those houses were seen by the agents.') Se venden tamales aqui. ('Tamales are sold here.')  Reflexives, including all other object pronoun clitics, have not been implemented here.  Relevant  theoretical discussion of cliticization within the G B framework may be found i n Jaeggli (1982) and Borer (1984).  7.1.3 Configurationality The knowledge  primary that  design  achieves  goal  of the system  cross-linguistic  universal grammar as an embodiment  is to construct  generality.  of general  It  emphasizes  a  model  of grammatical  the representation  of a  principles, and individual core grammars as  parametrized variations to the principles. F o r a not insignificant subset of the grammars o f English and Spanish, this goal has been achieved.  96  An  obvious question that  grammars of other  languages,  arises  is to what extent this system will  especially non-Indo-European  languages.  accommodate  T o the  the  extent that  a  language is configurational in terms of embedded phrase structure (Chomsky 1981), e.g. English, the model would ideally require only minor, if any revision, apart from establishing the lexicon and  the parameters.  Unfortunately, the  analysis component  of the system, i.e. the parser,  is  designed for strictly top-down l e f t - t o - r i g h t processing, imposed by the Prolog execution of the grammar rules. This presupposes head-initial grammars, such as English and Spanish, and other so-called  SVO  languages.  This  strategy  falls  apart  with  German,  for  example,  an  SOV  language.  Since  the object is an argument of the verb and the verb is in final position, an  indeterminate amount of lexical material must be passed before the verb is recognized and its complement  determined. This suggests that ultimately a bottom-up approach may prove to be  more general and preferable, using some technique  such as "chart"  parsing (Kaplan 1973), as  in the Q-system (Colmerauer 1970), Prolog's predecessor. As to so-called non-configurational languages (e.g. Japanese), a bottom-up approach to parsing may again be preferable. satisfied,  with  order  of  The verb will indicate the argument structure that must be  arguments  relatively  freely  distributed  mechanism, possibly incorporated as a reverse-transformation, structure  into  represented  as  a  configurational  in  configurational  in  pre-verbal  position.  A  could map a non-configurational  D-structure  in  which  thematic  languages.  The  same  alterations  relations to  the  required for German may accordingly hold for Japanese, and by extension  are  structurally  parsing  strategy  English, Spanish,  etc., at least as far as the satisfaction of the ©-Criterion and Extended Projection Principle. Since the present model is configurationally based, the statement of the E C P , binding conditions,  and  Case  Filter  language so represented  are  all  expressed  in  terms  of  structural  configurations,  and  a  should require minimal change in the model. A t most, new structural  configurations would be necessary to express the new environments) where the conditions may hold.  Once  again,  if  non-configurational  languages  can  be  equivalently  represented  configurationally, then no substantial changes or additions would be required in the statement  97 of the principles, apart from those motivated by ongoing empirical investigations.  7.1.4 Well-Formedness Conditions The  well-formedness  S-structures.  conditions  as  implemented  here  act  as  output  Filters  on  A n obvious improvement to the time efFiciency is to execute the conditions in  parallel, given parallel machine  architecture.  tasks,  situation  rather  than  the  current  If any  where  a  one  condition fails it halts  structure  may  sequentially  conditions, possibly incurring substantial computation, before being rejected.  all ongoing pass  several  This also motivates  the use of Filters to reduce the rule component, since Filters may operate i n parallel, but rules are necessarily serial operations. Ideally,  though,  the  model  would  be  constructed  in  such  a  way  that  only  valid  S-structures are generated in the First place. This suggests a closer integration of the principles within the rules of grammar, as subjacency Move-a, which  includes the  is (necessarily)  following preconditions  implemented. A s an example,  (with subjacency  being  take  a condition on  execution): M o v e - a Preconditions  (12)  (i) (ii) (iii)  a agrees with its destination _ the destination is an empty 6 position a and its trace satisfy the binding conditions  (iv)  the trace would be properly governed  Condition (i) requires a correspondence and  further  implemented  that as  if a  the filter  destination after  between the lexical category of a is  Move-a  COMP  then  has  applied  a  includes  (which  and its destination,  [ + WH].  leads  to  The  some  latter  is  unnecessary  computation, as phrases are brought one at a time to C O M P only to be rejected by the Filter). Condition (ii) is trivial. Conditions (iii,iv) implement the principles of binding and government as output Filters. One advantage principles to  a  single component  to the rather  separation than  is that it localizes the  scattering  them  among  deFinition of  different  rules,  the  which  would result i n , for example, an E C P condition on NP-traces in one rule, an E C P condition on wh- traces i n another, and a disjoint E C P condition on P R O . The disadvantage is i n the  98  additional computation that takes place before an invalid movement is rejected, as i n condition (i) for wh- movement In  a sense, this integration has been  recurring notion in G B theory.  The phrase  achieved structure  in the  expression  design along with  of c-command,  a  t o p - d o w n recursion  effectively implements the concept of c-command, obviating the necessity of a special predicate such as  "c-command(X,Y)".  and no other,  A n y material contained i n the specifier, complement, or adjunct,  is inherently c-commanded  by the  head.  The  definitions of government and  binding, as implemented, require no reference to c-command as a precondition; it is inherent in the structure itself. But t o p - d o w n recursion is not always satisfactory, at least not for the binding relation. In a recursive descent of phrase structure, government of an argument, including E C s , may be locally determined by isolating the governor and its c-commanded phrases. Thus the operations that rely on government i.e. assignment of Case and ©-roles and validation of the E C P , can be  performed  within  the  recursive  descent  operation. That is, rather than determining i f a  However,  binding is  expressed  as  a  passive  binds /3, the conditions depend on whether 0  is bound/not bound by a , suggesting an upward search rather than a downward search. example, a name (or variable) must not be bound by a c-commanded phrase ( =  For  Condition  C ) . This is implemented in one of two ways. Either a search is made upward from a name, halting when a co-indexed antecedent is found or the top node is reached, or a search made  from every N P downward to see  i f by chance it binds a name.  The  latter  is  is the  approach taken in the present model, which suffers from the inefficiency of having to search the entire length of every downward path from every N P just in case it binds a name  (or  variable, as it were, in this model). A n interference  i n integrating principles with rules arises from exceptional  phenomena such as S-deletion.  government  S-deletion affects the bounding category for the application of  the binding conditions. But since S is a cyclic node i n terms of the transformational cycle, a procedure within the cycle has no access to structural information above  S  to determine  if  99  S-deletion  is  in  effect  Therefore  the  satisfaction  of  the  binding conditions  is  sometimes  relevant at the current cycle and other times at the next higher cycle. The same applies in all cases  where  government  of  the  subject  is  crucial.  Consequently  S-deletion  is  a  major  contributor to the decision to implement the principles as well-formedness conditions on output  7.2 Execution  7.2.1  Relation to Logic Grammars  The use of Prolog in natural language processing stems from the introduction of logic grammars Prolog  i n 1975  language,  (Colmerauer grammars  1975).  can  be  Since  the  logic grammar  written i n concise,  formalism is a part of  familiar notation  and  be  the  interpreted  directly by Prolog. Several notable logic grammar formalisms include Metamorphosis Grammars (Colmerauer  1975),  Definite  Clause  Grammars  (Pereira  and  Warren  1980),  Extraposition  Grammars (Pereira 1981), Modifier Structure Grammars (Dahl and M c C o r d 1983), and Definite Clause Translation Grammars (Abramson 1984). Prolog is designed primarily for t o p - d o w n backtracking analysis of sentences, although a bottom-up  Prolog parser  has  been  designed  (Stabler  1983)  to  implement  the  deterministic  parser of Marcus (1980). In contrast  to the  grammar rule component  grammars mentioned  above, this implementation has  A l l phrase structures are parsed using the X - b a r  a very small  metarule  system,  guided by the lexicon directly with minimal backtracking. Arguments are not used i n the rules except to name the language and category of the phrase undergoing the parse, and to return its parse  tree.  Validation only occurs during the reverse-transformation  say that  validation should not occur  during parsing, but only that  stage.  This is not to  this system  maintains  a  separation of function for the sake of modular design. As  the  system  is  designed  to  accept  and  process  only  grammatical  sentences,  the  validations that are performed occur primarily as a side effect of establishing the sentence's  100  D-structure.  F o r example, in restoring the tense feature to I N F L , a check is made to ensure  that tense is specified once and only once, preventing sentences such as: (13)  a. b.  Paul can leaves for Costa Rica tomorrow, She drink mineral water.  where (a) is overspecified for tense and (b) is underspecified. contains  consistency  checks  for  subject-verb  agreement  Similarly, the percolation routine  and  article-noun  agreements  as  side-effect of feature identification. Sentences containing errors of these sorts, such as (13), parse successfully but fail i n the reverse-transformation Apart S-structure  from  the  logic  grammar  to  the  derivation  a  following  instantiation  application. especially  of  D-structure  from  (and vice versa) is largely a functional process, for which a functional programming  function,  with  often  The output of one function (a transformation) no  non-determinism  provided by Prolog is mostly used as a pattern-matching for  will  component  formalism,  language (such as LISP) is entirely adequate. input  a  of  logical  variables,  except  of  course  involved.  The  unification  device for phrasal descriptions, for  output  variables  from  A s such, the power of Prolog may be under-utilized, but its relative in grammar  notation,  over  L I S P - l i k e languages  (as  noted  by Pereira  (1980)) makes it an attractive programming language for natural language  is  not  function  perspicuity, and Warren  research.  7.2.2 Parsing The arguments. (14)  a. b.  areas  where  parsing  shows  difficulty  is  in  relation  to  empty  and  optional  Consider the two sentences below: What did you eat? Where did you eat?  The verb eat is transitive i n (a) and intransitive in (b), but the parser is unable to  determine  which is applicable at the time the verb is being retrieved from the lexicon. The part of the parse  tree  that contains  intransitive use then (a) the  the  wh- phrase  will fail the  W/J-NP to a Case-marked,  is  not  ©-Criterion  hence 6,  accessible  at  this  point  when r e v e r s e - M o v e - a  If  it assumes  an  attempts to relocate  position. What is required is a strategy similar to  101  that taken in (b) where a position is actually created to contain the wh- element, only instead of a 6 adjunct, a 8 argument is created, provided the verb subcategorizes for a phrase of that type and that its subcategorization frame is not already satisfied. The verb be has particular difficulty with E C s , since as a main verb it may take N P , P P , or A P , as i n : (15)  a.  W h o are you t ?  b.  Where are you t ?  c.  H o w are you t ?  The  E C defaults to an N P by the parser for the sake of creating an argument position, so  that  (b,c)  cannot  be  recognized.  A further problem arises  when the  argument  is incorrectly  instantiated, as i n : (16)  What is that behind you?  The phrase behind you is parsed as a P P argument of is, so no E C is created.  The  w/z-NP  what will then fail to find a 8 position to occupy. (In passing, an oversight in design adds to be's problems as a main verb. It fails to participate in H a v e / B e Raising, resulting in the following anomalous translation: (17)  a.  D6nde estas?  b.  ('Where are you?') Where do you be?  It also causes the following sentence to be unrecognizable since the parser fails to find a main verb in canonical position: (18)  Is he likely to be late?  This is easily corrected by modifying the H a v e / B e Raising rule appropriately.) The p r o - d r o p parameter as implemented fails to adequately distinguish pro from P R O i n cases where pro represents a third person pronoun. W h e n the parser reads sentence (19a) converts it to the D-structure i n (b) with an E C i n the position labelled N P : (19)  a.  Es posible que e sale hoy.  b. c.  (Tt is possible that he/she/it is leaving today.') [ e ser posible [ N P [ ± T N S ] salir hoy ]] Es posible e salir hoy. (Tt is possible to leave today.')  it  102  Since  the null subject routine cannot  distinguish the  correct pronoun for the E C in (a),  it  leaves its features empty. When translated to English, the N P will be lexicalized to each  of  the possible pronouns. However, when given sentence (c), it will also create D-structure (b). Since the tense feature freely alternates (in the set_tns routine), [ + TNS] will cause the N P to appear as pro, as i n (a), resulting i n lexicalized pronouns being generated.  But the E C in (c)  is P R O , not pro, so that the English sentences of (a) cannot be valid translations of (c). proper  way  to  resolve  this  [ +ANAPHOR,± PRONOUN]  is  to  provide  the  ECs  with  the  The  appropriate  features, either at the time of parsing when the E C is created or  as a subfunction of percolation, when other features are determined.  7.2.3 Translation The translation component is primitive in comparison to developed machine translation systems (see Slocum (1985) for a review of such). This is largely because no semantic analysis occurs i n the translation. The system is probably best characterized as an interlingual system (Slocum  1985)  in  which  a  source  language  language-independent representation, i.e. the  sentence  T > structure.  is The  converted  into  an  language-independent  essentially character  derives from the equivalence of lexical items i n the dictionary. For example, the verb eat has an equivalent word i n Spanish, comer, in which subcategorization frames and thematic roles are identical. comer  Therefore and  the  D-structure containing eat will  (presumably)  for  any  language  with  be identical to that for the Spanish an  equivalent  concept  Hence,  the  language-independent nature of the interlingual representation. The translation of lexical items itself, then, is simply a lexical transfer process based on the correspondences established i n the (bilingual) lexicon. Repeating what was said i n Section 6.5, no attempt is made to provide for the range o f translations for each lexical item. This avoids the task of handling the "17 words for snow in Eskimo" problem, which otherwise would require some circumlocutory translations.  •  103  Lexical equivalence needn't be restricted to single lexical items. Thus, the English verb to feed is translated i n Spanish as dar de  comer ('give to eat');  maquina  The  de  escribir  ('machine  to  write').  mechanisms  typewriter is translated as  exist  to  effect  this  form  of  translation. A n area that does not lend itself well to translation in this system involves verbs in which the grammatical function of the thematic roles are reversed. A typical' example is the verb like in English, generally translated using the Spanish gustar, as i n : (20)  a.  M a r y does not like pastries.  b.  A M a r i a no le gustan los pasteles.  The direct object in English becomes the subject in Spanish. Subcategorizations are identical, but the 0 - r o l e in  English.  8-roles,  of "agent"  As 8- theory  in Spanish is assigned to the N P dominated by the V P , not S as is not  developed in this system  to the point of specifying actual  the distinction cannot be made between like and gustar, nor between verbs of similar  nature, e.g. olvidar 'forget', perder 'lose', etc. Two  possible  solutions are  (1)  to  structure, and (2)  retranslate  to  a  word  to implement 0 - r o l e  that  does have  assignment  equivalent  functional  and thematic  Solution 1  for  like/gustar  is to retranslate gustar to please ("The pastries are not pleasing to M a r y . " ) , but like  has no equivalent Besides being a poor translation i n terms of normal usage, some means are required to deal with items which simply have no strict translation. Complications immediately arise when the structural and thematic properties diverge, as in: (21)  a. b.  I am hungry, Tengo hambre. ('I have hunger.')  The predicate adjectival usage i n (a) is substituted for a transitive verb i n (b). The translation component  must  have  the  ability to  make  structural alterations  with  corresponding  0-role  changes, as required. Solution 2 is obviously preferable, since it imparts a degree into  an  existing  syntactic  structure.  The  necessity  of  of semantic information  explicit subcategorization information  104  becomes doubtful given a well-defined theory and notation of ©-roles. A major problem i n translation is ambiguity in all its various forms. N o attempt been  made  in  this  system  at  disambiguation since  it  requires  contextual  information  has not  available in the surface sentence. For example, the sentence: (22)  Time flies like an arrow.  has many possible syntactic structures depending on the specific meanings of each item and the context (sometimes pragmatically absurd) i n which they occur. As  mentioned  earlier,  some  assumptions  are  made  regarding  the  ambiguity  of  PP-attachments, exemplified by the classical sentence: (23)  a.  I saw a man in the park with the telescope.  b.  Y o vi a un hombre en el parque con telescopic  Apart from the lexical ambiguity of the verb saw (—the further ambiguity of saw as verb or noun is resolved by the Extended Projection P r i n c i p l e — ) , the correct attachment  of the two  PPs is many-wise ambiguous. The P P in the park may modify man or saw, and the P P with the telescope may modify man, saw, or park. However, disambiguation i n (23) turns out to be unnecessary. In  Sentence (a), ambiguous in English, remains ambiguous in Spanish (b). other  instances,  disambiguation becomes  essential,  as  for  (24a)  below  which  has  either (b) or (c) as its translation: (24)  a.  The man told the woman that he loved the story.  b.  E l hombre le dijo a la mujer que le gustaba el cuento.  c.  E l hombre cont6 el cuento a la mujer a quien queria.  Sentence (b) has the sense of "The story that the man loved was told to the woman (by the man)", whereas (c) has the sense "The story was told (by the man) to the woman whom he loved."  In this example, not only are the structural configurations radically different, but they  lead to quite distinct lexical translations;  tell, when subcategorizing for a clause, translates  decir, (b), but when used i n the sense of recounting, translates  to contar, (c).  Further,  to the  translation of the verb love depends on the characteristics of the direct object W h e n animate, it translates to querer, otherwise gustar. Without the benefit of context (or intonation patterns) there is no way of determining which of (b) or (c) is the correct translation of (a).  105  Another area which receives minimal treatment is the specification of .time. The system recognizes tense, aspect, and voice, clearly, especially i n Spanish, but makes no correspondence of the usage  patterns  between  English  and Spanish.  tense, Spanish has two, the imperfect and the preterit past progressive. Present progressive i n English Spanish. other. and  Other constructions will  A n adequate Y i p (1985))  Whereas  English  has one simple past  The imperfect is often translated into  is commonly expressed by simple present i n  use the perfective aspect i n one language but not in the  theory of temporal representation  is required (see, e.g., Hornstein (1981)  and an understanding of how different languages  express  equivalent time  references.  7.2.4 Generation Little  more will  be stated here  on generation than what has already been  covered  under parsing, since the two operations are ideally inverse operations of each other. In fact it is interesting to consider the possibility of using a single predicate function to achieve both, i.e.: (25)  parse_gen(L,  Surface,  Deep).  where either 'Surface' is supplied, resulting i n the D - structure 'Deep', or 'Deep' is supplied giving 'Surface' or a set of 'Surface's. In general, such reversible predicates are not feasible for complex relations such as this, although certain sub-processes may be handled as such. In the transformational cycle, for example, many transformations are reversible, such as D o Support and  It Insertion. Others are nearly so, such as the Inversion transformations, where H a v e / B e  Raising occurs before S A I i n one direction, and the opposite order is performed i n the reverse direction. difficult  However, other processes to  see  how they  are specifically designed to be unidirectional, and it is  may generalize  to  bidirectionality.  F o r example,  the M o v e - a  transformation assigns indices and features, but the reverse movement ignores such assignments; it has been optimized, i n a sense, to remove them from consideration, and i n fact they are not even present at the time of the r e v e r s e - M o v e - a operation.  106 The use of reversible transformational  component,  predicates  would most certainly reduce  but possibly at  remains an area for further investigation.  the  expense of  increased  the overall size of processing  time.  the This  Chapter 8 Conclusion  This reflects  thesis  has  described  the  implementation of  current theories of transformational grammar.  a  model of  natural language  that  The fundamental motivation behind the  theory is to develop a description of natural language grammars that achieves a high degree of explanatory capacity.  A number of basic principles are formulated to this end which provide  for a concise, modular, cross-linguistic account of grammatical structure. The principles in effect represent the embodiment of a universal grammar. Specific language grammars are instantiations of  this  universal  grammar,  with  language  variations  attributed  to  parametrizations  of  the  principles. As there exists little published research on systems whose design is based on principles of G B , it is difficult to do a comparative analysis. Principal among what is available include the  work  of  Berwick  G B - o r i e n t e d systems,  and  Weinberg  that of Wehrli  developments at M I T (Barton 1984;  (1984)  regarding  (1983, 1984) D o r r 1985)  the  computational  on a G B parser  complexity  of French, and  of  current  in parsing and translation i n the context  of  G B theory. The present study represents a further contribution to a growing body of practical GB  systems. A  subset  language-specific conditions  on  of  the  grammars  of  English  rule applications along with well-formedness  are  the  represented  and  Spanish  parameters as  general  that  is  presented,  affect general  conditions,  again  including rules.  with  The  simple  parametric values determining the effect Translation is simplified by relating equivalent D-structures, allowing for some of structural differences i n the representations.  degree  The equivalence reduces the size of the lexicons,  since identical features between lexical items need be represented only once.  107  108 The lack of semantics is intentional, since the principles modeled here relate primarily to  syntax.  The  incorporating motivated.  analysis  new  of  logical  form  (LF)  rules  and  principles  of  LF  A t the same  time,  further extensions  becomes and  the  next  borrowing  major  from  area  existing  to the syntactic component will  of  research,  ones  where  expand the  range of analyzable surface constructions (PF). With  adequate  representations  o f P F and L F , and sufficient memory to record their  discourse history, it becomes possible to analyze discourse i n terms of knowledge networks and inference rules. This of course leads to a more refined sense of the term "natural language understanding", in which a higher degree of intelligence is demonstrated. This is one goal among many i n the combined study of linguistics, artificial intelligence, and cognitive science.  Bibliography  Abramson,  H . (1984)  International  Baker,  "Definite  Symposium  Clause  on Logic  Translation  Grammars,"  Programming,  C . L . (1978) Introduction to Generative-Transformational Prentice-Hall, Inc.  Barton, G . E . (1984) "Toward a Laboratory, Cambridge, M A . Berwick,  R.  and  Weinberg,  A.  Principle-Based  (1984)  The  in Proceedings  of the  1984  Atlantic City, N J , 233-240.  Syntax, Englewood Cliffs, N J :  Parser,"  Grammatical  A l Memo  Basis  of  N o . 788,  Linguistic  MIT A l  Performance,  Cambridge, M A : M I T Press. Borer, H . (1979) "Empty Subjects i n M o d e r n Hebrew and Constraints on Thematic in  Proceedings  of the  Tenth  Annual  Meeting  of the  North  Eastern  Relations,"  Linguistic  Society,  Ottawa, Ontario. (1981) " O n the Definition o f Variables," Journal of Linguistic (1984)  Parametric  Syntax:  Case  Studies  in  Semitic  and  Research 1.3:16-40. Romance  Languages,  Dordrecht: Foris Publications. Burzio, L . (1981) Intransitive Verbs and Italian Auxiliaries, P h . D . dissertation, M I T , Cambridge, MA. Chomsky, N . (1957) Syntactic Structures, The Hague: Mouton. (1972)  "Remarks  on Nominalization," i n Studies  on Semantics  in  Generative  Grammar, The Hague: Mouton. (1977a) Essays on Form and Interpretation, N e w Y o r k : N o r t h - H o l l a n d . (1977b)  "On Wh-Movement",  i n P . W . Culicover, T. Wasow, and A . Akmajian  (Eds.), Formal Syntax, New Y o r k : Academic Press. (1980) Rules and Representations, N e w Y o r k : Columbia University Press. (1981) Lectures on Government (1982)  Binding,  Some  Concepts  and  and Binding, Consequences  Dordrecht: Foris Publications. of  the  Theory  of  Government  and  Cambridge, M A : M I T Press.  (1985) "Barriers," unpublished ms., M I T , Cambridge, M A . Chomsky, N . and Lasnik, H . (1977) "Filters and control," Linguistic (1978) " A Note on Contraction," Linguistic Clocksin, W . F . and Mellish, C S . (1981) Programming  Inquiry 8:425-504.  Inquiry 9:268-274. in Prolog, Berlin: Springer-Verlag.  Colmerauer, A . (1970) "Les systemes-Q ou un formalisme pour analyser et synthetiser des phrases sur ordinateur," Internal Publication 43, Department d'Informatique, Universite de Montreal, Quebec. 109  110  (1975) "Les grammaires de metamorphose," Groupe dTntelligence Artificielle, University de Marsaille-Luminy. Appears as "Metamorphosis Grammars" i n L . Bole (Ed.) Natural  Dahl,  Language  Communication  Berlin:  Springer,  V . (1983) "Current Trends i n Logic Grammars," Technical Sciences Department, Simon Fraser University, Burnaby, B C .  Dahl,  V . and M c C o r d ,  M . (1983)  Journal of Computational  Dorr,  with Computers,  "Treating  Linguistics  Coordination  1978.  Report  i n Logic  83-2,  Computer  Grammars,"  American  9:69-91.  B. (1985) "Toward a Principle-Based Laboratory, Cambridge, M A .  Translator,"  A l Working Paper  Dresher, B . E . (1981) "Abstractness and explanation i n phonology," Lightfoot (Eds.), Explanation in Linguistics, London: Longman.  274, M I T A l  i n N . Hornstein and D .  (1984) " C a n a computer learn accent systems?", talk presented M a y 1 at the Artificial Intelligence and Formal Linguistics Discussion G r o u p , Simon Fraser University, Burnaby, B C . Emonds, J.  (1976) A Transformational  and Local Transformations,  Approach  to English  Syntax:  Root,  Structure-Preserving  N e w Y o r k : Academic Press.  Fillmore, C . (1968) "The Case for Case", i n E . Bach and R . Linguistic Theory, N e w Y o r k : Holt, Rinehart, and Winston.  Harms (Eds.),  Universals  in  Fong, S. and Berwick, R. (1985) " N e w Approaches to Parsing Conjunctions Using Prolog," i n Proceedings  870-876.  of  the  Ninth  International  Joint  Conference  on  Artificial  Gazdar, G . and Pullum, G . (1982) "Generalized Phrase Structure Grammar: Synopsis," Indiana University Linguistics Club, Bloomington, I N .  Intelligence,  A  Theoretical  Gruber, J.S. (1965) Studies i n Lexical Relations, P h . D . dissertation, M I T , Cambridge, M A . Hornstein, N . (1981) "The study of meaning i n natural language," Lightfoot (Eds.) Explanation in Linguistics, London: Longman. Huang, C . - T . J. (1982) Logical Relations dissertation, M I T , Cambridge, M A .  i n Chinese  i n N . Hornstein and D .  and the Theory  of Grammar, P h . D .  (1984) " O n the Distribution and Reference of Empty Pronouns," Linguistic 15:531-574. Jackendoff, R S .  Press.  (1972) Semantic  Interpretation  in Generative  Grammar,  Inquiry  Cambridge, M A : M I T  (1977) X Syntax: A Study of Phrase Structure, Cambridge, M A : M I T Press.  Jaeggli, O . (1982) Topics in Romance Syntax, Dordrecht: Foris Publications. Kaplan, R. (1973) " A General Syntactic Processor," Processing, N e w Y o r k : A l g o r i t h m i c Press. Lasnik,  H . and K u p i n ,  J.  (1977)  " A Restrictive  in R.  Theory  Rustin  of  (Ed.) Natural  Transformational  Language  Grammar,"  Ill Theoretical  Linguistics  4:173-196.  Lasnik, H . and Saito, M . (1984) " O n the Nature o f Proper Government," 15:235-289. Lightfoot, D . (1982) The  Language  Lottery:  Towards  Linguistic  a Biology of Grammars,  Inquiry  Cambridge, M A :  M I T Press. Lyons, J. (1968) Introduction to Theoretical Linguistics, Marcus,  M.  (1980)  M I T Press.  Pereira, F . (1981) 7:243-255.  Theory  of Syntactic  Recognition  "Extraposition Grammars,"  London: Cambridge University Press. for  American  Natural  Language,  Cambridge, M A :  Journal of Computational  Linguistics,  (1984) " C - P r o l o g User's M a n u a l , " SRI International, M e n l o Park, C A . Pereira, F . and Warren, D . (1980) "Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks," Artificial  Intelligence  13:231-278.  Pesetsky, D . (1982) "Complementizer-Trace Phenomena and the Nominative Island Condition," Linguistic  Review 1:297-343.  Peters, S. and Ritchie, R . W . (1973) " O n the Generative Power o f Transformational Grammars," Information  Sciences  6:49-83.  Reinhart, T. (1976) The Syntactic MA.  Domain of Anaphora, P h . D . dissertation, M I T , Cambridge,  Rizzi, L . (1982) Issues in Italian Syntax, Dordrecht: Foris Publications. Rouveret, A . and Vergnaud, J . - R . Inquiry 11:97-202. Safir,  K . (1982) Syntactic Cambridge, M A .  Chains  (1980)  "Specifying Reference to the Subject,"  and the  Definiteness  Effect,  Schwind, C B . (1984) "Logic Based Natural Language Processing," Language  Understanding  and Logic  Programming  Workshop,  Linguistic  P h . D . dissertation, M I T ,  Proceedings  of the  Natural  I R I S A , Rennes, France.  Slocum, J. (1985) " A Survey of Machine Translation: Its History, Current Status, and Future Prospects," Computational Linguistics, 11:1-17. Stabler, E (1983) "Deterministic and B o t t o m - U p Parsing i n P R O L O G , " AAAI, 383-386.  i n Proceedings of the  Stowell, T . A . (1981) Origins of Phrase Structure, P h . D . dissertation, M I T , Cambridge, M A . Taraldsen, T. (1978) " O n the N I C , Vacuous mimeographed ms., M I T ; distributed by Bloomington, I N . Torrego,  E.  (1984)  " O n Inversion  i n Spanish  Application and the That- Trace Filter," The Indiana University Linguistics Club,  and Some  of its Effects",  Linguistic  Inquiry  112  15:103-129. Wehrli, E . (1983) " A Modular Parser for French," i n Proceedings of the Eighth Joint Conference  on Artificial  Intelligence,  International  686-689.  (1984) " A Government-Binding Parser for French," Working Paper N o . 48, Institut pour les Etudes Semantiques et Cognitives, Universite de Geneve, Switzerland. Wexler, K . and Culicover, P. (1980) Formal M A : M I T Press.  Principles  of Language  Acquisition, Cambridge,  Williams, E . (1981) "Argument Structure and Morphology," The Linguistic (1984) 'T/jere-Insertion," Linguistic  Review 1:81-114.  Inquiry 15:131-151.  Y i p , K . (1985) "Tense, Aspect, and the Cognitive Representation o f Time," i n Proceedings of the  23rd Annual  Meeting  of the  Association for Computational  Linguistics,  18-26.  Appendix A .  The  examples  EXAMPLES  shown here illustrate the properties of the model. Sentences are input in one  language  and converted to D-structure  followed  by  the  generation  of  representation.  all allowable  S-structures.  small, but the intention is to model representative coverage of the  A translation of D-structures The  is  working vocabulary  lexical items, rather  made,  is fairly  than handle a broad  languages.  The examples were produced on a V A X 11/750 running under U N I X 4.2 B S D at the University of British Columbia. The program is written in C - P r o l o g 1.5 (Pereira 1984). Some minor amount  of post-editing  has  been  done  to  facilitate  inclusion of  these  examples in the appendix. Diacritics have been eliminated except where ambiguity might result (e.g. hablo vs. hablo). In the examples, a diacritic follows the vowel over which it applies. As include examples  noted  echo  i n the text, the  questions,  yes/no  sentences generated from questions  questions,  and  wh  questions,  as  i n the source  illustrated  in  some  language of  the  below, such as Example 3. N o attempt is made to limit the form of the output to  that of the input sentence. Example 1. E n t e r s o u r c e language: e n g l i s h . E n t e r t a r g e t language: S p a n i s h . E n t e r sentence i n e n g l i s h : John s a i d he thought h i s b r o t h e r had seen the f i l m . Juan d i j o que e ' l pensaba que su hermano h a b i a v i s t o l a p e l i c u l a . Juan d i j o que pensaba que su hermano h a b i a v i s t o l a p e l i c u l a .  Example 2. E n t e r s o u r c e language: S p a n i s h . E n t e r t a r g e t language: e n g l i s h . E n t e r sentence i n Spanish: c r e o que e r e s mi amigo. I b e l i e v e t h a t you are my f r i e n d . I b e l i e v e you a r e my f r i e n d . I b e l i e v e you t o be my f r i e n d .  Example 3. E n t e r s o u r c e language: Spanish. E n t e r t a r g e t language: e n g l i s h . 113  E n t e r s e n t e n c e i n Spanish: q u i e ' n p a r e c e haber  salido?  Does who seem t o have l e f t ? Who seems t o have l e f t ? Does i t seem t h a t who has l e f t ? Does i t seem who has l e f t ? Does i t seem who has l e f t ? Who does i t seem has l e f t ?  Example 4. Enter s o u r c e language: Spanish. Enter t a r g e t language: e n g l i s h . E n t e r s e n t e n c e i n Spanish: es p r o b a b l e que l a mujer h a b l a r a ' a n t e s de l a r e u n i o n . I t i s l i k e l y t h a t t h e woman w i l l speak b e f o r e t h e meeting. I t i s l i k e l y t h e woman w i l l speak b e f o r e t h e meeting. The woman i s l i k e l y t o speak b e f o r e t h e meeting. I t i s p r o b a b l e t h a t t h e woman w i l l speak b e f o r e t h e meeting. I t i s p r o b a b l e t h e woman w i l l speak b e f o r e the meeting.  Example 5. E n t e r s o u r c e language: e n g l i s h . E n t e r t a r g e t language: Spanish. E n t e r s e n t e n c e i n e n g l i s h : should mary know t h e t r u t h about h e r f a t h e r ? Debe saber M a r i a l a verdad a c e r c a de su padre? Debe M a r i a saber l a verdad a c e r c a de su padre? Example 6. E n t e r s o u r c e language: Spanish. E n t e r t a r g e t language: e n g l i s h . E n t e r s e n t e n c e i n Spanish: p a r e c e que juan ha e s t i r a d o l a p a t a . I t seems t h a t John has d i e d . I t seems John has d i e d . John seems t o have d i e d . I t seems t h a t John has k i c k e d t h e b u c k e t . I t seems John has k i c k e d t h e b u c k e t . John seems t o have k i c k e d t h e b u c k e t .  Example 7. E n t e r s o u r c e language: e n g l i s h . E n t e r t a r g e t language: Spanish. E n t e r s e n t e n c e i n e n g l i s h : where d i d you p u t my book? P u s i s t e t u ' mi l i b r o do'nde? P u s i s t e mi l i b r o do'nde? Do'nde p u s i s t e t u ' mi l i b r o ?  Do'nde p u s i s t e mi l i b r o ? E x a m p l e 8.  Enter source language: english. Enter target language: Spanish. Enter sentence i n e n g l i s h : when d i d my s i s t e r put t h i s book on the table? Puso mi hermana este l i b r o en l a mesa cua'ndo? Cua'ndo puso mi hermana este l i b r o en l a mesa? Puso mi hermana este l i b r o sobre l a mesa cua'ndo? Cua'ndo puso mi hermana este l i b r o sobre l a mesa? Example  9.  Enter source language: english. Enter target language: Spanish. Enter sentence i n e n g l i s h : mary i s l i k e l y to come t o the meeting a f t e r the f i l m . Es probable que Maria viene a l a reunion despues de l a p e l i c u l a . Example  10.  Enter source language: Spanish. Enter target language: english. Enter sentence i n Spanish: despues de cua'l p e l i c u l a s a l i e r o n ? Did they leave a f t e r which f i l m ? Which f i l m d i d they leave a f t e r ? A f t e r which f i l m d i d they leave? Example  11.  Enter source language: e n g l i s h . Enter target language: Spanish. Enter sentence i n e n g l i s h : which f i l m d i d they leave a f t e r ? S a l i e r o n e l l o s despues de S a l i e r o n despues de cua'l Despues de cua'l p e l i c u l a Despues de cua'l p e l i c u l a Example  cua'l p e l i c u l a ? pelicula? salieron ellos? salieron?  12.  Enter source language: Spanish. Enter target language: e n g l i s h . Enter sentence i n Spanish: quiero su l i b r o . I I I I  want want want want  h i s book. her book. i t s book. t h e i r book.  I want your book. Example  13.  Enter source language: Spanish. Enter target language: e n g l i s h . Enter sentence i n Spanish: s a l i o ' ? Did Did Did  he l e a v e ? she l e a v e ? i t leave?  Example  14.  Enter source language: e n g l i s h . Enter target language: Spanish. Enter sentence i n e n g l i s h : how much time do we have? Tenemos Tenemos Cua'nto Cua'nto Example  nosotros cua'nto tiempo? cua'nto tiempo? tiempo tenemos nosotros? tiempo tenemos? 15.  Enter source language: e n g l i s h . Enter target language: Spanish. Enter sentence i n e n g l i s h : who d i d John know mary had said some man had spoken with? Sabia Juan que Maria habia dicho que algun hombre habia hablado con quie'n? Con quie'n sabia Juan que habia dicho Maria que algun hombre habia hablado? Con quie'n sabia Juan que habia dicho Maria que habia hablado algun hombre? Example  16.  Enter source language: Spanish. Enter target language: e n g l i s h . Enter sentence i n Spanish: quie'n v i o l a p e l i c u l a ? Did the f i l m see who? Who d i d the f i l m see?  Appendix B. Prolog Code -  English Lexicon  ^********************************************** /* /*  V LEXICON: English  */  /* ^*********************************************** /*  */  MORPHOLOGY  */  ^********************************************* suffixtable(english,ies,y,n,[pl(+)]). suffixtable(english,ves,f,n,[pl(+)]). suffixtable(english,ves,fe,n,[pl(+)])• suffixtable(english,es,"",n,[pl(+)]). suffixtable(english,s,"",n,[pl(+)]). suffixtable(english,ies,y,v,[pl(-),per(3),tns(pres)]). suffixtable(english,s,"",v,[pl(-),per(3),tns(pres)]). suffixtable(english,ied,y,v,[tns(past)]). suffixtable(english,ed,e,v,[tns(past)]). suffixtable(english,ed,"",v,[tns(past)]). suffixtable(english,en,e,v,[perf(+)]). suffixtable(english,en,"",v,[perf(+)]). suffixtable(english,ing,e,v,[prog(+)]). suffixtable(english,ing,"",v,[prog(+)]). ^*************************************************** /* FUNCTION WORDS  */  ^***************************************************  dict(english,a,art,[f(pl(-)),spanish(un)]). dict(english,an,art,[f(pl(-)),spanish(un)]). dict(english,another,art,[f(pl(-)),spanish(otro)]). diet(english,each,art,[f(pl(-)),spanish(cada)]). diet(english,every,art,[f(pl(-)),spanish(cada)]). diet(english,her,art,[spanish(su)]). dict(english,his,art,[spanish(su)]). diet(english,how_many,art,[f([wh(+),pl(+)]), spanish('cua*'ntos )]). diet(english,how_much,art,[f([wh(+),pl(-)]), spanish('cua''nto')]). diet(english,its,art,[spanish(su)]). diet(english,many,art,[f(pl(+)),spanish(muchos)]). diet(english,my,art,[spanish(mi)]). diet(english,no,art,[spanish(ningun)]). dict(english,other,art,[f(pl(+)),spanish(otros)]). dict(english,our,art,[spanish(nuestro)]). dict(english,several,art,[f(pl(+)),spanish(varios)]). dict(english,some,art,[spanish(algun)]). diet(english,that,art,[f(pl(-)),spanish(ese)]). dict(english,the,art,[spanish(el)]). diet(english,their,art,[spanish(su)]). diet(english,these,art,[f(pl(+)),spanish(estos)]). diet(english,this,art,[f(pl(-)),spanish(este)]). diet(english,those,art,[f(pl(+)),spanish(esos)]). dict(english,what,art,[f(wh(+)), Spanish (['que' " , 'cua" 1' ]) ] ) . diet(english,which,art,[f(wh(+)),spanish('cua''1')]). diet(english,your,art,[spanish(tu)]). 1  117  diet(english,had,perf,[f(tns(past)),root(have)]). diet(english,has,perf,[f([tns(pres),per(3),pl(-)]), root(have)]). dict(english,have,perf,[spanish(haber)]). dict(english,be,prog,[spanish(estar)]). diet(english,been,prog,[f(perf(+)),root(be)]). diet(english,being,prog,[f(prog(+)),root(be)])• diet(english,is,prog,[f([tns(pres),per(3),pl(-)]),root(be)]). diet(english,am,prog,[f([tns(pres),per(1),pl(-)]),root(be)3). diet(english,are,prog,[f([tns(pres),pl(+)3),root(be)]). dict(english,are,prog,[f([tns(pres),per(2)]),root(be)]). diet(english,was,prog,[f([tns(past),per(3),pl(-)]),root(be)]). diet(english,was,prog,[f ([tns(past),per(1),pl(-)]),root(be)]). diet(english,were,prog,[f([tns(past),pl(+)3),root(be)3)• diet(english,were,prog,[f ([tns(past),per(2)3),root(be)]). diet(english,that,comp,[subcat(inf1),spanish(e)]). diet(english,for,comp,[f(tns(-)),subcat(inf1),spanish(e)3)• diet(english,he,n,[f(pro(+)),spanish('e''1')]). diet(english,how_much,n,[f(wh(+)),spanish('cua''nto')]). diet(english,how_many,n,[f([wh(+),pl(+)]), spanish('cua''ntos')]). dict(english,i,n,[f([per(l),pro(+)3),proper(+),spanish(yo)]). diet(english,it,n,[f(pro(+)),Spanish('e'*1')]). diet(english,she,n,[f(pro(+)),spanish(ella)]). diet(english,that,n,[spanish(eso)]). dict(english,these,n,[f(pl( + ) ) , s p a n i s h ( ' e " s t o s ) ] ) . diet(english,they,n,[f([pl(+),pro(+)]),spanish(ellos)]). diet(english,this,n,[spanish(esto)]). diet(english,those,n,[f(pl(+)),spanish('e' sos')]). dict(english,we,n,[f([per(l),pl(+),pro(+)]), spanish(nosotros)]). diet(english,what,n,[f(twh(+),per(3),pl(-)]), spanish('que'' )]). diet(english,which,n,[f([wh(+),per(3),pl(-)]), spanish('cua '1')]). diet(english,who,n,[f([wh(+),per(3),pl(-)]), spanish('quie''n')]). dict(english,whom,n,[f([wh(+),per(3),pl(-)]), Spanish('quie 'n')]). diet(english,you,n,[f([per(2),pl(-),pro(+)]), Spanish ('tu' " ) ] ) . 1  1  1  1  1  diet(english,can,inf1,[f(tns(pres)),subcat(v),irr(could), spanish(poder)]). diet(english,could,infl,[f(tns(past)),root(can)]). diet(english,should,inf1,[f(tns(pres)),subcat(v), spanish(deber)]). diet(english,did,inf1,[f(tns(past)),root(do)]). d i e t ( e n g l i sh,do,inf1,[f(tns(pres)),irr([does,did]),subcat(v)]) diet(english,does,inf1,[f([tns(pres),per(3),pl(-)]),root(do)]) diet(english,to,infl,[f(tns(-)),subcat(v),spanish(e)]). dict(english,will,inf1,[f(tns(fut)),subcat(v),spanish(e)]).  diet(english,about,p,[subcat(n),spanish(acerca_de)]). diet(english,above,p,[subcat(n),spanish([encima_de,sobre])]). diet(english,after,p,[subcat(n),spanish(despues_de)]). diet(english,against,p,[subcat(n),Spanish(contra)]). diet(english,among,p,[subcat(n),spanish(entre)]). diet(english,around,p,[subcat(n),spanish(airededor_de)]). dict(english,at,p,[subcat(n),spanish(a)]). dict(english,before,p,[subcat(n),spanish(antes_de)]). diet(english,behind,p,[subcat(n),spanish(detras_de)]). dict(english,below,p,[subcat(n),spanish(debajo_de)]). dict(english,beneath,p,[subcat(n),spanish([bajo,debajo_de])]) d i e t ( e n g l i sh,beside,p,[subcat(n),spani sh(al_lado_de) ] ) . diet(english,between,p,[subcat(n),spanish(entre)]). dict(english,by,p,[subcat(n),spanish(por)]). dict(english,during,p,[subcat(n),Spanish(durante)]). diet(english,for,p,[subcat(n),Spanish([por,para])]). diet(english,from,p,[subcat(n),spanish(de)]). dict(english,in,p,[subcat(n),spanish(en)]). diet(english,inside,p,[subcat(n),spanish(dentro_de)]). diet(english,into,p,[subcat(n),spanish(dentro)]). diet(english,near,p,[subcat(n),spanish(cerca_de)]). dict(english,of,p,[subcat(n),spanish(de)]). diet(english,on,p,[subcat(n),spanish([en,sobre])]). dict(english,outside,p,[subcat(n),spanish(fuera_de)]). diet(english,over,p,[subcat(n),Spanish(sobre)]). dict(english,through,p,[subcat(n),spanish(por)]). diet(english,to,p,[subcat(n),spanish(a)]). diet(english,toward,p,[subcat(n),spanish(hacia)]). diet(english,towards,p,[subcat(n),spanish(hacia)]). diet(english,under,p,[subcat(n),spanish(debajo_de)]). diet(english,when,p,[f(wh(+)),spanish('cua''ndo')]). diet(english,where,p,[f(wh(+)),Spanish('do''nde')]). diet(english,with,p,[subcat(n),Spanish(con)]). dict(english,without,p,[subcat(n),spanish(sin)]). /**********************************************************/  /*  CONTRACTIONS  /**********************************************************/ contraction(english,'i''m',[i,am]). contraction(english,'I''m',['I',am]). contraction(english,'i''ve',[i,have]). contraction(english,'I''ve',['I',have]). /**********************************************************  /*  COLLOCATIONS  /**********************************************************/  */  ^  */  collocation(english,[how,many],how_many). collocation(english,[how,much],how_much). /**********************************************************/  /*  DICTIONARY  ^**********************************************************/  */  diet(english,am,v,[f([tns(pres),per(l),pl(-)]),root(be)]). dict(english,are,v,[f([tns(pres),per(2)]),root(be)]). diet(english,are,v,[f([tns(pres),pl(+)]),root(be)]). diet(english,be,v,[subcat(a),subcat(n),subcat(p),perf(been), p r o g ( b e i n g ) , i r r ( [ i s,am,ar e,was,wer e ] ) ,  spanish([estar,ser])]).  diet(english,bed,n,[spanish(cama)]). dict(english,been,v,[f(perf(+)),root(be)]). diet(english,being,v,[f(prog(+)),root(be)]). dict(english,believe,v,[subcat(comp),subcat(n),sdel(+), spani s h ( c r e e r ) ] ) . diet(english,book,n,[Spanish(libro)]). diet(english,bought,v,[f ([perf(+),tns(past)]),root(buy)]). diet(english,boy,n,[spanish(muchacho)]). dict(english,brother,n,[Spanish(hermano)]). diet(english,bucket,n,[spanish(cubeta)]). dict(english,buy,v,[subcat(n),irr(bought),perf(bought), spanish(comprar)]). diet(english,came,v,[f(tns(past)),root(come)]). diet(english,certain,a,[f(theta(-)),sdel(+),subcat(comp), spanish(cierto)]). diet(english,come,v,[f(perf(+)),root(come)]). dict(english,come,v,[irr(came),perf(come),subcat(p), spanish(venir)]). dict(english,cost,v,[f([perf(+),tns(past)]),root(cost)]). dict(english,cost,v,[irr(cost),perf(cost),subcat(n), spanish(costar)]). dict(english,did,v,[f(tns(past)),root(do)]). dict(english,die,v,[perf(died),prog(dying),spanish(morir)]). dict(english,died,v,[f([tns(past),perf(+)]),root(die)]). diet(english,do,v,[irr([does,did]),perf(done),subcat(n), spanish(hacer)]). diet(english,does,v,[f([tns(pres),per(3),pl(-)]),root(do)]). dict(english,done,v,[f(perf(+)),root(do)]). dict(english,dying,v,[f(prog(+)),root(die)]). diet(english,expect,v,[subcat(comp),spanish(suponer)]). dict(english,father,n,[Spanish(padre)]). dict(english,film,n,[spanish(pelicula)]). diet(english,firm,n,[spanish(empresa)]). dict(english,floor,n,[Spanish(piso)]). dict(english,friend,n,[Spanish(amigo)]). dict(english,gave,v,[f(tns(past)),root(give)]). dict(english,girl,n,[spanish(muchacha)]). diet(english,give,v,[subcat([n,p]),irr([gave]),spanish(dar)]) d i e t ( e n g l i sh,go,v,[subcat(p),subcat(comp),per f ( g o n e ) , irr([goes,went]),spani s h ( i r ) ] ) dict(english,goes,v,[f([tns(pres),per(3),pl(-)]),root(go)]). diet(english,gone,v,[f(perf(+)),root(go)]). diet(english,had,v,[f([perf(+),tns(past)]),root(have)]). diet(english,has,v,[f([tns(pres),per(3),pl(-)]),root(have)]). dict(english,have,v,[subcat(n),irr([has,had]),perf(had), spanish(tener)]). dict(english,house,n,[spanish(casa)]). diet(english,is,v,[f([tns(pres),per(3),pl(-)]),root(be)]). dict(english,john,n,[proper(+),spanish(juan)]). diet(english,kick,v,[expr([[the,bucket],spanish([morir, expr([estirar,la,pata])])]),subcat(n), perf(kicked),spanish(patear)]). diet(english,kicked,v,[f([perf(+),tns(past)]),root(kick)]). dict(english,knew,v,[f(tns(past)),root(know)]). dict(english,know,v,[subcat(comp),subcat(n),sdel(+), perf(known),irr(knew),Spanish(saber)]).  dict(english,known,v,[f(perf(+)),root(know)]). diet(english,leave,v,[irr(left),perf(left),Spanish(salir)]). d i e t ( e n g l i s h , l e f t , v , [ f ( [ p e r f ( + ),tns ( p a s t ) ] ) , r o o t ( l e a v e ) ] ) . diet(engli sh,likely,a,[f(theta(-)),subcat(comp),sdel(+), spanish(probable)]). diet(english,made,v,[f([perf( + ) ,tns(past)]),root(make)]). diet(english,make,v,[perf(made), i r r (made), subcat(n), spanish(hacer)]). diet(english,man,n,[pl(men),Spanish(hombre)]). dict(english,mary,n,[proper( + ),spanish(maria)]). diet(english,meeting,n,[Spanish(reunion)]). diet(english,men,n,[f(pl( + )),root(man)]). diet(english,mother,n,[Spanish(madre)]). dict(english,movie,n,[Spanish(cine)]). diet(english,paw,n,[spanish(pata)]). dict(english,possible,a,[f(theta(-)),subcat(comp), Spanish(posible)]). d i e t ( e n g l i s h , p r o b a b l e , a , [ f ( t h e t a ( - ) ) , subcat(comp), spanish(probable)]). dict(english,put,v,[f([perf(+),tns(past)]),root(put)]). dict(english,put,v,[subcat([n,p]),irr(put),perf(put), prog(putting),spanish(poner)]). dict(english,putting,v,[f(prog(+)),root(put)]). dict(english,said,v,[f([perf(+),tns(past)]),root(say)]). dict(english,saw,v,[f(tns(past)),root(see)]). diet(english,say,v,[subcat(comp),irr(said),perf(said), Spanish(decir)]). diet(engli sh,see,v,[subcat(n),prog(seeing),perf(seen), irr(saw),spanish(ver)]). dict(english,seeing,v,[f(prog(+)),root(see)]). diet(english,seem,v,[f(theta(-)),sdel(+),subcat(comp), spanish(parecer)]). diet(english,seen,v,[f(perf( + )),root(see) ] ) . dict(english,sell,v,[irr(sold),perf(sold),subcat(n), spanish(vender)]). diet(english,side,n,[Spanish(lado)]). dict(english,sister,n,[spanish(hermana)]). diet(english,sleep,v,[irr([slept]) ,perf(slept), spanish(dormir)]). diet(english,slept,v,[f([perf(+), tns(past)]),root(sleep)]). diet(english,sold,v,[f([perf(+),tns(past)]),root(sell)]). dict(english,spain,n,[proper( + ),spanish(espana)]). dict(english,speak,v,[irr(spoke),perf(spoken),subcat(p), spanish(hablar)]). diet(english,spoke,v,[f(tns(past)),root(speak) ] ) . diet(english,spoken,v,[f(perf(+)),root(speak)]). dict(english,stretch,v,[subcat(n),Spanish(estirar)]). diet(english,table,n,[Spanish(mesa)]). dict(english,thing,n,[spanish(cosa)]). d i e t ( e n g l i sh,think,v,[subcat(comp),irr([thought]), perf(thought),spanish(pensar)]) diet(english,thought,v,[f([perf( + ), t n s ( p a s t ) ] ) , r o o t ( t h i n k ) ] ) dict(english,time,n,[Spanish(tiempo)]). dict(english,truth,n,[Spanish(verdad)]). dict(english,want,v,[perf(wanted),subcat(comp),subcat(n), sdel(+),spanish(querer)])  diet(english,wanted,v,[f([perf(+),tns(past)]),root(want)]) diet(english,was,v,[f([tns(past),per(l),pl(-)]),root(be)]) diet(english,was,v,[f([tns(past),per(3),pl(-)]),root(be)]) dict(english,went,v,[f(tns(past)),root(go)]). diet(english,were,v,[f([tns(past),per(2)]),root(be)]). dict(english,were,v,[f([tns(past),pl(+)3),root(be)]). diet(english,woman,n,[pi(women),Spanish(mujer)]). dict(english,women,n,[f(pl(+)),root(woman)]). dict(english,written,v,[f(perf(+)),root(write)]). dict(english,wrote,v,[f(tns(past)),root(write)]).  Appendix C . Prolog Code - Spanish Lexicon /**********************************************************^ /* /*  /*  LEXICON: Spanish  V */  • V ^**********************************************************^ ^ ******* ************************** ************************* ^ / *  M O R P H O L O G Y  * /  suffixtable(Spanish,es,"",n,[pl(+)]). suffixtable(Spanish,s,"",n,[pl( )]). suffixtable(Spanish,a,o,n,[fem(+)]). suffixtable(Spanish,as,o,n,[fem(+),pi(+)]). +  suffixtable(Spanish,o,ar,v,[per(l),pl(-),tns(pres)]). suffixtable(spanish,as,ar,v,[per(2),pl(-),tns(pres)]). suf f i x t a b l e ( s p a n i s h , a , a r , v , [ p e r ( 3 ) , p i ( - ) , t n s(pr e s ) ] ) . suffixtable(spanish,amos,ar,v,[per(1),pl(+),tns(pres)]). suffixtable(Spanish,an,ar,v,[per(3),pl(+),tns(pres)]). suffixtable(Spanish,abas,ar,v,[per(2),pl(-),tns(past)]). suffixtable(Spanish,aba,ar,v,[per(3),pl(-),tns(past)]). suffixtable(Spanish,aba,ar,v,[per(l),pl(-),tns(past)]). suffixtable(Spanish,abamos,ar,v,[per(1),pl(+),tns(past)]). suffixtable(Spanish,aban,ar,v,[per(3),pi(+),tns(past)]). suffixtable(Spanish,'e''',ar,v,[per(l),pl(-),tns(past)]). suffixtable(spanish,aste,ar,v,[per(2),pl(-),tns(past)]). suffixtable(Spanish,'o'" ,ar,v,[per(3),pl(-),tns(past)]). suffixtable(spanish,amos,ar,v,[per(l),pl(+),tns(past)])• suffixtable(spanish,aron,ar,v,[per(3),pl(+),tns(past)]).  suffixtable(Spanish,o,er,v,[per(1),pl(-),tns(pres)]). suffixtable(spanish,es,er,v,[per(2),pl(-),tns(pres)]). suffixtable(Spanish,e,er,v,[per(3),pl(-),tns(pres)]). suffixtable(spanish,emos,er,v,[per(1),pl(+),tns(pres)]). suffixtable(Spanish,en,er,v,[per(3),pl(+),tns(pres)]). suffixtable(Spanish,ias,er,v,[per(2),pl(-),tns(past)]). suffixtable(Spanish,ia,er,v,[per(3),pl(-),tns(past)]). suffixtable(Spanish,ia,er,v,[per(l),pl(-),tns(past)]). suffixtable(Spanish,iamos,er,v,[per(1),pl(+),tns(past)]). suffixtable(Spanish,ian,er,v,[per(3),pl(+),tns(past)]). suffixtable(Spanish,'i''',er,v,[per(1),pl(-),tns(past)]). suffixtable(Spanish,iste,er,v,[per(2),pl(-),tns(past)]). suffixtable(Spanish,'io' ,er,v,[per(3),pl(-),tns(past)]). suffixtable(Spanish,imos,er,v,[per(l),pl(+),tns(past)]). suffixtable(Spanish,ieron,er,v,[per(3),pl(+),tns(past)]). 1 1  suffixtable(Spanish,o,ir,v,[per(l),pl(-),tns(pres)]). suffixtable(spanish,es,ir,v,[per(2),pl(-),tns(pres)]). suffixtable(Spanish,e,ir,v,[per(3),pl(-),tns(pres)]). 123  suffixtable(Spanish,imos,ir,v,[per(l),pl(+),tns(pres)]). suffixtable(Spanish,en,ir,v,[per(3),pl(+),tns(pres)]). suf f i x t a b l e ( s p a n i s h , i a s , i r , v , [ p e r ( 2 ) , p l ( - ) , t n s ( p a s t ) ] ) . suffixtable(Spanish,ia,ir,v,[per(3),pl(-),tns(past)]). suffixtable(Spanish,ia,ir,v,[per(l),pl(-),tns(past)]). suffixtable(Spanish,iamos,ir,v,[per(l),pl(+),tns(past)]). suffixtable(Spanish,ian,ir,v,[per(3),pl(+),tns(past)]). suffixtable(Spanish,'i' ',ir,v,[per(1),pl(-),tns(past)]). suffixtable(Spanish,iste,ir,v,[per(2),pl(-),tns(past)]). suffixtable(Spanish,'io''',ir,v,[per(3),pl(-),tns(past)]). suffixtable(Spanish,imos,ir,v,[per(1),pl(+),tns(past)]). suffixtable(Spanish,ieron,ir,v,[per(3),pl(+),tns(past)]). 1  suffixtable(Spanish,'e*'',"",v,[per(1),pl(-),tns(fut)]). suffixtable(Spanish,'a''s',"",v,[per(2),pl(-),tns(fut)]). suffixtable(Spanish,'a''',"",v,[per(3),pl(-) tns(fut)]). suffixtable(Spanish,'ara 'mos ,ar,v,[per(1),pl(+),tns(fut)]). suffixtable(Spanish,'e''mos',"",v,[per(l),pl(+),tns(fut)]). suffixtable(Spanish,'a''n',"",v,[per(3),pl(+),tns(fut)]). f  1  1  suffixtable(Spanish,ado,ar,v, [perf( + ) ] ) . suffixtable(Spanish,ido,er,v,[perf(+)]). suffixtable(Spanish,ido,ir,v,[perf(+)]). suffixtable(spanish,ando,ar,v,[prog(+)]). suffixtable(Spanish,iendo,er,v,[prog(+)]). suffixtable(Spanish,iendo,ir,v,[prog(+)]).  suffixtable(spanish,o,er,inf1,[per(l),pl(-),tns(pres)]). suffixtable(Spanish,es,er,infl,[per(2),pl(-),tns(pres)]). suffixtable(Spanish,e,er,inf1,[per(3),pl(-),tns(pres)]). suffixtable(spanish,emos,er,inf1,[per(l),pl(+),tns(pres)]). suffixtable(Spanish,en,er,inf1,[per(3),pl(+),tns(pres)]).  suffixtable(spanish,o,"",steml,[per(l),pl(-),tns(pres)]). suffixtable(Spanish,as,"",steml,[per(2),pl(-),tns(pres)]). suffixtable(Spanish,a,"",steml,[per(3),pl(-),tns(pres)]). suffixtable(Spanish,an,"",steml,[per(3),pl(+),tns(pres)]). suffixtable(Spanish,o,"",stem2,[per(1),pl(-),tns(pres)]). suffixtable(spanish,es,"",stem2,[per(2),pl(-),tns(pres)]). s u f f i x t a b l e ( s p a n i sh,e,"",s t em2,[per(3),p1(-),tns(pre s ) ] ) . suffixtable(Spanish,en,"",stem2,[per(3),pl(+),tns(pres)]). suffixtable(Spanish,e,"",stem3,[per(l),pl(-),tns(past)]). suffixtable(Spanish,iste,"",stem3,[per(2),pl(-),tns(past)]). suffixtable(spanish,o,"",stem3,[per(3),pl(-),tns(past)]). suffixtable(Spanish,imos,"",stem3,[per(1),pi(+),tns(past)]). suffixtable(Spanish,eron,"",stem3,[per(3),pl(+),tns(past)]).  suffixtable(Spanish,'i" 'stem4,[per(l),pl(-),tns(past)]). suffixtable(Spanish,iste,"",stem4,[per(2),pl(-),tns(past)]). suffixtable(Spanish,'io''',"",stem4,[per(3),pl(-),tns(past)]). suffixtable(Spanish,imos,"",stem4,[per(l),pl(+),tns(past)]). suffixtable(Spanish,ieron,"",stem4,[per(3),pl(+),tns(past)]). suffixtable(Spanish,*e''',"",stem5,[per(1),pl(-),tns(fut)]). suffixtable(Spanish,'a s',"",stem5,[per(2),pl(-),tns(fut)]). suffixtable(Spanish,'a''',"",stem5,[per(3),pl(-),tns(fut)]). suffixtable(Spanish,'e''mos',"",stem5,[per(1),pl(+),tns(fut)]). suffixtable(Spanish,'a''n',"",stem5,[per(3),pl(+),tns(fut)]). 1 1  suffixtable(spanish,a,"",art,[fem(+)]). suffixtable(spanish,a,o,art,[fem(+)]). suffixtable(spanish,as,"",art,[fem(+),pl(+)]). suffixtable(Spanish,as,os,art,[fem(+),pl( + ) ] ) . suffixtable(spanish,es,"",art,[pl(+)]). suffixtable(Spanish,os,"",art,[pl(+)]). suffixtable(spanish,s,"",art,[pl(+)]). ^*******************************************  /*  FUNCTION WORDS  */  diet(Spanish,algun,art,[pl(algunos),english(some)]). dict(spanish,algunos,art,[f(pl(+)),root(algun)]). diet(Spanish,cada,art,[f(fem(_)),english([each,every])]). dict(spanish,'cua''1',art,[f([wh(+),fem(_),pl(-)]), p l ( ' c u a " l e s ' ) , english (which)]). diet(Spanish,'cua' les',art,[f([wh(+),fem(_),pl(+)]), 1  r o o t C c u a ' '1')]). dict(spanish,'cua''nto',art,[f([wh(+),pl(-)]), english(howjmuch)]). dict(spanish,'cua''ntos',art,[f([wh(+),pl(+)]), english(how_many)]). diet(Spanish,el,art,[fem(la),pi(los),english(the)]). dict(spanish,esa,art,[f(fem(+)),root(ese)]). diet(Spanish,ese,art,[fem(esa),english(that)]). diet(spanish,esos,art,[f(pl(+)),english(those)]). diet(Spanish,esta,art,[f(fem(+)),root(este)]). dict(spanish,este,art,[fem(esta),pl(estos),english(this)]). diet(spanish,estos,art,[f(pl(+)),english(these)]). diet(Spanish,la,art,[f(fem(+)),root(el)]). diet(Spanish,las,art,[f([fem(+),pl(+)]),root(el)]). diet(Spanish,los,art,[f(pl(+)),root(el)]). diet(Spanish,mi,art,[f(fem(_)),english(my)]). diet(spanish,muchos,art,[f(pl(+)),english(many)]). diet(spanish,ningun,art,[english(no)]). diet(Spanish,nuestro,art,[english(our)]). diet(Spanish,otro,art,[english(another)]). diet(spanish,otros,art,[f(pl(+)),english(other)]). diet(Spanish,'que''',art,[f(wh(+)),english(what)]). dict(spanish,su,art,[f(fem(_)),english([his,her,its,their, your])]). diet(Spanish,tu,art,[f(fem(_)),english(your)]). diet(Spanish,un,art,[english(a)]). diet(Spanish,unos,art,[f(pl(+)),english(some)]).  dict(spanish,varios,art,[f(pl(+)),english(several)]). diet(Spanish,que,comp,[english(that)]). diet(Spanish,haber,perf,[english(have)]). dict(Spanish,he,perf,[f([tns(pres),per(l),pl(-)]), root(haber) diet(spanish,has,perf,[f([tns(pres),per(2),pl(-)]), root(haber) diet(Spanish,ha,perf,[f([tns(pres),per(3),pl(-)]), root(haber) diet(spanish,hemos,perf,[f([tns(pres),per(1),pl(+)]), root(haber) diet(Spanish,han,perf,[f([tns(pres),per(3),pl(+)]), root(haber) dict(spanish,habias,perf,[f([tns(past),per(2),pl(-)]), root(haber) diet(Spanish,habia,perf,[f([tns(past),per(3),pl(-)]), root(haber) diet(Spanish,habia,perf,[f([tns(past),per(l),pl(-)]), root(haber) diet(Spanish,habiamos,perf,[f([tns(past),per(1),pl(+)]), root(haber) diet(Spanish,habian,perf,[f([tns(past),per(3),pl(+)]), root(haber) dict(spanish,'habre''',perf,[f([tns(fut),per(1),pl(-)]), root(haber) dict(spanish,'habra''s',perf,[f([tns(fut),per(2),pl(-)]), root(haber) diet(Spanish,'habra''',perf,[f([tns(fut),per(3),pl(-)]), root(haber) dict(spanish,'habre''mos',perf,[f([tns(fut),per(1),pl(+)] root(haber) dict(spanish,'habra''n',perf,[f([tns(fut),per(3),pl(+)]), root(haber) diet(Spanish,estar,prog,[english(be)]). diet(Spanish,estoy,prog,[f([tns(pres),per(l),pl(-)]), root(estar) diet(Spanish,'esta''s',prog,[f([tns(pres),per(2),pl(-)]), root(estar) dict(spanish,'esta''',prog,[f([tns(pres),per(3),pl(-)]), root(estar) diet(spanish,estamos,prog,[f([tns(pres),per(l),pl(+)]), root(estar) diet(Spanish,estan,prog,[f([tns(pres),per(3),pl(+)]), root(estar) dict(Spanish,estado,prog,[f([perf(+)]),root(estar)]). diet(Spanish,estabas,prog,[f([tns(past),per(2),pl(-)]),  root(estar) diet(Spanish,estaba,prog,[f([tns(past),per(3),pl(-)]), root(estar) diet(Spanish,estaba,prog,[f([tns(past),per(1),pl(-)]), root(estar) diet(Spanish,estabamos,prog,[f([tns(past),per(l),pl(+)]),  root(estar)  dict(spanish,estaban,prog,[f([tns(past),per(3),pl(+)]), root(estar)]). diet(Spanish,'estare'' ,prog,[f([tns(fut),per(l),pl(-)]), root(estar)]). dict(spanish,'estara''s',prog,[f([tns(fut),per(2),pl(-)]), root(estar)]). dict(spanish,'estara''',prog,[f([tns(fut),per(3),pl(-)]), root(estar)]). dict(spanish,'estare''mos',prog,[f([tns(fut),per(l),pl(+)]), root(estar)]). dict(spanish,'estara''n',prog,[f([tns(fut),per(3),pl(+)]), root(estar)]). 1  diet(Spanish,'cua''1',n,[f([wh(+),pi(-)]),english(which)]). dict(spanish,'cua''les',n,[f([wh(+),pl(+)]),root('cua''1')]). diet(Spanish,'cua''nto',n,[f([wh(+),pl(-)]), english(how_much)]). dict(spanish,'cua''ntos',n,[f([wh(+),pl(+)]), english(how_many)]). dict(spanish,'e''1',n,[f(pro(+)),fem(ella),pl(ellos), english([he,it])]). diet(Spanish,ella,n,[f([fem(+),pro(+)]),english(she)]). dict(spanish,ellos,n,[f([pl(+),pro(+)]),english(they)]). dict(spanish,'e''sa',n,[f(fem(+)),root(eso)]). dict(spanish,'e''so',n,[english(that)]). dict(spanish,'e''sos',n,[f(pl(+)),english(those)]). diet(Spanish,'e''sto',n,[english(this)]). dict(spanish,'e*'stos',n,[f(pl(+)),english(these)]). diet(Spanish,nosotros,n,[f([per(l),pl(+),pro(+)]), english(we)]). dict(spanish,'que''',n,[f(wh(+)),english(what)]). dict(spanish,'quie''n',n,[f([wh(+),pl(-)]),english(who)]). diet(Spanish,'quie''nes',n,[f([wh(+),pl(+)]),english(who)]). dict(Spanish,'tu' ",n,[f([pl(-),per(2),pro( + )]), english(you)]). diet(spanish,yo,n,[f([pl(-),per(1),pro(+)]),english(i)]). diet(spanish,poder,infl,[english(can),stem2(pued),stem3(pud), stem5(podr),irr(pudieron)]). d i e t ( s p a n i sh,podr,s t e m 5 , [ f ( t n s ( f u t ) ) , r o o t ( p o d e r ) ] ) . diet(Spanish,pud,stem3,[f(tns(past)),root(poder)]). diet(spanish,pudieron,inf1,[f([tns(past),per(3),pl(+)]), root(poder)]). d i e t ( s p a n i sh,pued,stem2,[f(tns(pres)),root(poder)]). dict(spanish,deber,infl,[english(should)]). dict(Spanish,a,infl,[f(tns(-)),english(to)]). diet(Spanish,a,p,[english([to,at])]). diet(Spanish,al_lado_de,p,[english(beside)]). diet(Spanish,acerca_de,p,[english(about)]). diet(spanish,antes_de,p,[english(before)]). dict(spanish,alrededor_de,p,[english(around)]). diet(Spanish,bajo,p,[english(beneath)]). diet(Spanish,cerca_de,p,[english(near)]). diet(Spanish,con,p,[english(with)]). diet(Spanish,contra,p,[english(against)]).  128  diet(Spanish,'cua''ndo',p,[f(wh(+)),english(when)]). diet(spanish,de,p,[english([from,of])]). diet(spanish,debajo_de,p,[english([below,beneath,under])]). diet(spanish,dentro_de,p,[english(inside)]). diet(Spanish,despues_de,p,[english(after)]). dict(spanish,detras_de,p,[english(behind)]). dict(spanish,'do''nde',p,[f(wh(+)),english(where)]). diet(Spanish,durante,p,[english(during)]). diet(Spanish,en,p,[english(on)]). diet(Spanish,encima_de,p,[english(above)]). d i e t ( s p a n i s h , e n t r e , p , [ e n g l i sh([among,between])]). diet(Spanish,fuera_de,p,[english(outside)]). diet(Spanish,hacia,p,[english(toward)]). diet(Spanish,para,p,[english(for)]). diet(spanish,por,p,[english([for,by,through])]). diet(Spanish,sin,p,[english(without)]). diet(Spanish,sobre,p,[english([over,on,above])]). ^*****************************************  /*  CONTRACTIONS  y*****************************************  */  contraction(spanish,al,[a,el]). contraction(Spanish,del,[de,el]).  /*  COLLOCATIONS  */  c o l l o c a t i o n ( s p a n i sh, [ a , e l , l a d o , d e ] , a l _ l a d o _ d e ) . c o l l o c a t i o n ( S p a n i s h , [acerca,de],acerca_de). collocation(Spanish, [alrededor,de],alrededor_de). c o l l o c a t i o n ( s p a n i sh, [ a n t e s , d e ] , a n t e s _ d e ) . c o l l o c a t i o n ( s p a n i sh, [ c e r c a , d e ] , c e r c a _ d e ) . c o l l o c a t i o n ( S p a n i s h , [debajo,de],debajo_de). c o l l o c a t i o n ( s p a n i sh, [ d e n t r o , d e ] , d e n t r o _ d e ) . c o l l o c a t i o n ( S p a n i s h , [despues,de],despues_de). collocation(Spanish, [detras,de],detras_de). c o l l o c a t i o n ( s p a n i sh, [encima,de],encima_de). collocation(spanish, [fuera,de],fuera_de).  y***************************************** /*  DICTIONARY  /*************************************  */  dict(spanish,*se'' ,v,[f([tns(pres),per(1),pl(-)]), root(saber)]). diet(Spanish,amigo,n,[english(friend)]). diet(Spanish,cama,n,[f(fem(+)),english(bed)]). diet(Spanish,carta,n,[f(fem(+)),english(letter)]). dict(spanish,casa,n,[f(fem(+)),english(house)]). dict(spanish,cierto,a,[f(theta(-)),english(certain)]). diet(Spanish,cine,n,[english(movie)]). diet(spanish,comprar,v,[english(buy)]). diet(spanish,cosa,n,[f(fem(+)),english(thing)]). diet(spanish,costar,v,[steml(cuest),english(cost)]). diet(spanish,creer,v,[prog(creyendo),english(believe)]). diet(spanish,cubeta,n,[f(fem(+)),english(bucket)]). diet(Spanish,cuest,steml,[f(tns(pres)),root(costar)]). diet(spanish,d,stem4,[f(tns(past)),root(dar)]). diet(spanish,dar,v,[irr([doy,dio]),stem4(d),english(give)]). dict(spanish,decir,v,[english(say),perf(dicho), 1  prog(diciendo),irr(digo),stem2(dic),stem3(dij)]). dict(Spanish,die,stem2,[f(tns(pres)),root(decir)]). diet(Spanish,dicho,v,[f(perf(+)),root(decir)]). diet(spanish,diciendo,v,[f(prog(+)),root(decir)]). diet(spanish,digo,v,[f([tns(pres),per(l),pl(-)3), root(decir)]). diet(Spanish,dij,stem3,[f(tns(past)),root(decir)]). diet(spanish,dio,v,[f([tns(past),per(3),pl(-)]),root(dar)]). diet(Spanish,dormir,v,[english(sleep),prog(durmiendo), stem2(duerm),stem4(durm)]). diet(spanish,doy,v,[f([per(l),pl(-),tns(pres)]),root(dar)]). diet(Spanish,duerm,stem2,[f(tns(pres)),root(dormir)]). diet(Spanish,durm,stem4,[f(tns(past)),root(dormir)]). diet(Spanish,durmiendo,v,[f(prog(+)),root(dormir)]). diet(Spanish,empresa,n,[f(fem(+)),english(firm)]). diet(Spanish,era,v,[f([tns(past),per(l),pl(-)]),root(ser)]). diet(Spanish,era,v,[f([tns(past),per(3),pl(-)]),root(ser)]). diet(Spanish,eramos,v,[f ( [ t n s ( p a s t ) , p e r ( l ) , p l ( + ) ] ) , root(ser)]). diet(Spanish,eran,v,[f([tns(past),per(3),pl(+)3),root(ser)]) d i e t (Spanish, e r a s , v, [f (• [ t n s (past), per ( 2 ) , p i ( - ) ] ) , r o o t ( s e r ) ]) diet(Spanish,eres,v,[f([tns(pres),per(2),pl(-)]),root(ser)]) diet(Spanish,es,v,[f([tns(pres),per(3),pl(-)3),root(ser)]). dict(spanish,escribir,v,[english(write)]). diet(Spanish,espana,n,[proper(+),english(spain)]). diet(Spanish,estirar,v,[expr([[la,pata],english([die, expr([kick,the,bucket 3)])]),english(stretch)]) diet(Spanish,fu,stem3,[f(tns(past)),root(ir)]). diet(Spanish,fue,v,[f([tns(past),per(3),pl(-)]),root(ir)]). diet(Spanish,fui,v,[f([tns(past),per(l),pl(-)]),root(ir)]). diet(spanish,hablar,v,[english(speak)]). diet(Spanish,hacer,v,[english(do),perf(hecho), irr([hago,hizo,hicieron]),stem3(hic)]). diet(Spanish,hago,v,[f([tns(pres),per(1),pl(-)]), root(hacer)]). diet(Spanish,hecho,v,[f(perf(+)),root(hacer)]). diet(spanish,hermana,n,[english(sister),f(fem(+))]). diet(spanish,hermano,n,[english(brother)]). diet(Spanish,hie,stem3,[f(tns(past)),root(hacer)]). diet(Spanish,hicieron,v,[f([tns(past),per(3),pl(+)]), root(hacer)]). diet(Spanish,hicimos,v,[f([tns(past),pl(+),per(l)]), root(hacer)]). diet(Spanish,hizo,v,[f([tns(past),per(3),pl(-)]), root(hacer)]). dict(Spanish,hombre,n,[english(man)]). diet(Spanish,ir,v,[english(go),irr([voy,vamos,fui,fue]), steml(v),stem3(fu),prog(yendo)]). diet(Spanish,juan,n,[proper(+),english(John)]). diet(Spanish,lado,n,[english(side)]). diet(Spanish,libro,n,[english(book)]). diet(spanish,madre,n,[f(fem(+)),english(mother)]). dict(spanish,maria,n,[proper(+),english(mary)]). diet(Spanish,mesa,n,[f(fem(+)),english(table)]). dict(spanish,morir,v,[english(die),perf(muerto),stem2(muer), stem4(mur)]).  diet(spanish,muchacha,n,[f(fem(+)),english(girl)]). diet(spanish,muchacho,n,[english(boy)]). diet(spanish,muer,stem2,[f(tns(pres)),root(morir)]). d i e t ( s p a n i sh,muer t o , v , [ f ( p e r f ( + ) ) , r o o t ( m o r i r ) ] ) . diet(spanish,mujer,n,[f(fem(+)),pl(mujeres),english(woman)]). dict(Spanish,mur,stem4,[f(tns(past)),root(morir)]). diet(spanish,padre,n,[english(father)]). diet(Spanish,parecer,v,[f(theta(-)),sdel(+),english(seem), irr([parezco]) ] ) . diet(Spanish,parezco,v,[f([per(l),pl(-),tns(pres)]), root(parecer)]). diet(spanish,pata,n,[f(fem(+)),english(paw)]). dict(Spanish,patear,v,[english(kick)]). diet(Spanish,pelicula,n,[f(fem(+)),english(film)]). diet(spanish,pensar,v,[english(think),steml(piens)]). diet(Spanish,piens,steml,[f(tns(pres)),root(pensar)]). dict(spanish,piso,n,[english(floor)]). diet(spanish,poner,v,[english(put),perf(puesto),irr([pongo, pusimos,pusieron]),stem3(pus)]). diet(Spanish,pongo,v,[f([per(l),pl(-),tns(pres)]), root(poner)]). diet(Spanish,posible,a,[f(theta(-)),english(possible)]). dict(Spanish,probable,a,[f(theta(-)),english([likely, probable])]), diet(Spanish,puesto,v,[f(perf(+)),root(poner)]). dict(spanish,pus,stem3,[f(tns(past)),root(poner)]). diet(Spanish,pusieron,v,[f([tns(past),per(3),pl(+)]), root(poner)]). diet(Spanish,pusimos,v,[f([tns(past),per(1),pl(+)]), root(poner)]). diet(Spanish,querer,v,[english(want),stem2(quier)]). diet(Spanish,quier,stem2,[f(tns(pres)),root(querer)]). d i e t ( s p a n i sh,reunion,n,[f(fem( + ) ) , e n g l i sh(meeting)]). diet(Spanish,saber,v,[english(know),irr(*se' '), stem5(sabr)]). dict(spanish,sabr,stem5,[f(tns(fut)),root(saber)]). dict(spanish,sal,stem4,[f(tns(past)),root(salir)]). diet(Spanish,saldr,stem5,[f(tns(fut)),root(salir)]). diet(Spanish,salgo,v,[f([tns(pres),per(1),pl(-)]), root(salir)]). diet(Spanish,salir,v,[english(leave),irr(salgo),stem4(sal), stem5(saldr)]). diet(Spanish,ser,v,[english(be),irr([soy,eres,es,somos,son, era,eras,eramos,eran])]). diet(Spanish,somos,v,[f([tns(pres),per(1),pl(+)]),root(ser)]). diet(Spanish,son,v,[f([tns(pres),per(3),pl(+)]),root(ser)]). diet(Spanish,soy,v,[f([tns(pres),per(l),pl(-)]),root(ser)]). dict(spanish,suponer,v,[english(expect),perf(supuesto), irr([supongo])]). diet(Spanish,supongo,v,[f([per(l),pl(-),tns(pres)]), root(suponer)]). diet(spani sh,tendr,stem5,[f(tns(fut)),root(tener)]). diet(Spanish,tener,v,[english(have),irr([tengo,tuvimos, tuvieron]),stem2(tien),stem3(tuv),stem5(tendr)]). diet(Spanish,tengo,v,[f([tns(pres),per(l),pl(-)]), root(tener)]). 1  dict(spanish,tiempo,n,[english(time)]). diet(Spanish,tien,stem2,[f(tns(pres)),root(tener)]). diet(spani sh,tuv,stem3,[f(tns(past)),root(tener)]). diet(Spanish,tuvieron,v,[f([tns(past),per(3),pl(+)3), root(tener)]). dict(spanish,tuvimos,v,[f([tns(past),per(l),pl(+)]), root(tener)]). diet(spanish,v,steml,[f(tns(pres)),root(ir)]). diet(spanish,v,stem4,[f(tns(past)),root(ver)]). diet(spanish,vamos,v,[f([tns(pres),per(l),pl(+)]),root(ir)]). diet(Spanish,vender,v,[english(sell)]). diet(spanish,vendr,stem5,[f(tns(fut)),root(venir)]). diet(spanish,vengo,v,[f([per(l),pl(-),tns(pres)]), root(venir)]). diet(Spanish,venir,v,[irr([vengo,vinieron,viniendo]), stem2(vien),stem3(vin),stem5(vendr),english(come)]). diet(spanish,veo,v,[f([tns(pres),per(l),pl(-)]),root(ver)]). diet(spanish,ver,v,[english(see),perf(visto),irr([veo,vio]), stem4(v)]). diet(Spanish,verdad,n,[f(fem(+)),english(truth)]). diet(spanish,vien,stem2,[f(tns(pres)),root(venir)]). diet(spanish,vin,stem3,[f(tns(past)),root(venir)]). dict(spanish,viniendo,v,[f(prog(+)),root(venir)]). diet(spanish,vinieron,v,[f([tns(past),per(3),pl(+)]), root(venir)]). diet(spanish,vio,v,[f([tns(past),per(3),pl(-)]),root(ver)]). dict(spanish,visto,v,[f(perf(+)),root(ver)]). diet(spanish,voy,v,[f([tns(pres),per(l),pl(-)]),root(ir)]). diet(spanish,yendo,v,[f(prog(+)),root(ir)]).  Appendix D. Prolog Code - EXEC y**********************************************************/  /*  V  /* EXECUTIVE */ /* */ y**********************************************************^/ gb : readinput(SL,TL,Surface), !, morph(SL,Surface, NewSurface), !, parse(SL,NewSurface, Sstructure), write('...Parsed ), n l , !, rtransformation(SL,Sstructure, Dstructure), write( ...R-transformed'), n l , show(ds,'D-Structure =',Dstructure), !, bagof(TDstructure, translate(SL,Dstructure,TL, TDstructure), TDstructures), write('...Translated ), n l , !, transform_and_generate(TL,TDstructures). y******************************************************* 1  1  1  /*  CATEGORIAL ATTRIBUTES  ^**********************************************************^ is_trace([[X,F],e])  :- member(indx(_),F). member(ana(+),F).  is_nptrace([[n,F],e])  member(ana(-),F),  is_variable([[X,F],e])  member(pro(-),F)  member(pro(+),FN), not member(indx( ),FN).  i s _pro([[n,FN],e]) is  */  PRO([[n,[]],e])  is_sdeleter(L,W,C)  :-  extractLocal(L,W,C,_,sdel,[+]).  i s _ t r a n s i t i v e ( L , V ) :- extract(L,V,v,_,subcat,[n]). l e x i c a l ( [ _ , e ] ) :- ! , f a i l . lexical(e) :- ! , f a i l . lexical(_). index([[X,[indx(I)|_]]|_], I ) . features([[_,F]|_],F).  ^**********************************************************/ /*  AUXILIARY PREDICATES  ^/**********************************************************/  */  /* Extract Args from current word and Root word only */ extractLocal(L,W,C,RW,Funct,Args) :dict(L,W,C,Lexinfo), extractFunc(Lexinfo,Funct,AW), extractRoot(L,W,C,Lexinfo,RW,_,Funct,AR), combineF(AW,AR,Args).  132  /* Extract Args from current word, Root, and English root */ extract(L,W,C,RW,Funct,Args) :dict(L,W,C,Lexinfo), extractFunc(Lexinfo,Funct,AW), extractRoot(L,W,C,Lexinfo,RW,RLexinfo,Funct,AR), extractEngl(L,C,RLexinfo,Funct,AE), combineF(AW,AR,Ax), combineF(Ax,AE,Args). /* Extract Args from given l e x i c a l i n f o */ extractFunc(Lexinfo,Funct,Args) :X =.. [Funct,A], member(X,Lexinfo), makelist(A,Args). extractFunc(Lexinfo,Funct,[]) :X =.. [Funct,_], not member(X,Lexinfo). /* Extract Args from root word, i f one exists */ extractRoot(L,_,C,Lexinfo,Root,RLexinfo,Funct,Args) :member(root(Root),Lexinfo), !, diet(L,Root,C,RLexinfo), not member(root(_),RLexinfo), extractFunc(RLexinfo,Funct,Args). extractRoot(_,W,_,Lex,W,Lex,_,[]). /* For Spanish words, extract Args from i t s English translation, which must e x i s t . extractEngl(Spanish,C,RLexinfo,Funct, Args) :member(english(expr([w|Expr])),RLexinfo), diet(english,W,C,ELexinfo), member(expr([Expr|Expr_info]),ELexinfo), extractFunc(Expr_info,Funct, Args). extractEngl(Spanish,C,RLexinfo,Funct, Args) :member(english(EW),RLexinfo), makelist(EW,EWlist), member(EW1,EWli s t ) , diet(english,EWl,C,ELexinfo), not member(root(_),ELexinfo), extractFunc(ELexinfo,Funct,Args). extractEngl(english,[]).  /*  */  */  get_expr(L,C,expr([w|Expr]),Args,[w|Sl],S2) :rootword(L,W,C, RW), diet(L,RW,C,Lexinfo), member(expr([Expr|Expr_info]),Lexinfo), exprjnember(Expr,S1, S2), extractEngl(L,C,Expr_info,subcat, Args). expr_member([],S,S). exprjnember([W|X],[w|Y],Z) /* rootword(L,W,C,RootW) :dict(L,W,C,Lexinfo),  :- exprjnember(X,Y,Z). */  member(root(R),Lexinfo), !, RootW = R. rootword(L,W,C,W) :- dict(L,W,C,_). /*  combineF([],F,F) :- !. combineF(F,[],F) :- !. combineF(WF,[Rl|Rs],F) :mbrtype(Rl,WF), combineF(WF,Rs,F). combineF(WF,[Rl|Rs],[Rl|F]) not mbrtype(Rl,WF), combineF(WF,Rs,F).  */  /* i f R l already i n WF, */ /* WF takes precedence */ :-  mbrtype(R,W) :R =.. [RA,_], !, X =.. [RA,_], member(X,W). mbrtype(R,W) :- member(R,W) /* _. must_appear([], ) :- !. must_appear([FljFs],F2) :member(FI,F2), !, must_appear(Fs,F2). must_agree([], ). must_agree([FljFs],F2) :featureagree(Fl,F2), must agree(Fs,F2).  /* add R l t o WF i f not */ /* already i n WF */ /* f o r ' f features */  /* f o r 'subcat' */ */ /* ALL members of A r g l */ /* must be i n Arg2 */  /* I f A r g l i s i n Arg2, */ /* i t must agree */  featureagree(_,[3)• featureagree(Fl,[F2|_]) :Fl=..[Al,Vl3, F2=..[A1,V2], !, V1=V2. featureagree(Fl,[_|F2]) :featureagree(Fl,F2). /* */ feature_union(Fl,F2,F3) :- must_agree(Fl,F2), union(F1,F2,F3) /* */ g e t ( F t y p e , F l i s t , [ F ] ) :- F=..[Ftype,_], member(F,Flist), !. get(_,_,[]).  ^***************************************** /* GENERAL PURPOSE PREDICATES ^*****************************************  */  member(X,[X J ) member(X,[ Y]) :- member(X,Y). union(X,[3,X) union([3,X,X) union([X R3,Y,Z) union([X R 3 , Y , [ X | Z ] )  - member(X,Y), !, union(R,Y,Z). - union(R,Y,Z).  append([3,L,L). append([x|Ll],L2,[x|L3]) :- append(Ll,L2,L3) subtract(L,[3,L) subtract([H T],L,U) subtract([H T ] , L , [ H | U ] )  - I  - member(H,L), !, subtract(T,L,U). - !, subtract(T,L,U).  135 subtract(_,_,[]). makelist([],[]) :- !. makelist([H|T],[H|T]) :- !. makelist(X,[X]).  ^**********************************************************^ /*  PRETTY-PRINTING  y********************************************************  */  show(Type,Label,Tree) :showon(Type), n l , display(Label), n l , prettyprint(Tree,0), n l , n l . show(_,_,_).  prettyprint(e,_). /* don't p r i n t empty categories */ prettyprint([],_). prettyprintC[[X,F]|T],I) :n l , tab(I), display(X),display(' '),display(F), J i s 1+2, ppx(T,J). prettyprint([H|T],I) :- tab(I), prettyprint(H,I), prettyprint(T,I). prettyprint(X,I) :- n l , tab(I), display(X). ppx([],_). ppx([H|T],I) :- prettyprint(H,I), ppx(T,I).  Appendix E . Prolog Code - R E A D I N P U T  y******************************************* /*  /* READINPUT /* y******************************************** readinput(SLang,TLang,Surface) :display('Enter source language: ' ) , read(Input), readinput2(Input,SLang,TLang,Surface). readinput2('ds',SLang,TLang,Surface) :assert(showon(ds)), readinput(SLang,TLang,Surface). readinput2('nds',SLang,TLang,Surface) :retract(showon(ds)), readinput(SLang,TLang,Surface). readinput2(SLang,SLang,TLang,Surface) :display('Enter target language: ' ) , read(TLang), display('Enter sentence i n ' ) , display(SLang), display(': '), read_in(Surface). ^******************************************** /* Read sentence: Clocksin & M e l l i s h p.87-88 read_in([w|ws]) :getO(C), readword(C,W,Cl), restsent(W,Cl,Ws). readword(C,W,Cl) :single_character(C), !, name(W,[C]), getO(Cl). readword(C,W,C2) :in_word(C,NewC), !, getO(Cl), restword(Cl,Cs,C2), name(W,[NewC|Cs]). readword(_,W,C2) :- getO(Cl), readword(Cl,W,C2) restword(C,[NewC|Cs],C2) in_word(C,NewC), !, getO(Cl), restword(Cl,Cs,C2). restword(C,[],C). restsent(W,_,[]) :- lastword(W), !. restsent(_,C,[Wl|Ws]) :- readword(C,Wl,Cl), restsent(WT,CI,Ws). in_word(C,C) :- 0 9 6 , C « 1 2 3 . in_word(C,L) :- C>64, C « 9 1 , L i s C+32. in_word(C,C) :- 0 4 7 , C « 5 8 . in_word(39,39). lastword('.'). 136  /* a /* A /* 0 /* '  ... z */ ... Z */ 1...9 */ */  lastwordC?'). single_character(63) single_character(46)  Appendix. F. Prolog Code -  MORPH  /**********************************************************^  /* /*  /*  V MORPHOLOGICAL ANALYSIS  ^**********************************************************^  */  V  morph(L,[],[]). morph(L,Surface,Newsurface) :contract(L,Surface,Surfacel), collocate(L,Surfacel,Newsurface), morphl(L,Newsurface). morphl(_,[]). morphl(L,[w|S]) :- morph_word(L,W), morphl(L,S). morph_word(_,'.'). morph_word(_,'?'). morph_word(L,W) :- dict(L,W,_,_). morph_word(L,W) :- suffixanalysis(L,W). morph_word(L,W) :- update_dict(L,W). morph_word(_,_). /*  */  contract(_,[],[]). contract(L, [A|S1], [B,C|S2]) :- c o n t r a c t i o n ^ , A , [B,C]) , contract(L,SI,S2). contract(L,[x|Sl],[x|S2]) :- contract(L,SI,S2). collocate(_,[],[]). collocated,[A,B,C,D|S1],[E|S2]) :collocation(L,[A,B,C,D],E), collocate(L,Sl,S2). c o l l o c a t e U , [A,B|S1], [c|S2]) :collocation(L,[A,B],C), collocate(L,Sl,S2). collocate(L,[X|S1],[X|S2]) :- collocate(L,Sl,S2). y*************************************************** suffixanalysis(L,W) :suffixtable(L,Sfx,RootEnd,SfxC,SfxF), split(Stem,Sfx,W), split(Stem,RootEnd,Root), addinfl(L,W,Root,SfxC,SfxF), !. /* category type: stem_ */ addinf1(spani sh,W,Root,Stem,Sf xF) :name(Stem,[S,T,E,M|_]), name(stem,[S,T,E,M]), rootword(Spanish,Root,Stem,RootW), !, diet(spanish,RootW,C,_), /* root i s modal or verb */ addinf1(spani sh,W,RootW,C,SfxF). addinf1(L,W,Root,C,SfxF) :extractLocal(L,Root,C,Root,f,RootF), combineF(SfxF,RootF,F), adddict(L,W,Root,C,F), !,fail.  138  split(Stem,[],Stem) :- !. /* for stems with n u l l endings */ split(Stem,Sfx,W) :var(Stem), !, /* Find Stem, given W */ name(W,Wlist), name(Sfx,Sfxlist), append(Stemlist,Sfxlist,Wlist), name(Stem,Stemlist). split(Stem,Sfx,W) :/* Find W, given Stem */ name(Stem,Stemlist), name(Sfx,Sfxlist), append(Stemlist,Sfxlist,Wlist), name(W,Wlist). adddict(L,W,RootW,C,F) :uniqueadd(L,W,C,RootW,F), assert(dict(L,W,C,[f(F),root(RootW)])), display('Added:'), n l , display(dict(L,W,C,[f(F),root(RootW)])), n l . uniqueadd(L,W,C,_,_) :- not dict(L,W,C,_). uniqueadd(L,W,C,RootW,_) :dict(L,W,C,Lexinfo), not member(root(RootW),Lexinfo). uniqueadd(L,W,C,_,F) :dict(L,W,C,Lexinfo), member(f(FI),Lexinfo), makelist(Fl,Fllist), not u n i o n ( F l l i s t , [ ] , F ) . y***************************************** update_dict(L,W) :not dict(L,W,_,_), display('Do you want to add " ' ) , display(W), display('"? ' ) , read(Reply), process_reply(L,Reply,W). process_reply(L,y,W) :/* Yes, add to dictionary */ display('Enter category: ' ) , read(C), display('Enter l e x i c a l i n f o : ' ) , read(Lexinfo), assert(dict(L,W,C,Lexinfo)), display('Perm add:'), n l , display(dict(L,W,C,Lexinfo)), n l , tell(L), write(dict(L,W,C,Lexinfo)), put(46), n l , tell(user). process_reply(L,t,W) :display('Enter category: ' ) , display('Enter l e x i c a l i n f o : assert(dict(L,W,C,Lexinfo)), display('Temp add:'), n l , display(diet(L,W,C,Lexinfo)),  /* Temp add to dictionary */ read(C), ' ) , read(Lexinfo),  process_reply(L,r,W) :-  /* Add Root to dictionary */  nl.  display('Enter root: ' ) , read(Root), display('Enter category: ' ) , read(C), display('Enter l e x i c a l i n f o : ' ) , read(Lexinfo), assert(dict(L,Root,C,Lexinfo)), display('Root add:'), n l , display(dict(L,Root,C,Lexinfo)), n l , tell(L), write(dict(L,Root,C,Lexinfo)), put(46), n l , tell(user), morph_word(L,W). /* now re-morph word process reply( , , ) :- abort.  Appendix G . Prolog Code -  /*  /*  CORE GRAMMAR:  Core  Grammars  English  /* y****************************************  V  */  */  null_subject(english, /* Base to Surface */ [[comp,FC],WH,[e,COMP, [[infl,Fl],BaseNP,INFL]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],[[n,FN],e,[e,N]],INFL]]|Post]) :not var(BaseNP), not lexical(BaseNP), not is_trace(BaseNP), not member(tns(-),FI), !, /* EC i s not PRO */ english_pronoun(N), assign_features(english,N,FI,FN). null_subject(english,COMP,COMP). /* Surface to Base */ assign_features(L,N,FI,FN) :extractLocal(L,N,n,_,f,F1), defaultF(L,n,Fl, FN), !, must agree(FI,FN). english_pronoun(he). english_pronoun(it). /* ecm(english,V) :is_sdeleter(english,V,v), is_transitive(english,V). /* proper_governor(english,v). proper_governor(english,p).  english_pronoun(she). english_pronoun(they). /* Exceptional Case Marking /* verb must be: /* sbar-deleter /* & t r a n s i t i v e  /*  */ */ */ */ */ */  */  bounding_cat(english,infl). bounding_cat(english,n).  y****************************************** /*  INSERTION RULES  y***************************************  */  it_insertion(english, /* base to surface */ [[comp,FC],WH,[e,COMP, [[infl,BaseFl],[[n,[]],e],INFL]]|Post], [[comp,FC],WH,[e,COMP,. [[infl,Fl],[[n,FN],e,[e,it]],INFL]]|Post]) :var(FN), member(theta(-),BaseFI), makelist([per(3),pl(-)],FN), union(BaseFI,FN,FI), !. it_insertion(english, /* surface to base */ [[comp,FC],WH,[e,COMP, [[infl,Fl],[[n,[]],e],INFL]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],[[n,FN],e,[e,it]],INFL]]|Post]) :141  not var(FN), member(theta(-),FI), !. it_insertion(_,COMP,COMP).  /*  /* i f non-matrix COMP i s empty, and clause i s tensed, /* assign a default l e x i c a l COMP. comp_insertion(english,matrix(-), [[comp,FC],WH,[e,e,INFL]|Post], [[comp,FC],WH,[e,that,INFL]|Post]) :features(INFL,FI), not member(tns(-),FI). comp_insertion(english,_,COMP, COMP). / modal_insertion(english,[[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,e,VP]]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,to,VP]]]|Post]) : member(tns(-),FI), !. modal_insertion(english,[[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,e,VP]]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,will,VP]]]|Post]) member(tns(fut),FI), !. modal_insertion(_,COMP,COMP).  /*  do_support(engli sh,matrix(+),ques, [[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,e,VP]]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,do,VP]]]|Post]) :lexical(NP), not member(tns(fut),FI), not member(perf(+),FI), not member(prog(+),FI), not member(pass(+),FI), !. do_support(_,_,_,COMP,COMP). y************************************************** /* INVERSION RULES y**************************************  adjunct(english,W) — > [W], { diet(english,W,inf1,_), !, not W=to }. adjunct(english,W) — > [ w ] , { diet(english,W,perf,_) }. adjunct(english,W) — > [W], { dict(english,W,prog,_) }. inversion(english,Matrix,Mode,BaseCOMP,SurfaceCOMP) havebe_raising(BaseCOMP, COMP1), sai(Matrix,Mode,COMP1, SurfaceCOMP).  :-  rinversion(english,SurfaceCOMP, BaseCOMP) :sai(_,_,COMPl, SurfaceCOMP), havebe_raising(BaseCOMP, COMP1). /* Subject-AUX-Inversion sai(matrix(+),ques,[[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,INFL,VP]]]|Post],  -: ( [ } S O d | [ [ l d N l ' d N ' [ l d ' T 5 U T ] ] 'dWOO'9] 'HM [Dd'duico] ] '[^sodlCtlJNl'ECN'al'a'tNd'ujj'tid'TJUT]] 'dWCO's] 'HM' [Dd'duiCO] ] asnq o i aoHjjns */ 'qsTxreds^oaCqns 1  ijnu  /* */ /* qsxueds :HVWWWH9 SHOD */ /* */ /****************************************_******************/ • (M'fitiT'A)^Tlds -: (M' 'A yjSTXfiUB)6oJd ua6 • (M'6uT'ure^S)4TTds _ ' (A'3'ura^S)3-TTds -: (M' 'A'^^xBuB)&ojdi~ua6 •(ojuxxai'(M)6ojd)jaquiaui -: ( M ' O J U T X B T ' q s T x 6 u a ) 6 o j d ~ u a 6 1  -  i _  ' (M'ua'A)lTTds -: (M 'A^STX6UB)JjacTuaB •(M'u9'urais)lTTds '(A'9'ura^S)lTlds -: (M'~'A/qsTx6ua)ijacr~ua6 • (ojUTxaq'(M)J-iad)jaquraui -: (M'oiuTxai' 'nsfiBua)jjacTuaB /**********************************************************/ saTjB-rxT P333ST? T a^ejauao */ /******************************************_****************/ '(d'd' 'qsTxBua) j^xnejap , _  xnB  /* SNflON */ sajn^saj x ^ O T x a q /„  ix 3 <I n B  a  U  'i '(ed'Zd'-'Td)^xnHjap '(Zd'Td'£'Jad)ixneiap - : (ed'Td'u'irsTxBua^lxnejap */  _ •aq=A }OU '(Ad'( ) s u ^ ) jaqutaui }ou '(Id'( ) sxr}) jaquiaui q.ou -: (sajd)su^] A ' A d ' l d ' q s T x 6 u a ) s u ^ x n e 3 a p '(Id'( )suq.) jaquiaui ^ou ' (Ad' O s u } ) jaquiaui -: ( i £ ' A d ' l d ' q s T x 6 u a ) s u ^ x n e j a p *(Ad'( )su:j.) jaquiaui }OU ' (Id' O s u } ) jaquiaui -: (id 'Ad'ld'USTT6ua)su^ ^xnH3ap 1  i -  ,-  _  / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /  /*  smod  nnvdaa  */  (dW0D'dW03)6uTSTHj aqaABq ' ( ( '6oad'xd't[STx6ua)iOTp I ( 3jad'xd'MSTT ua)^o-rp ) ([}SOd|[[[[AlSOd|[S6JV|A'9]'3d'[Ad'A]] 'Id's]'dN'[ld'T3UT]] 'dWOD's] 'HM'[Di'duioo]] •j  - ,  -:  6  '[^SOd|[[[[AlSOd|[s6jv|A'Zd]'Td'[AJ'A]] 'S'3]'dN'[ld'T3UT]] 'dWCO'9] 'HM' [Dd'duioo] ] ) 6 U T S T H j aqaABu;  •i  '(dWCO'dWOO' ' -: ([^sod|[[[[dA's's]'dN'[IJ'T3UT]] 'idNl'flJ'TJUT]] 'dWOD'a] 'HM'[Dd'duioo]]  )T^S  var(N), not l e x i c a l ( N P ) , ( member(per(1),FI) ; member(per(2),FI) ), spanish_pronoun(N), assign_features(Spanish,N,FI,FN). nu11_sub j ect(spani sh,COMP,COMP). null_subject(Spanish, /* base t o surface */ ttcomp,FC],WH,[e,COMP, [[infl,Fl],[[n,FN],e,[e,N]],INFL]]|Post], t[comp,FC],WH,[e,COMP, [ [ i n f l , F I ] , [ [ n , F N ] , e ] , I N F L ] ] | P o s t ] ) :not var(N), member(pro(+),FN). /* delete i f l e x i c a l pronoun */ spanish_pronoun(yo). spanish_pronoun(nosotros). spanish_pronoun( tu' '). 1  1  /*  */  /*  */  proper_governor(spani sh,v). proper_governor(spani sh,inf1). bounding_cat(Spanish,comp). bounding_cat(Spanish,n). /* INSERTION RULES y************************************* /* i f non-matrix COMP i s empty, and clause i s tensed, /* assign a d e f a u l t l e x i c a l COMP. comp_insertion(Spanish,matrix(-), [[comp,FC],WH,[e,e,INFL]|Post], [[comp,FC],WH,[e,que,INFL]|Post]) :features(INFL,FI), not member(tns(-),FI), !. comp_insertion(Spanish,_,COMP, COMP). /************************************ /* RESTRUCTURING RULES adjunct(Spanish,expr(W)) — > restructure(W), { !, not W=[e,e,e,e] }. restructure([e,e,e,V]) — > [ v ] , { diet(spanish,V,v,Data), member(root(_),Data) }. restructure([e,e,P2,V]) — > [P2,V], { diet(spanish,P2,prog,Data), member(root(_),Data), dict(Spanish,V,v,_) }. restructure([e,e,P2,e]) — > [P2], { diet(spanish,P2,prog,Data), member(root(_),Data) }. restructure([e,Pl,e,V]) —> [ P l , v ] , { diet(Spanish,PI,perf,Data), member(root(_),Data), diet(spanish,V,v, ) }. r e s t r u c t u r e ( [ e , P l , P 2 , v T ) — > [P1,P2,V], { diet(Spanish,PI,perf,Data),  */ */ */  */  145  member(root(_),Data), diet(Spanish,P2,prog,_), dict(spanish,V,v,_) }. r e s t r u c t u r e ( [ e , P l , P 2 , e ] ) — > [P1,P2], { dict(Spanish,PI,perf,Data), member(root(_),Data), diet(spanish,P2,prog,_) }. r e s t r u c t u r e ( [ l , e , e , V ] ) —> [ l , V ] , { diet(Spanish,I,inf1,Data), member(root(_),Data), dict(spanish,V,v,_) }. r e s t r u c t u r e ( [ l , e , P 2 , V ] ) — > [l,P2,V], { diet(Spanish,I,inf1,Data), member(root(_),Data), diet(Spanish,P2,prog,_), dict(spanish,V,v,_) }. r e s t r u c t u r e ( [ l , e , P 2 , e ] ) ~> [ l , P 2 , e ] , { diet(Spanish,I,inf1,Data), member(root(_),Data), diet(Spanish,P2,prog,_) }. restructure([l,Pl,e,V]) — > [l,Pl,V], { diet(Spanish,I,inf1,Data), member(root(_),Data), diet(Spanish,PI,perf,_), dict(spanish,V,v,_) }. restructure([I,P1,P2,V]) — > [ l , P l , P 2 , V ] , { diet(Spanish,I,infl,Data), member(root(_),Data), diet(Spanish,PI,perf,_), diet(spanish,P2,prog,_), dict(spanish,V,v,_) }. r e s t r u c t u r e ( [ I , P l , P 2 , e ] ) —> [ l , P l , P 2 ] , { diet(Spanish,I,inf1,Data), member(root(_),Data), dict(Spanish,PI,perf,_), diet(Spanish,P2,prog,_) }. r e s t r u c t u r e ( [ l , e , e , e ] ) —> [ I ] , { diet(Spanish,I,inf1,Data), member(root(_),Data) }.  /**********************************************************  /*  '  INVERSION RULES  /**********************************************************/  parse_inversion(Spanish,expr([_,_,_,V]), [[infl,[]],NP,[e,e, [[v,[]],e,[e,e|Args]|PostV]]]) — > { lexical(V), extractLocal(spanish,V,v,_,f,FV) }, parse_subject(FV,NP), parse_inversion2(V,Args), postadjunct(Spanish,v,PostV). parse_inversion(L,_,INFL) — > x2(L,inf1,INFL). parse_inversion2(V,Args) — > { extract(spanish,V,v,_,subcat,SUBCAT) }, arguments(Spanish,SUBCAT,Args). parse_inversion2(V,Args) — >  ^  */  { extract(spani sh,V,v,_,subcat,SUBCAT) }, emptyArgs(Spanish,SUBCAT,Args). parse_subject(FV,NP) — > x2(Spanish,n,NP), { percolate(Spanish,NP,[[n,FN]|_]), must_agree(FN,FV) }. parse_subject(FV,[[n,[]],e,[e,N]]) --> [], { ( member(per(1),FV) ; member(per(2),FV) ), !, spanish_pronoun(N), assign_features(spanish,N,FV,_) }. parse_subject(_,[[n,[]],e]) — > [ ] . inversion(spanish,_,_,BaseCOMP, SurfaceCOMP) :member([comp,FC],Ba s eCOMP), member(wh(+),FC), !, /* o b l i g for wh- i n COMP */ v_preposing(BaseCOMP, SurfaceCOMP). inversion(spanish,matrix(+),ques,BaseCOMP, SurfaceCOMP) :!, v_preposing(BaseCOMP, SurfaceCOMP). inver s ion(spani sh,_,_,COMP,COMP). rinversion(Spanish,SurfaceCOMP, BaseCOMP) :v_preposing(BaseCOMP, SurfaceCOMP), !. rinversion(Spanish,COMP,COMP). v_preposing([[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,BaseINFL, [[v,FV],BasePERF, [BasePROG,BaseVERB|Args]|PostV]]]]|PostC], [[comp,FC],WH,[e,COMP, [[inf1,FI],expr(Adjunct), [[infl,Fl],NP,[e,INFL, [[v,FV],PERF, [PROG,VERB|Args]|PostV]]]]]|PostC]) :makelist([BaselNFL,BasePERF,BasePROG,BaseVERB], Base), makelist([INFL,PERF,PROG,VERB], Surface), v_prepose(Base,Surface,Adjunct). v_prepose([e,e,e,V],[e,e,e,e],[e,e,e,V]) v_prepose([e,e,P2,V],[e,e,e,e],[e,e,P2,V]). v_prepose([e,e,P2,V],[e,e,e,V],[e,e,P2,e]) v_prepose([e,Pl,e,V],[e,e,e,e],[e,Pl,e,V]) v_prepose([e,Pl,P2,V],[e,e,e,e],[e,Pl,P2,V]). v_prepose([e,Pl,P2,V],[e,e,e,V],[e,Pl,P2,e]) v_prepose([l,e,e,V],[e,e,e,e],[l,e,e,V]). v_prepose([l,e,e,V],[e,e,e,V],[lre,e,e]) v_j)repose([l,e,P2,V],[e,e,e,e],[l,e,P2,V]). v_prepose([l,e,P2,V],[e,e,e,V],[l,e,P2,e]). vjprepose([l,e,P2,V],[e,e,P2,V],[l,e,e,e]) v_prepose([l,Pl,e,V],[e,e,e,e],[l,Pl,e,V]). v_prepose([l,Pl,e,V],[e,Pl,e,V],[l,e,e,e])  -  i  -  i  -  i  147  v_prepose([l,Pl,P2,V],[e,e,e,e],[l,Pl,P2,V]). v _prepose([l,Pl,P2,V],[e,e,e,V],[l,Pl,P2,e]). vj>repose([l,Pl,P2,V], [e,Pl,P2,V], [l,e,e,e]) :- !. y******************************************  /*  DEFAULT FORMS  */  y*************************************  default_tns(spanish,FI,FV,_, FI) :- member(tns(_),FI), not member(tns(_),FV). default_tns(Spanish,FI,FV,_, FI) :- member(tns(_),FV), not member(tns(_),FI). default_tns(spanish,FI,FV,_, [ t n s ( - ) | F l ] ) :not member(tns(_),FI), not member(tns( ),FV). defaultF(spanish,n,Fl,F4) :default(per,3,FI,F2), default(pl,-,F2,F3), default(fem,-,F3,F4), !.  /  /* Default L e x i c a l Features */ /* NOUNS */  def au1tF(spani sh,art,Fl,F3) default(pl,-,Fl,F2), default(fem,-,F2,F3), !.  /* ARTICLES */  defaultF(Spanish,_,F,F). y********************************************  /*  Generate i n f l e c t e d a u x i l i a r i e s  y*******************************************  gen_per f ( s p a n i sh,_,Lexinfo,W) gen_perf(spani sh,V,_,W) gen_perf(spani sh,V,_,W) gen_perf(spanish,V,_,W) gen_prog(spani sh,_,Lexinfo,W) gen_prog(spanish,V,_,W) gen_prog(spani sh,V,_,W) gen_prog(spani sh,V,_,W)  member(perf(W),Lexinfo) split(Stem,ar,V), split(Stem,ado,W). split(Stem,er,V), split(Stem,ido,W). split(Stem,ir,V), split(Stem,ido,W). member(prog(W),Lexinfo) split(Stem,ar,V), split(Stem,ando,W). split(Stem,er,V), split(Stem,iendo,W). split(Stem,ir,V), split(Stem,iendo,W).  y**************************************  /*  AUXILIARY PREDICATES  y******************************************  default(Feature,Value,Fin,Fout) FI =.. [Feature,Value], F2 =.. [Feature,_], default2(Fl,F2,Fin,Fout).  */  :-  default2(_,F2,Fin,Fin) :- member(F2,Fin), !. default2(Fl, ,Fin,[FllFin]).  7 */  Appendix H. Prolog Code - XBAR ^*****************************************  /*  /*  V  X-BAR SYSTEM  */  /* ^***************************************  */  parse(L,Surface,Sstructure) :x2(L,comp,Sstructure,Surface,[]). /* x2  0_'_) 0_0  x 2  */  —> —>  [?]» {!,fail}. [•], {!,fail}.  x2(L,inf1,[[infl,[3],ADJU,INFL]) — > adjunct(L,ADJU), parse_inversion(L,ADJU,INFL).  /* Inversion */  x2(L,C,[[C,[]],Spec,HD|Post]) — > specifier(L,C,Spec), xl(L,C,HD), postadjunct(L,C,Post). /* xl(L,C,[Pre,HD|Complement]) — > preadjunct(L,C,Pre), x(L,C,HD,Args), arguments(L,Args,Complement). xl(L,C,[Pre,HD|Complement]) — > preadjunct(L,C,Pre), x(L,C,HD,Args), emptyArgs(L,Args,Complement).  */  /*  x(L,C,HD,Args) x(L,C,W,Args) x(_,comp,e,[inf1]) x(_,infl,e,[v])  */  — > get_expr(L,C,HD,Args). — > [W], { extract(L,W,C,_,subcat, Args) }. —> [ ] . —> [ ] .  ^***************************  /*  J  SPECIFIER STRUCTURES:  /********************************************  */  specifier(L,comp,WH) — > wh_phrase(L,WH). specifier(L,inf1,NP) — > x2(L,n,NP). s p e c i f i e r ( _ , i n f 1, [[n, []],e]) — > [ ] , {.'}. specifier(L,n,W) — > [W], { dict(L,W,art,_) }. specifier(L,v,W) — > [W], { dict(L,W,perf,_) }. specifier(L,v,W) — > [W], { dict(L,W,prog,_) }. specifier(_,_,e) —> [ ] . /* optional */ ^******************************************* /*  ADJUNCT STRUCTURES:  y********************************************  */  preadjunct(L,v,W) —> [w], { dict(L,W,prog,_) }. preadjunct(_,_,e) — > [ ] . /* optional */ /* */ postadjunct(_,n,[]) — > [ ] . /* optional f o r NPs */ postadjunct(L,n,[PP|ADJU]) — > {!}, x2(L,p,PP), {!}, postadjunct(L,n,ADJU). 148  postadjunct(L,v,[PP|ADJU]) — > x2(L,p,PP), {!}, postadjunct(L,v,ADJU). postadjunct(_,comp,[[mode,decl]]) — > [.], {!}. postadjunct(_,comp,[[mode,ques]]) — > [ ? ] , { ! ) • postadjunct(_,_,[]) — > [ ] . /* o p t i o n a l */ ^******************************************* /* ARGUMENT STRUCTURES: */ y****************************************** arguments(_,[],[]) —> [ ] . arguments(L,[Al|As],[ARGl|ARGS]) ~> parseArg(L,Al,ARG1), arguments(L,As,ARGS). parseArg(L,{Arg},TREE) parseArg(L,Arg,TREE)  — > optionalArg(L,Arg,TREE). — > x2(L,Arg,TREE).  optionalArg(L,Arg,TREE) — > par seArg(L,Arg,TREE). optionalArg(_,_,[]) —> [ ] . emptyArgs(L,[Al|As],[Argl|Args]) — > parseArg(L,Al,Argl), emptyArgs(L,As,Args). emptyArgsCL,[n|As],[[[n,[]],e]|Args]) ~ > emptyArgs2(L,As,Args). emptyArgs(L,[p|As],[[[p,[]],e]|Args]) — > emptyArgs2(L,As,Args). emptyArgs2(_,[],[]) emptyArgs2(L,[Al|As],[Argl|Args])  —> []. — > parseArg(L,Al,Argl), emptyArgs2(L,As,Args). ^****************************************** /* WH-PHRASE */ y******************************************* wh_phrase(L,TREE) — > x2(L,n,TREE), { wh_test(L,TREE) }. wh_phrase(L,TREE) — > x2(L,p,TREE), { wh_test(L,TREE) }. wh_test(L,[[p,_],_,[_,_,TREE]]) :percolate(L,TREE,TREEl), features(TREE1,F), member(wh(+),F). wh_test(L,TREE) :percolate(L,TREE,TREEl), features(TREEl,F), !, member(wh(+),F).  /* t e s t f o r wh-NP */ /* w i t h i n PP */  Appendix I. Prolog Code - RTRANSFORM y**********************************************************^ /*  /* /*  REVERSE-TRANSFORMATIONS  V  */ */  rtransformation(L, COMP1, COMP11) :rinversion(L, COMP1, COMP2), percolate(L, COMP2, COMP3), rmove_affix(L, COMP3, COMP4), theta_extraction(COMP4, COMP5), do_Support(L,_,_,COMP6, COMP5), i t _ i n s e r t i o n ( L , COMP7, COMP6), null_subject(L, COMP8, COMP7), rmove_alpha( COMP8, COMP9), wh_feature_extraction(COMP9, COMP10), rtransform lower(L, COMP10, COMP11). rtransform_lower(L,[[comp,FC],WH,[e,COMP Argsl] Post], [[comp,FC],WH,[e,COMP Args2] Post]) :rtransform2(L,Argsl,Args2). rtransf orm2 (_,. [ ] , [ ] ) . rtransform2(L,[HI|T1],  [H2|T2]) :- rtransform3(L,HI,H2), rtransform2(L,Tl,T2).  rtransform3(L,[[comp,FC1]|COMP1], [[comp,FC2]|C0MP2]) :rtransformation(L,[[comp,FCl] COMPl], [[comp,FC2] COMP2]). rtransform3(L,[[CP,FC],SC,[PC,C Argsl] Post], [[CP,FC],SC,[PC,C Args2] Post]) :rtransform2(L,Argsl,Args2).  y**********************************************************^'  /*  FEATURE PERCOLATION  */  y**********************************************************^'  percolate(_,X,X)  :- not l e x i c a l ( X ) .  /* empty NP or PP */  percolate(L,[[v,[]],P1,[P2,V Argsl] PostVl], /* bypass VP */ [[v,[]],P1,[P2,V Args2] PostV2]) :perc_compl(L,Argsl,Args2), perc compl(L,PostVl,PostV2). percolate(L,[[C,[]],Specl,HDl P o s t l ] , [[C,F], Spec2,HD2 Post2]) :• perc_xl(L,C,HDl, HD2,FHD), perc_specword(L,C,Specl, Spec2,FSC), feature_union(FSC,FHD,F), perc_compl(L,Postl,Post2). perc_xl(L,C,[e,HD1 Complementl], [e,HD2 Complement2], F) :perc_word(L,C,HDl, HD2,F), perc compl(L,Complementl, Complement2) perc_compl(_,[], []) 150  perc_compl(_,[[mode,M]],[[mode,M]]) :- !. perc_compl(L,[Hl|Tl], [H2|T2]) :perc_compl2(L,Hl, H2), perc_compl(L,T1, 12). perc_compl2(_,[[comp,FC]|COMP], [[comp,FC]|COMP]) :- !. perc_compl2(L,X,Y) :- p e r c o l a t e ( L , X , Y ) . /*  perc_word(_,_,e,e,[])  /  :- !.  p e r c _ w o r d ( L , _ , [ [ X , _ ] | Y ] , [ [ X , F ] | Z ] , F ) :!, p e r c o l a t e ( L , [ [ X , J | Y ] , [ [ X , F ] Z ] ) , !.  /* empty word */ /* phrase */  per c_wordd,C, expr ( [W|T] ) , expr( [RW T]) ,F) :- /* expr'n */ !,extractLocal(L,W,C,RW,f, F I ) , defaultF(L,C,Fl, F). perc_wordd,C,W, RW,F) :/* l e x i c a l word */ !,extractLocal(L,W,C,RW,f, F I ) , defaultFd,C,Fl, F). /* */ perc_specword(_,_,e,e,[]) perc_specword(L,n,W,RW,F) - perc_word(L,art,W,RW,F) perc_specword(L,comp,W,RW,F) - perc_word(L,_,W,RW,F). per c_ spec word (L, i n f 1, W, RW, F) - perc_word(L,_,W,RW,F). 1  y  T  /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  REVERSE AFFIX MOVEMENT  I  */  rmove_affix(L, [[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,INFL, [[v,[]],PERF,[PROG,v|Args]|PostV]]]]|PostC], [[comp,FC],WH,[e,COMP, [[infl,BaseFl],NP,[e,INFL, [[v,FV],e,[e,BaseV|Args]|PostV]]]]|PostC]) rmove_participle(L,PERF,PROG,V, BaseV,FV), default_tns(L,FI,FV,V,FIl), /* language-dependent union(FIl,FV,FI2), /* merge VP&INFL f e a t . features(NP,FNP), feature_union(FNP,FI2,BaseFI). /* merge NP&INFL f e a t .  :*/ */ */  /* expressions */ rmove_participle(L,PERF,PROG,expr([H|T]), expr([BaseH|T]),FV) :!, rmove_participle(L,PERF,PROG,H,BaseH,FV). rmove_j?articiple(L,e,e,V,V,F) :dict(L,V,v,Lexinfo), not member(root(_),Lexinfo), extractFunc(Lexinfo,f,F).  /* no auxs, V i n f i n i t i v e */  /* no auxs, V i n f l e c t e d */ rmove_participle(L,e,e,V,BaseV,F) :!,extractLocal(L,V,v,BaseV,f,FV), member(tns(_),FV), subtract(FV,[perf(+)],F). /* V=[tns(past),perf(+)] */ /* P2 progressive */ rmove_participle(L,e,P2,V,BaseV,[prog(+)|F]) :extractLocal(L,P2,prog,_,f,F),  • (ZldNI 'ndNI 'HM)ZduiOO 9AOUIJ ([4SOd ' t 4  s  d  o  '(HM) T H O " ™ ! [ZldNl'dWOO's] ' 3 ' [ Q ' d u i o O ] ] [ n d N I 'dWOO'9] 'HM' [ 'duioo]])duioo 3AOUiJ  • (CdWOO' ZdWOO) C qns_3AOUi J ' (ZdWOD' TdWOD ) duiOD 3AOUIJ -: (CdWOO'TdWOD)eqdTH aAOUiJ YHdlY 3A0W 3 S J 3 A 9 H  /*  */  '(dW0D'dW0D)uoT 3Hj x3 e 3 i j " i ' (Yd' (-) e aq; ) jaquraui -: ( [ D } S O d | [ [ [ [ A 4 S O d | [ [ d Y ' 3 ' [ Y d ' B ] ] 'A'Zd]'Td'[Ad'A]] 'ldNl'9] ( - ) H 3 U . ] 'TJUT]] 'dWOD'9] 'HM'[Dd'duioo]] 4  4  4  'dN'[[ld|  4  4  4  4  4  '[D4SOd|[[[[A4SOd|[[dV'a'[Vd'H]] 'A'Zd]'Td'[Ad'A]] 'ldNl'9]'dN'[ld'T3UT]] 'dWOD'3] 'HM' [Dd'dUIOO] ] ) U O T D B J X 3 B 3 t [ /*******«¥****¥***********************^ /* IdNI o ; 3 j n e 3 i e i a t u S A O W * / 4  4  4  4  4  *(Ad'(+)Jjad)jaquiam '(Ad'3 ASSBg A A T)T^3Oi40Hj xa '([(+)6ojd]'3' '6ojd'zd'T)T^ooi OHj xa ' (d'3 ' " " ' B o j d ' x d ' T ) X H O O T O H j x a -: ( [ d | ( - ) H a q ' ( + )ssHd'( + )6oj:d] ' Assng' A' Zd' I d ' 1) a"[dT T 4 J e d S A O U I J aATSsajfiojd aATSsed * / •(Ad'(+)3 J 3 d ) jaquraui ' (Ad' 3' A3 s eg' A ' A ' 1) Teooq O H J x a '(dd'(+)3JSd)jaquraui ' ( d d ' 3 ' _ ' 6 o j d ' 3 d ' l ) i e o o q D H J x a '(d'3' ' 3 J a d ' i d ' l ) T o i ^ J 4 -: ([d|(-)H aq (+)ssHd'(+)3jad] ' Asssg' A ' Zd' Td' 1) s i d T O T J H C T S A O U U / , aAfssed oajjad * / • ( [ (+.)6ojd] ' 3'A^SHg ' A A ' T ) X O O T O H J X 3 ' (dd' ( + ) 3 J s d ) jaquraui ' ( d d ' 3 ' ~ ' 6 o j d z d ' T ) T ^ o q 0 B j i x a '(d'3' ' 3 J a d ' - [ d ' l ) T o i 4 J 4 x a ( [ d | ( + )6ojd'( + ) j j a d ] ' A 3 S H g A ' Z d ' T d ' l ) 3 l d T D T j ' B d B A O U I J 3 A T S s a j 6 o j d o a j j 3 d */ •(Ad'(+)jjad)jaquraui '(Ad'3'A9SHg'A'A'l)T«30i 0Ej xa '(d'3' 'Bojd'id'l)TSOOi OHj x3 -'- ( [ d | ( - ) e 3 q ' ( + )ssHd] ASSEg'A'3'Td'T)STdT T4-ied 3AOUiJ / * 3ATSSHd » / • ( [ ( + )6ojd] i A 3 S H g A ' A ' T ) T S 3 0 ' l 4 o e j x a '(d'3' '6ojd'id'T)T oq oHj xa -: ([d|(+)6ojd]'ASSHg'A'9'Td'l)9TdT3T4JBd~aAouiJ /* 3 A T S s a j 6 o j d i d */ * ( A d ' ( + ) 3 j a q u r a u i '(Ad'3'A3SHg'A'A'T)T 30i40Bj x3 '(d'3' '3Jad'Td'l)Teooi OHj x3 ( [ d | (+-)iJ3d] 'A9SHg'A'a'Td'T)9TdTOT jHcr"aAOUiJ / * a A T o a j j a d */ ,  I  I  ,  4  -  4  4  4  4  4  4  3  -  4  4  4  4  B 3  3 B  x 3  ,  4  4  4  4  1  B  4  4  i  4  B 3  3 B  i  —  4  4  4  4  4  4  4  4  ,  3  /  _  ,  ,  4  B 3  4  4  B  4  4  4  4  4  • ( [ ( + ) D O j d ] 3 A9Seg A'A' I)"rH O l43 ^4X9 i  /  I  ,  :3  r  B  rmove_comp(COMP,COMP). /* COMP t o Argument */ rmove_comp2(WH,[[inf1,FI],NP,[e,INFL, [[v,FV],Pl,[P2,v|Argsl]|Post]]], [[infl,Fl],NP,[e,INFL, [[v,FV],Pl,[P2,v|Args2]|Post]]]) :rmove_to_obj(WH,Argsl,Args2). /* NP COMP t o PP-adj */ rmove_comp2(WH,[[infl,Fl],NP,[e,INFL, [[v,FV],Pl,VP|PostVl]j], [[infl,Fl],NP,[e,INFL, [[v,FV],Pl,VP|PostV2]]]) :rmove_pp(WH, P o s t V l , PostV2). /* NP COMP t o PP-arg */ rmove_comp2(WH,[[inf1,FI],NP,[e,INFL, [[v,FV],Pl,[P2,V|Argsl]|PostV]]], [[infl,FI],NP,[e,INFL, [[v,FV],Pl,[P2,v|Args2]|PostV]]]) :rmove__pp(WH, A r g s l , Args2) . /* NP COMP to Subject */ rmove_comp2([[n,FN]|NN],[[inf1,FI1],NP,INFL], [[infl,FI2],[[n,FN]|NN],INFL]) :not l e x i c a l ( N P ) , features(WH,F), feature_union(F,FIl,FI2). /* COMP to COMP */ rmove_comp2(WH,[[comp,FC],e,[e,COMP,INFL]|Post], [[comp,FC],WH,[e,COMP,INFL]|Post]). /* r e c u r s i v e search */ rmove_comp2(WH,[[X,F],A1,[A2,XW A r g s l ] P o s t ] , [[X,F],A1,[A2,XW Args2] Post]) :rmove_comp3(WH,Argsl,Args2). /* PP COMP added as a d j */ rmove_comp2([[p,FP]|PP],[[inf1,FI],NP,[e,INFL, [[v,FV],Pl,VP|PostV]]], [[infl,Fl],NP,[e,INFL, [[v,FV],Pl,VP,[[p,FP]|PP]|PostV]]]). rmove_comp3(WH,[Hl|T],[H2|T]) :- rmove_comp2(WH,Hl,H2). rmove_comp3(WH,[H|TI],[H|T2]) :- rmove_comp3(WH,TI,T2). rmove_to_obj(WH,[H|T],[WH|T]) :not l e x i c a l ( H ) , member([C,_],H), member([C,_],WH), !. rmove_to_obj(WH,[H|T1],[H|T2]) :- rmove_to_obj(WH,T1,T2). rmove_pp([[n,FN]|NP],[[[p,FP],e,[e,P,PNP]]I P o s t ] , [[[p,FP],e,[e,P,[[n,FN]|NP]]]|Post]) not l e x i c a l ( P N P ) . rmove__pp(NP, [X|P1], [X|P2]) :- rmove_pp(NP,Pl,P2).  /* rmove_subj([[comp,FC],WH,[e,COMP, [[infl,Fl],NP,[e,INFL,VPl]]]|Post],  :-  */  [[comp,FC],WH,[e,COMP, [[infl,BaseFl],[[n,[]],e],[e,INFL,VP2]]]|Post]) lexical(NP), member(theta(-),FI), !, combineF([per(3),pl(-)],FI,BaseFI), rmove_lower_subj(NP,VPl,VP2). rmove_subj(COMP,COMP). /* SUBJ t o OBJ rmove_lower_subj(NP,[[v,FV],Pl,[P2,V A r g l ] PostV], [[v,FV],Pl,[P2,V Arg2] PostV]) :member(pass(+),FV), !, rmove_obj(NP,Argl,Arg2). rmove_lower_subj([[n,_]|NP], /* SUBJ t o SUBJ */ [[comp,FC],WH,[e,COMP, [[infl,Fl],[[n,[]],e],INFL]]|Post], [[comp,FC],WH,[e,COMP, [[infl,Fl],[[n,[]]|NP],INFL]]I Post]). rmove_lower_subj(NP,[[X,F],A1,[A2,XP,Argl] PostX], [[X,F],A1,[A2,XP,Arg2] PostX]) :rmove_lower_subj(NP,Argl,Arg2). rmove_obj(NP,BaseNP,NP) :- not lexical(BaseNP). rmove_obj(NP,[Hl|T],[H2|T]) :- rmove_obj(NP,Hl,H2). rmove_obj(NP,[H|T1],[H|T2]) :- rmove_obj(NP,T1,T2). ^***************************************** /* Move WH(+) i n [NP,PP] t o PP features y*************************************** wh_feature_extraction([[p,F],e,[e,P,NP]], [[p,[wh(+)|F]],e,[e,P,NP]]) :features(NP,FNP), member(wh(+),FNP), !. wh_feature_extraction([Hl|Tl], [H2|T2]) :wh_feature_extraction(Hl,H2), wh_feature_extraction(Tl,T2), !. wh feature e x t r a c t i o n ( X , X ) .  */  Appendix J. Prolog Code - TRANSLATE y*********************************************  /* /*  V TRANSLATE  */  /*  */  /* X2 — > Specifier XI Postadjuncts */ translate(SL,[[C,F1],Specl,HDl P o s t l ] , TL,t[C,F2],Spec2,HD2 Post2]) :transl_xl(SL,C,Fl,HDl, TL,F2,HD2), transl_spec(SL, C, Sped,TL, F2, Spec2), transl_comp(SL,Postl, TL,Post2). /* XI — > Preadjunct X Complements */ transl_xl(SL,C,Fl,[Pre,HDl Complementl], TL, F2,[Pre,HD2 Complement2]) :transl_head(SL,C,Fl,HDl, TL,F2,HD2), transl_comp(SL,Complementl, TL,Complement2). y******************************************  transl_head(_,_,F,e, _,F,e) :- !. transl_head(_,comp,_,_, _,[],e) :- !.  /* empty head */ /* COMP — > e */ /* expression head */ transl_head(SL,C,Fl,expr([SLW|Expr]), TL,F2,TLW) :extractLocal(SL,SLW,C, _,expr,[Expr|Expr_info]), member (TLwords, Expr_inf o), TLwords =.. [TL,Words], makelist(Words,Wlist), !, pick_headlist(C,Wlist,Fl,TL, F2,TLW). /* a l l others */ transl_head(SL,C,Fl,SourceW, TL,F2,TargetW) :extractLocal(SL,SourceW,C, _,TL,TLwords), !, pick_headlist(C,TLwords,FI, TL,F2,TargetW). /* _ */ pick_headlist(C,[Wl|_],Fl, TL,F2,W2) :pick_headword(C,Wl,Fl, TL,F2,W2). pick_headlist(C,[_|Ws],Fl, TL,F2,W2) :pick_headlist(C,Ws,Fl, TL,F2,W2). /* */ pick_headword(_,e,F,_, F,e) :- !. pick_headword(_,expr(E),_,_,[],expr(E)) :- !. pick_headword(n,Wl,Fl,TL, F2,W3) :get(pl,Fl,NUM), adjust(pl,n,TL,Wl,NUM,W2), extractLocal(TL,Wl,n,_,f,F2a), defaultF(TL,n,F2a, F2b), combineF(Fl,F2b, F2), capitalize_proper(TL,W2,W3), !. pick_headword(inf1,W,F,_, F,W)  /* t r a n s l head noun */ /* adjust for num */  :- !.  pick_headword(C,W,Fl,TL, F2,W) :extractLocal(TL,W,C,_,f, F2a), defaultF(TL,C,F2a, F2b), combineF(F2b,Fl, F2), !.  /* t r a n s l other heads */  155  y**********************************************************y  /*  Translate s p e c i f i e r  */  y**********************************************************^  transl_spec(_,_,X, _,_,X) :- not l e x i c a l ( X ) ,  !. /* empty */  transl_spec(SL,n,SourceW, TL,F,TargetW) :/* a r t i c l e */ extractLocal(SL,SourceW,art, _,TL,TLwords), !, pick_speclist(TLwords,TL,F, TargetW). /* translate subject NP ( i n f l spec) */ transl_spec(SL,inf1,[[n,Fl] NP1], TL,_,[[n,F2] NP2]) :translate(SL, [[n,Fl] NP1], TL, [[n,F2] NP2]). /* */ pick_speclist([Wl|_],TL,F2,W2) :- pick_specword(Wl,TL,F2,W2). pick_speclist([_|Ws],TL,F2,W2) :- pick_speclist(Ws,TL,F2,W2). pick_specword(W,english,_,W). pick_specword(Wl,Spanish,F2,W3) :get(fem,F2,GEN), adjust(fem,art,Spanish,Wl,GEN,W2), /* adjust gender */ morph_word(spani sh,W2), get(pl,F2,NUM), adjust(pl,art,Spanish,W2,NUM,W3), !. /* adjust number */  ^**********************************************************i /*  Translate complements  */  y **********************************************************^ 1  transl_comp(_,e,_,e). /* empty */ transl_comp(_,[],_,[]). /* no complements */ transl_comp(_,[[mode,M]], _,[[mode,M]]) :- !. transl_comp(SL,[Hl|Tl], TL,[H2|T2]) :translate(SL,Hl,TL,H2), transl_comp(SL,Tl,TL,T2).  y***********************************************************^  /*  V  Auxiliary functions  y**********************************************************^  capitalize_proper(L,W,Wout) :diet(L,W,n,Lexinfo), member(proper(+),Lexinfo), capitalize(W,Wout). capitalize_proper(_,W,W). /*  adjust(_,_,_,W,[],W). adjust(pl,_,_,W,Lpl(-)],W). adjust(fem,_,_,W,[fem(-)],W). adjust(pl,C,TL,W,[pl(+)],Target) :diet(TL,W,C,Lexinfo), test_f(pl(+),TL,W,C,Lexinfo,Target). adjust(fem,C,TL,W,tfem(+)],Target) :diet(TL,W,C,Lexinfo), test_f(fem(+),TL,W,C,Lexinfo,Target).  */  /* No i n f l e c t i o n /* Not p l u r a l /* Not feminine /* p l u r a l i z e  */ */ */ */  /* feminize */  test_f(Fitem,L,Root,C,_,Root) :/* already i n f l e c t e d */ extractLocal(L,Root,C,_,f,F), member(Fitem,F), !. test_f(Fitem,_,Root,_,Lexinfo,W) :- /* otherwise: i n f l e c t */ Fitem =.. [Ftype,_],  157  get(Ftype,Lexinfo,Fpred), apply(Ftype,Root,Fpred,W). apply(pi,Root,[],Target) :split(Root,s,Target). apply(fem,Root,[],Target) :split(Stem,os,Root), split(Stem,as,Target). apply(fem,Root,[],Target) :split(Stem,o,Root), split(Stem,a,Target). apply(fem,Root,[],Target) :split(Root,a,Target). apply(F,_,[Fpred],Target) :Fpred =.. [F,Target].  /* default p i : add 's' */ /* default fem: */ /* delete "-os" */ /* add "-as" */ /* delete "-o" /* add "-a"  */ */  /* add "-a" */ /* Else use i n f l e c t i o n */ /* from Lexinfo */  Appendix K . Prolog Code - T R A N S F O R M  y********************************************************* /* /* /*  TRANSFORMATIONS  y********************************************************* transform_and_generate(_,[]). transform_and_generate(L,[Dstructure|T]) :bagof(Sstructure, transformation(L,Dstructure, Sstructure), Sstructures), generate_and_print(L,Sstructures), transform_and_generate(L,T). transformation(L,Dstructure,Sstructure) :transform(L,matrix( + ),_,Dstructure,Sstructure), dbl_comp_filter(Sstructure), case_filter(L,Sstructure), binding_conditions(L,Sstructure), • ecp(L,Sstructure), write('...Transformed'),nl. transform(L,Matrix,Mode,C0MP1, COMP11) :transform_lower(L,matrix(-),Mode,COMPl, COMP2), set_tns(Matrix,C0MP2, COMP3), move_alpha(L,COMP3,COMP4), it_insertion(L,COMP4,COMP5), null_subject(L,COMP5,COMP6), do_support(L,Matrix,Mode,COMP6,COMP7), move_affix(L,COMP7,COMP8), comp_in s er t ion(L,Matr ix,COMP8,COMP9), modal_insertion(L,COMP9,COMP10), inver sion(L,Matrix,Mode,COMP10,COMP11). /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Transform Lower Cycle r / ********************************************************* transform_lower(_,_,Mode,[[comp,F]|COMP], [[comp,F]|C0MP]) member([mode,Mode],COMP), !. transform_lower(L,Matrix,Mode, [[C,F],Spec,[Pre,HD Argsl] Post], [[C,F],Spec,[Pre,HD Args2] Post]) :transf lower args(L,Matrix,Mode,Argsl, Args2), transf_lower_args(L,Matrix,Mode,[[[comp,Fl] C0MP1] T], [[[comp,F2] C0MP2] T]) :!,transforms,Matrix,Mode, [[comp,Fl] C0MP1], [[comp,F2] C0MP2]) transf_lower_args(L,Matrix,Mode,[Hl|T], [ H 2 | T ] ) transform_lower(L,Matrix,Mode,HI, H2). /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Set TNS /* 158  set_tns(_,COMP, COMP). /* leave clause as i s f i r s t time set_tns(matrix(-),[[comp,F],WH,[e,COMP, [[infl,Fl],NP,INFL]]|Post], [[comp,F],WH,[e,COMP, [[inf1,F2],NP,INFL]]|Post]) :alternate_tns(NP,Fl, F2), !. alternate_tns(NP,Fl, [tns(pres)|F5]) :member(tns(-),F1), s u b t r a c t ( F l , [ t n s ( - ) ] , F2), features(NP,FNP), union(FNP,F2, F3), default(per,3,F3,F4), default(pl,-,F4,F5). alternate_tns(_,Fl,[tns(-)|F2]) :subtract(Fl,[tns(_)],F2). /*  /*  7*  MOVE ALPHA  y**********************************************  move_alpha(_,COMP,COMP).  /* no movement /* NP movement to subject move_alpha(L,[[comp,FC],WH,[e,COMP, [[infl,BaseFl],BaseNP,BaseINFL]]|Post], [[comp,FC],WH,[e,COMP, [[infl,FI],NP,INFL]]|Post]) :not lexical(BaseNP), member(theta(-),BaseFl), move(L,n,0,NP,[ana(+)],BaseINFL,INFL), features(NP,F), combineF(F,BaseFl,FI). /* NP movement t o SUBJ, then COMP move_alpha(L,[[comp,FC],e,[e,COMP, [[inf1,BaseFl],BaseNP,BaselNFL]]|Post], [[comp,[wh(+)|FC]],WH,[e,COMP, [[infl,FI],NP,INFL]]|Post]) :not lexical(BaseNP), member(theta(-),BaseFl), ((bounding_cat(L,inf1),Level=l) ; Level=0), move(L,n,Level,WH,[ana(+)],BaselNFL,INFL), features(WH,F), member(wh(+),F), combineF(F,BaseFl,FI), index(WH,I), makelist([[n,[indx(I),pro(-),ana(-)]],e],NP). /* NP movement to COMP move_alpha(L,[[comp,FC],e,[e,e,BaselNFL]|Post], [[comp,[wh(+) FC]],WH,[e,e,INFL]|Post]) :move(L,n,0,WH,[pro(-),ana(-)],BaselNFL,INFL), features(WH,F), member(wh(+),F). /* PP movement t o COMP move_alpha(L,[[comp,FC],e,[e,e,BaselNFL]|Post], [[comp,[wh(+)|FC]],WH,[e,e,INFL]I Post]) :-  move(L,p,0,WH,tpro(-),ana(-)],BaseINFL,INFL), features(WH,F), member(wh(+),F). move(_,_,2,_,_, ,_) :- ! , f a i l . move(L,Alpha,_,T[Alpha,[indx(I)|F]],Spec,HD], ANAPRO, [[Alpha,F],Spec,HD], [[Alpha,NewF],e]) :not member(indx(_),F), append([indx(I)|F],ANAPRO,NewF). move(L,Alpha,_,[[Alpha,F],Spec,HD], ANAPRO, [[Alpha,F],Spec,HD], [[Alpha,NewF],e]) :member(indx(I),F), append(F,ANAPRO,NewF). move(L,Alpha,Levell,XP,ANAPRO,[[C,F]|Tl], [[C,F]|T2]) :bounding_cat(L,C), Level2 i s Levell+1, !, move(L,Alpha,Level2,XP,ANAPRO,Tl,T2). move(L,Alpha,Level,XP,ANAPRO,[[C,F]|T1], [[C,F]|T2]) :!, move(L,Alpha,Level,XP,ANAPRO,Tl,T2). move(L,Alpha,Level,NP,ANAPRO,[HI|T], [H2|T]) :move(L,Alpha,Level,NP,ANAPRO,HI,H2). move(L,Alpha,Level,NP,ANAPRO,[H]T1], [H|T2]) :move(L,Alpha,Level,NP,ANAPRO,Tl,T2). /*  /* AFFIX-HOPPING /* y****************************************** move_affix(L,[[comp,FC],WH,[e,COMP, [[infl,Fl],NF,[e,BaseINFL,BaseVP]]]|Post], [[comp,FC],WH,[e,COMP, [ [ i n f l , F l ] , N P , [ e , I N F L , V P ] ] ] | P o s t ] ) :a f f i x _ i n f l ( L , F I , B a s e I N F L , FV,INFL), affix_vp(L,FV,BaseVP, VP), !. a f f i x _ i n f l ( _ , F , e , F,e). affix_inf1(L,F,SourceW, [tns(-)|F],TargetW) :diet(L,SourceW,inf1,Lexinfo), not member(root(_),Lexinfo), gen_verb(L,inf1,F,SourceW,Lexinfo, TargetW). affix_vp(L,FI,[[v,FV],_,[_,BaseV|Args]|Postv], [[v,FV],PERF,[PROG,V|Args]|PostV]) a f f i x _ t o _ p e r f ( L , F I , PERF), a f f i x _ t o _ p r o g ( L , F I , PROG), a f f i x _ t o _ v e r b ( L , F l , BaseV, V ) . / affix_to_perf(L,FI,W) :- member(perf(+),FI), create(perf,L,FI,W).  :-  161  affix_to_perf(L,FI,W) :( member(prog(+),FI) ; member(pass(+),FI) ), create(prog,L,FI,W). affix_to_perf(_,_,e). affix_to_prog(L,FI,W) :member(perf(+),FI), ( member(prog(+),FI) ; member(pass(+),FI) ), extractLocal(L,W,prog,_,f,[perf(+)]). affix_to_prog(L,FI,W) :member(prog(+),FI), member(pass(+),FI), extractLocal(L,W,prog,_,f,[prog(+)]). affix_to_prog(_,_,e). create(C,L,F,W) :/* If t n s ( - ) , select i n f i n i t i v e form */ member(tns(-),F), rootword(L,_,C,W). create(C,L,F, W) :- /* otherwise: select i n f l e c t e d form: */ not member(tns(-),F), get(per,F, PER), get(pi,F, HUM), get(tns,F, TENSE), append(PER,NUM, PERNUM), create2(L,C,TENSE,PERNUM, W). create2(L,C,TENSE,PERNUM,W) :dict(L,W,C,Lexinfo), member(f(F),Lexinfo), makelist(F,WF), must_appear(TENSE,WF), must_agree(PERNUM,WF). create2(english,C,[tns(pres)],_,RW) :rootword(english,_,C,RW)• /* */ /* If expression, a f f i x to f i r s t element */ affix_to_verb(L,FI,expr([BaseW|Expr]),expr([W|Expr])) :affix_to_verb(L,FI,BaseW,W). affix_to_verb(L,FI,BaseW, W) :dict(L,BaseW,v,Lexinfo), not member(root(_),Lexinfo), affix_verb2(L,FI,Lexinfo,BaseW,W). affix_verb2(L,FI,Lexinfo,BaseW, W) :member(pass(+),FI), gen_perf(L,BaseW,Lexinfo,W). affix_verb2(L,FI,Lexinfo,BaseW, W) :member(prog(+),FI), gen_prog(L,BaseW,Lexinfo,W). affix_verb2(L,FI,Lexinfo,BaseW, W) :member(perf(+),FI), gen_perf(L,BaseW,Lexinfo,W). affix_verb2(_,FI,_,W,W) affix_verb2(english,FI,_,W,W)  :- member(tns(-),FI). :- member(tns(fut),FI).  affix_verb2(L,FI,Lexinfo,BaseW, W) :gen_verb(L,v,FI,BaseW,Lexinfo,W).  y******************************************** gen_verb(L,C,FI,BaseW,Lexinfo, W) :/* i r r e g u l a r forms */ member(irr(IRR),Lexinfo), makelist(IRR,IRRlist), get_irr(L,C,FI,BaseW,IRRlist,W). gen_verb(L,_,FI,BaseW,Lexinfo, W) :/* stem forms */ member(StemCat,Lexinfo), StemCat =.. [StemNum,St], name(StemNum,[S,T,E,M|_]), name(stem,[S,T,E,M]), makelist(St,Stem), get_stem(StemNum,L,FI,BaseW,Stem,W). gen_verb(english,C,FI,BaseW,_, BaseW) :- /* default form */ member(tns(pres), F I ) , ( member(pi(+),FI) ; member(per(2),FI) ; member(per(1),FI) ). gen_verb(engli sh,inf1,FI,Ba seW,_,Ba seW). gen_verb(L,C,FI,BaseW,_, W) :/* generate form */ suffixtable(L,Sfx,Stemend,C,SfxF), makelist(SfxF,SfxList), must_appear(SfxList,FI), split(Stem,Stemend,BaseW), split(Stem,Sfx,W), morph_word(L,W). /* */ get_irr(L,C,FI,BaseW,[Wl|Ws], Wl) :dict(L,Wl,C,Lexinfo), member(root(BaseW),Lexinfo), member(f(F),Lexinfo), makelist(F,Flist), member(tns(_),Flist), must_agree(Flist,FI). get_irr(L,C,FI,BaseW,[_|ws],W) :- get_irr(L,C,FI,BaseW,Ws,W). /* */ get_stem(Stemtype,L,FI,BaseW,[Stem|_],W) :get_proper_stem(Stemtype,L,FI,BaseW,Stem), create_stem(Stemtype,L,FI,Stem,W). get_stem(Stemtype,L,FI,BaseW,[_|stems],W) :get_stem(Stemtype,L,FI,BaseW,Stems,W). get_proper_stem(C,L,FI,BaseW,Stem) diet(L,Stem,C,Lexinfo), member(root(BaseW),Lexinfo), member(f(F),Lexinfo), makelist(F,Flist), must_appear(Flist,FI).  :-  create_stem(Stemtype,L,FI,Stem,W) :suffixtable(L,Sfx,_,Stemtype,SfxF), makelist(SfxF,SfxList), must_appear(SfxList,FI), split(Stem,Sfx,W).  y***************************************  /* /*  V Doubly-Filled COMP F i l t e r  */  /* V y**********************************************************^ dbl_corap_filter([[comp,_],WH,[e,COMP,_]|_]) :lexical(WH), lexical(COMP), !,fail. d b l _ c o m p _ f i l t e r ( [ [ i n f 1 , _ ] , _ , [ [ i n f 1 , _ ] , _ , [ _ , _ , X ] ] ] ) :!, dbl_comp_filter(X).  dbl_comp_filter([[_,_],_,[_,_|x]|_])  :-  !, dbl_comp_filter2(X). dbl_comp_filter([[_,_],e]). dbl_comp_filter2([]). dbl_comp_filter2([H|T])  :- dbl_comp_filter(H), dbl_comp_filter2(T) . y'**************************************************  /*  /*  V  Case F i l t e r  /*  ,  */  V  ^**********************************************************^ case_filter(L,COMP)  :- subj_pos(L,COMP),  !, obj_pos(COMP), !.  subj_pos(L,[[v,_],_,[_,V, /* ECM */ [[comp,_],WH,[e,COMP, /* (with inversion) */ [[infl,_],_, [[infl,Fl],NP,[_,_,VP]]]]|PostC]]|PostV]) :( lexical(NP) ; is_pro(NP) ), member(tns(-),FI), !, WH = e, COMP = e, ecm(L,V), subj_pos(L,VP). subj_pos(L,[[v,_],_,[_,V, /* ECM */ [[comp,_],WH,[e,COMP, /* (no inversion) */ [ [ i n f l , F l ] , N P , [ _ , _ , V P ] ] ] | _ ] ] | _ ] ) :( lexical(NP) ; is_pro(NP) ), member(tns(-),FI), !, WH = e, COMP = e, ecm(L,V), subj_pos(L,VP). subj_pos(L,[[infl,Fl],NP,[_,_,VP]]) :- /* Variables:Case */ is_variable(NP), !, not member(tns(-),FI), subj_pos(L,VP). subj_pos(L,[[inf1,_], , /* bypass inverted I N F L * / [ [ i n f 1 , F I ] T I N F L ] ] ) :-  ! , SUbj_pos(L,[[infl,Fl]|INFL]). subj_j»os(L,[[infl,Fl],NP,[_,_,VP]]) :- /* Case from +TNS */ ( lexical(NP) ; is_pro(NP) ), !, not member(tns(-),FI), subj_pos(L,VP). subj_pos(L,[[_,_],_,[_,_|Args]|_])  :-  subj_pos2(L,Args).  subj_pos(L [[_,_],e]). f  subj_pos2(_,[]). subj_pos2(L,[H|T]) :- subj_pos(L,H), subj_pos2(L,T). /* obj_pos([[v,FV],_,[_,_,[[n,_],_,_]|Args]|_]) :not member(pass( + ),FV), !, obj_pos2(Args). objjpos([[infl,Fl],_, [[infl,Fl],NP,[_,_,VP]]]) :obj_pos(VP). obj_pos([[_,_],_,[_,_|Args]|_]) :obj_pos2(Args). objjpos([[_,_],e]). obj_pos2([]). obj_pos2([H|T])  */  :- obj_pos(H), obj_pos2(T).  /**********************************************************i /*  /*  */  BINDING CONDITIONS  */  /* V ^**********************************************************y binding_conditions(L,COMP)  :- condition_A(L,COMP), !, condition_C(COMP), !.  condition_A(L,t[X,_],_,[_,XW, /* S-deletion */ [[comp,_],WH,[e,COMP, /* (with inversion) */ [[infl,_],_, [ [ i n f l , F l ] , N P , [_,_|VP]]]] |_]] | J ) :is_nptrace(NP), !, WH = e, COMP = e, member(tns(-),FI), !, is_sdeleter(L,XW,X), condition_A2(L,VP). condition_A(L,[[X,_],_,[_,XW, /* S-deletion */ [[comp, ],WH,[e,COMP, /* (no inversion) */ [ [ i n f l , F l ] , N P , [ _ , _ | V P ] ] ] | J ] | J ) :is_nptrace(NP), !, WH = e, COMP = e, member(tns(-) ,FI), is_sdeleter(L,XW,X), condition_A2(L,VP). condition A ( L , [ [ i n f l , ],NP1,[ , , /* obj bound t o subj */ ttv,_],_,[_,_|Args]|_]]]) :member(NP2,Args), is_nptrace(NP2), !, index(NPl,I), index(NP2,J), I == J , !, condition_A2(L,Args). condition_A(_,NP) :/* otherwise NP-trace i n v a l i d */ is_nptrace(NP), !,fail.  condition_A(L,[[inf1,_], , [[infl,Fl]"|"lNFL]]) :!,condition_A(L,[[infl,FI]|INFL]). condition_A(L,[[_,_],NP,[_,_|Args]|Post]) !,condi t ion_A(L,NP), condition_A2(L,Args), condition_A2(L,Post).  :-  condition_A(_,_). condition_A2(L,[]). condition_A2(L,[A|As])  :-  condition_A(L,A), condition A2(L,As).  condition_C([[comp,_],_,[_,_, [[infl,_],_, [[infl,_],NP,[_,_|VP]]]]|_]) :!,var_free(NP,VP), condition C2(VP). condition_C(T[comp,_],_,[_,_, [[infl,_],NP,[_,_|VP]]]|_]) :var_free(NP,VP), condition_C2(VP). var_free(NP,Args) :- index(NP,I), !, f r e e d , A r g s ) . var_free(_,_). f r e e d , [ H | T ] ) :- f r e e _ a r g ( l , H ) , free_arg2(I,H), f r e e d , T ) . free(_,[]). free_arg(I,X)  :- not ( i s _ v a r i a b l e ( X ) , index(X,J),  I == J ) .  f r e e _ a r g 2 ( I , [ [ i n f l , ],_,[[inf1,_]|INFL]]) :-  !, free_arg2(I,[Tinfl,_]|INFL]).  free_arg2(I,[[inf1,_],NP,[_,_|Args]|_]) !, free_arg(I,NP), free(I,Args). free_arg2(I,[[_,_],_,[_,_|Args]|_]) !, f r e e d , A r g s ) . free_arg2(_,_). condition_C2([H|T]) condition_C2([]).  :- condition_C3(H),  ::-  condition_C2(T).  condi t ion_C3([[comp,_]|COMP]) :!, condition_C([[comp,_]|COMP]). condition_C3(_).  y************************************ /*  /*  /*  V  ECP - Empty Category P r i n c i p l e  ecp(_,[mode,_]) :- !. ecp(L,[[X,_],_,[_,XW,  */  V  /* S-deletion */  166  [[comp,_], e,[e,e, /* (with i n v e r s i o n ) */ [[infl,_],_, [ [ i n f l , _ ] , N P , [ _ , _ , V P ] ] ] ] | _ ] ] | P o s t X ] ) :not l e x i c a l ( N P ) , is_sdeleter(L,XW,X), !, not is_PRO(NP), ecp(L,VP), ecp2(L,PostX), !. ecp(L,[[X,_],_,[_,XW, /* S-deletion */ [[comp,_],e,[e,e, /* (no i n v e r s i o n ) */ [ [ i n f l , _ ] , N P , [ _ , _ , V P ] ] ] | _ ] ] | P o s t X ] ) :not l e x i c a l ( N P ) , is_sdeleter(L,XW,X), !, not is_PRO(NP), ecp(L,VP), ecp2(L,PostX), !. ecp(L,[[comp,_],WH,[e,e, /* WH i n COMP */ [[infl,_],_, /* (with i n v e r s i o n ) */ [ [ i n f l , _ ] , N P , [ _ , _ , V P ] ] ] ] | P o s t ] ) :index(WH,_), !, not is_PRO(NP), ecp(L,VP), !. ecp(L,[[comp,_],WH,[e,e, /* WH i n COMP */ [ [ i n f l , _ ] , N P , [ _ , _ , V P ] ] ] | P o s t ] ) :- /* (no i n v e r s i o n ) */ index(WH,_), !, not is_PRO(NP), ecp(L,VP), !. ecp(L, [ [ i n f l , F l ] , N P , [_,_,VP]]) :/* +TNS */ not l e x i c a l ( N P ) , not member(tns(-) ,FI), !, proper_governor(L,inf1), ecp(L,VP), !. ecp(L,[[X,_],_,[_,_|Args]|PostX]) :/* head */ member(XP,Args), i s _ t r a c e ( X P ) , !, proper_governor(L, X), ecp2(L,Args), ecp2(L,PostX), !. ecp(L,[[X,_],_,_|PostX]) :/* adjunct */ member(XP,PostX), i s _ t r a c e ( X P ) , !, proper_governor(L,X). /* ECP: embedded clauses */ ecp(L,[[infl,_],_, [ [ i n f l , _ ] , N P , [ _ , _ , V P ] ] ] ) :ecp(L,VP), !. ecp(L,[[_,_],_,[_,_|Args]|PostX]) :ecp2(L,Args), ecp2(L,PostX), !. ecp(_,[[_,_],e]). ecp2(_,[]).  ecp2(L,[H|T])  :- ecp(L,H), ecp2(L,T).  Appendix L . Prolog Code -  GENERATE  ^**********************************************************^ /*  */  /*  GENERATE  */  /* */ ^/**********************************************************^  generate_and_print(_,[]). generate_and_print(L,[Sstructure|T]) generate(L,Sstructure, Surface), printout(Surface), generate_and_print(L,T).  :-  generate(L,TStructure,Tsurface) :readleaves(TStructure,Wordlistl), delete_e(Wordlistl,Wordlist2), collocate(L,Wordlist3,Wordlist2), contract(L,Tsurface,Wordlist3). readleaves([], [ ] ) . readleaves([mode,X], [x]). readleaves([[ ,F]|x], S) :- makelist(_,F), readleaves([HJT], S) :- readleaves(H,Sl), readleaves(T,S2), append(Sl,S2,S). r ead1eaves(expr(Expr), Expr). readleaves(W, [W]).  readleaves(X,S).  delete_e([],[]). delete_e([e Tl],T2) :- delete_e(Tl,T2). d e l e t e _ e ( [ H T l ] , [ H | T 2 ] ) :- delete_e(Tl,T2). ^**********************************************************^ /* PRINTOUT */ ^/**********************************************************^  printout([H|T]) :capitalize(H,HC), display(HC),  display_sent(T), nl. printout(X) :- d i s p l a y ( ' I n v a l i d s t r i n g to p r i n t o u t : ' ) , n l , display(X), abort. capitalized!,HC) :name(H,[HH|HT]), HH>96, HH<123, HHC i s HH-32, name(HC,[HHC|HT]). capitalized,H). display_sent([decl]) :- d i s p l a y ( ' . ) . display_sent([ques]) :- d i s p l a y ( ' ? ) . display_sent([H|T]) :-display(' '), display(H), display_sent(T). 1  1  167  


Citation Scheme:


Citations by CSL (citeproc-js)

Usage Statistics



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items