diff --git a/analyzer.sh b/analyzer.sh
new file mode 100644
index 0000000..1d4d13f
--- /dev/null
+++ b/analyzer.sh
@@ -0,0 +1,2 @@
+export JYTHONPATH=compling.core/build/compling.core.jar:src/main
+jython -m analyzer first.prefs
\ No newline at end of file
diff --git a/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BinaryAtom.class b/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BinaryAtom.class
index 053dbcd..6487308 100644
Binary files a/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BinaryAtom.class and b/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BinaryAtom.class differ
diff --git a/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BuiltInAtom.class b/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BuiltInAtom.class
index 9d4fcdb..0cb0bed 100644
Binary files a/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BuiltInAtom.class and b/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/BuiltInAtom.class differ
diff --git a/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/UnaryAtom.class b/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/UnaryAtom.class
index d2fb316..0d17702 100644
Binary files a/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/UnaryAtom.class and b/com.clarkparsia.pellet/bin/com/clarkparsia/pellet/rules/model/UnaryAtom.class differ
diff --git a/compling.core/base2m/.project b/compling.core/base2m/.project
deleted file mode 100644
index bfddfa7..0000000
--- a/compling.core/base2m/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- base2m_grammar
-
-
-
-
-
-
-
-
diff --git a/compling.core/base2m/English morphology in ECG.pdf b/compling.core/base2m/English morphology in ECG.pdf
deleted file mode 100644
index e69de29..0000000
diff --git a/compling.core/base2m/README.txt b/compling.core/base2m/README.txt
deleted file mode 100644
index aef56c6..0000000
--- a/compling.core/base2m/README.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-===================================
- base2m : syntactic+morphological grammar of English
-===================================
-
-14 June 2009, Nathan Schneider (nschneid@cs.cmu.edu).
-
-Expanded from the 'base2' English syntactic grammar to include morphological constructions as well. For the purposes of the syntactic vs. morphological parsers, this is actually split up into two overlapping grammars. Loaded separately into the ECG Workbench, both grammars should have no errors, though only the syntactic one can be used for parsing in the Workbench. For the most part, changes from base2 are marked with "nschneid" in the file header or inline comments.
-
-For more information, see written description of the base2m grammar, "Towards an ECG implementation of morphological compositionality and (sub)regularity in English." The morphological analyzer has not yet been released; contact the author for more information.
-
-
-Grammar files/directories:
----------------------
-
-base2m-morph.prefs : Points to grammar files for the morphological parser, which operates on individual words.
-
-base2m-phrasal.prefs : Points to grammar files for the syntactic parser, which operates on sentences and cannot handle morphologically complex constructions.
-
-base2m-core/ : Files shared by both grammars.
-
-base2m-morphonly/ : Files used by the morphological grammar only. Including these in the other grammar causes the syntactic parser to break. A list of morphological construction names (organized by file) is in morphcxnindex.txt.
-
-base2m-phrasalonly/ : Files used by the syntactic grammar only. Includes generatedwords.grm, which contains syntactic parser-compatible versions of the analyses produced by the morphological analyzer for certain words.
-
-
-Diagrams:
---------
-
-Included along with grammar files are diagrams showing some portions of the construction and schema hierarchies. These are specified in .dotgraph files; from these, the Graphviz 'dot' tool was used to generate .pdf files for visualization.
-
-base2m-core/
- grammaticalschemas_AgreementFeatures.{dotgraph,pdf}
- morphschemas_MorphForm.{dotgraph,pdf}
- morphschemas.{dotgraph,pdf}
- verb_FiniteOrNonFinite.{dotgraph,pdf}
-
-base2m-morphonly/
- nounmorphology.{dotgraph,pdf}
- verbmorphology.{dotgraph,pdf}
- verbmorphology-small.{dotgraph,pdf}
diff --git a/compling.core/base2m/base2m-core/adj.grm b/compling.core/base2m/base2m-core/adj.grm
deleted file mode 100644
index d815d83..0000000
--- a/compling.core/base2m/base2m-core/adj.grm
+++ /dev/null
@@ -1,84 +0,0 @@
-/***
- ***
- *** Adjectives
- ***
- *** This file has constructions for abstract adjectives and adjectival phrases
- *** As well as example lexical adjectives.
- ***
- *** The file also contains a construction for building a simple list of adjectives
- *** which is the only concrete construction for building adjectival phrases of
- *** more than one word. More adjectival phrases need to be written, obviously.
- ***
- ***/
-
-// This is a recursive version of adj e.g. 'big, red', 'very big',
-// 'very big and red'
-//
-general construction AdjectivalPhrase
- meaning: Modifier
-
-general construction Adj
- subcase of Word, AdjectivalPhrase, SimpleAdjectiveList
-
-
-/***
- ***
- *** Building Adjectival Phrases
- ***
- *** Currently just supporting simple adjective lists e.g. 'the big green apple'
- *** Represented as left recursive trees
- ***
- ***/
-
-general construction SimpleAdjectiveList
- subcase of AdjectivalPhrase
-
-construction SimpleAdjectiveListRecursive
- subcase of SimpleAdjectiveList
- constructional
- constituents
- list: SimpleAdjectiveList
- adj: Adj
- form
- constraints
- list.f meets adj.f
- meaning
- constraints
- self.m.modifiedEntity <--> list.m.modifiedEntity
- self.m.modifiedEntity <--> adj.m.modifiedEntity
-
-
-/***
- ***
- *** Example Adjectives
- *** I need help for the meaning of these...
- ***
- ***/
-
-construction Red
- subcase of Adj
- form
- constraints
- self.f.orth <-- "red"
- meaning: ScalarModifier
- constraints
- self.m.scalarValue <-- "red" // central red?, red hair?
- self.m.scale <-- "colorSpace" // multi-dimensional scale???
-
-
-construction Big
- subcase of Adj
- form
- constraints
- self.f.orth <-- "big"
- meaning: ScalarModifier
- constraints
- self.m.scalarValue <-- "big"
- self.m.scale <-- "size"
-
-construction LEGAL // nschneid
- subcase of Adj
- form constraints
- self.f.orth <-- "legal"
- meaning: Legal
-
diff --git a/compling.core/base2m/base2m-core/adverb.grm b/compling.core/base2m/base2m-core/adverb.grm
deleted file mode 100644
index 3e2a111..0000000
--- a/compling.core/base2m/base2m-core/adverb.grm
+++ /dev/null
@@ -1,43 +0,0 @@
-/***
- ***
- *** This file is a place holder for adverbs until some comes
- *** along and does them right.
- ***
- ***/
-
-
-general construction AdverbialPhrase
- meaning: Modifier
-
-
-general construction Adverb
- subcase of Word, AdverbialPhrase
-
-
-general construction PolarityAdverb
- subcase of Adverb
-
-
-schema Negation
- subcase of Modifier
-
-
-construction Not
- subcase of PolarityAdverb
- form
- constraints
- self.f.orth <-- "not"
- meaning:Negation
-
-
-schema Support
- subcase of Modifier
-
-
-construction So
- subcase of PolarityAdverb
- form
- constraints
- self.f.orth <-- "so"
- meaning: Support
-
diff --git a/compling.core/base2m/base2m-core/argstruct-causation.grm b/compling.core/base2m/base2m-core/argstruct-causation.grm
deleted file mode 100644
index 1ce3c65..0000000
--- a/compling.core/base2m/base2m-core/argstruct-causation.grm
+++ /dev/null
@@ -1,135 +0,0 @@
-general construction ActiveTransitiveCEA
- subcase of ArgumentStructure
- constructional
- constituents
- np: NP [1.0, .9]
- constraints
- np.features.case <-- "acc" // nschneid
- form
- constraints
- v.f before np.f
- meaning: CauseEffectAction
- constraints
- self.m.affected <--> np.m.referent
-
-
-
-
-
-// causative action, Causer profiled
-//e.g. he hit the table
-
-construction ActiveTransitiveProfiledCauser
- subcase of ActiveTransitiveCEA
- meaning: CauseEffectAction
- evokes ForcefulMotionAction as fma
- constraints
- v.m <--> fma
- self.m.process1 <--> fma.process1
- self.m.causer <--> ed.profiledParticipant
- self.m.x-net <--> fma.routine
-
-
-construction ActiveTransitiveComplexVerb // nschneid: like ActiveTransitiveProfiledCauser, except with a causative verb
- subcase of ActiveTransitiveCEA
- constructional constituents
- v: CausativeVerb
- meaning: CauseEffectAction
- constraints
- self.m <--> v.m
- self.m.causer <--> ed.profiledParticipant
-
-
-
-
-// causative action, Instrument profiled
-//e.g. The hammer hit the table
-
-construction ActiveTransitiveProfiledInstrument
- subcase of ActiveTransitiveCEA
- meaning: CauseEffectAction
- evokes ForcefulMotionAction as fma
- constraints
- v.m <--> fma
- self.m.process1 <--> fma.process1
- self.m.process1.instrument <--> ed.profiledParticipant
- self.m.x-net <--> fma.routine
-
-// Agentively caused process, Causer profiled
-//e.g. He slid the box
-
-construction ActiveTransitiveProfiledCauserResultProcess
- subcase of ActiveTransitiveCEA
- meaning: CauseEffectAction
- evokes Motion as mp
- constraints
- mp <--> v.m
- self.m.process2 <--> mp
- self.m.causer <--> ed.profiledParticipant
-
-
-
-
-
-
-
-
-//Passive CEA
-general construction PassiveCEA
- subcase of ArgumentStructure, RootType
- constructional
- constituents
- optional byPhrase:ByPhrase
- constraints
- v.features.verbform <-- PastParticiple
- form
- constraints
- v.f before byPhrase.f
- meaning:CauseEffectAction
- constraints
- self.m.affected <--> ed.profiledParticipant
-
-general construction PassiveCauserBYPhrase
- subcase of PassiveCEA
- meaning
- constraints
- self.m.causer <--> byPhrase.m.landmark
-
-
-construction PassiveCEACauserBYPhrase
- subcase of PassiveCauserBYPhrase
- meaning
- evokes ForcefulMotionAction as fma
- constraints
- self.m.process1 <--> fma.process1
- v.m <--> fma
- self.m.x-net <--> fma.routine
-
-construction PassiveCEAInstrumentBYPhrase
- subcase of PassiveCEA
- meaning
- evokes ForcefulMotionAction as fma
- constraints
- v.m <--> fma
- self.m.process1 <--> fma.process1
- self.m.process1.instrument <--> byPhrase.m.landmark
- self.m.x-net <--> fma.routine
-
-construction PassiveCEACauserBYPhraseResultProcess
- subcase of PassiveCauserBYPhrase
- meaning
- evokes Motion as mp
- constraints
- mp <--> v.m
- self.m.process2 <--> mp
-
-general construction PassiveCEAComplexVerb // nschneid: case where the verb's meaning is itself a CauseEffectAction, as in Institutionalize
- subcase of PassiveCEA
- constructional constituents
- v: CausativeVerb
- meaning
- constraints
- self.m <--> v.m
-
-construction PassiveCEAComplexVerbCauserBYPhrase // nschneid
- subcase of PassiveCEAComplexVerb, PassiveCauserBYPhrase
diff --git a/compling.core/base2m/base2m-core/argstruct-control.grm b/compling.core/base2m/base2m-core/argstruct-control.grm
deleted file mode 100644
index a440ecb..0000000
--- a/compling.core/base2m/base2m-core/argstruct-control.grm
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-construction SubjectControl
- subcase of ArgumentStructure
- constructional
- constituents
- v:ControlVerb
- vp:VP
- constraints
- vp.features.verbform <-- Infinitive
- form
- constraints
- v.f before vp.f
- meaning
- constraints
- self.m.protagonist <--> ed.profiledParticipant
- vp.ed.profiledParticipant <--> ed.profiledParticipant
- //ed.eventType <--> ed.profiledProcess
- self.m <--> v.m
- vp.ed <--> v.m.event
-
-
-construction SubjObjRaising
- subcase of ArgumentStructure
- constructional
- constituents
- v:ControlVerb
- np: NP
- vp:VP
- constraints
- vp.features.verbform <-- Infinitive
- np.features.case <-- "acc"
- form
- constraints
- v.f before np.f
- np.f before vp.f
- meaning
- constraints
- self.m.protagonist <--> ed.profiledParticipant
- np.m.referent <--> vp.ed.profiledParticipant
- //ed.eventType <--> ed.profiledProcess
- self.m <--> v.m
- vp.ed <--> v.m.event
diff --git a/compling.core/base2m/base2m-core/argstruct-dit.grm b/compling.core/base2m/base2m-core/argstruct-dit.grm
deleted file mode 100644
index 73aa3fe..0000000
--- a/compling.core/base2m/base2m-core/argstruct-dit.grm
+++ /dev/null
@@ -1,73 +0,0 @@
-
-//***************************************************
-//Jack gave Jill a cake
-//***************************************************
-
-//this is a general construction used for inheritance
-general construction ActiveDitransitive
- subcase of ArgumentStructure
- constructional
- constituents
- np1: NP
- np2: NP
- constraints
- np1.features.case <-- "dat"
- np2.features.case <-- "acc"
- form
- constraints
- v.f before np1.f
- np1.f before np2.f
- meaning: ObjectTransfer
- constraints
- self.m.giver <--> ed.profiledParticipant
- self.m.getter <--> np1.m.referent
- self.m.theme <--> np2.m.referent
-
-
-//this cxn actually binds the meaning of "give" to the meaning of the cxn
-construction CentralActiveDitransitive
- subcase of ActiveDitransitive
- meaning
- constraints
- self.m <--> v.m
-
-
-
-
-//***************************************************
-//Jack threw Jill a cake
-//***************************************************
-
-construction ActiveDitransitiveCauseMotion
- subcase of ActiveDitransitive
- meaning
- evokes CauseMotionPathAction as cmp
- constraints
- ignore self.m <--> v.m
- cmp <--> v.m
- cmp.process1 <--> self.m.process1
- self.m.getter <--> cmp.process2.spg.goal
-
-
-
-
-//***************************************************
-//Jack baked Jill a cake
-//***************************************************
-
-construction ActiveCreationDitransitive
- subcase of ActiveDitransitive
- meaning
- evokes CreationAction as ca
- evokes Intention as int
- constraints
- v.m <--> ca
- ca.creator <--> int.actor
- int.intendedAct <--> self.m.process1
- ca.creator <--> self.m.giver
- ca.createdThing <--> self.m.theme
-
-
-
-
-
diff --git a/compling.core/base2m/base2m-core/argstruct-intransitive.grm b/compling.core/base2m/base2m-core/argstruct-intransitive.grm
deleted file mode 100644
index 308451b..0000000
--- a/compling.core/base2m/base2m-core/argstruct-intransitive.grm
+++ /dev/null
@@ -1,6 +0,0 @@
-construction IntransitiveArgumentStructure
- subcase of ArgumentStructure
- meaning: Process
- constraints
- self.m.protagonist <--> ed.profiledParticipant
- self.m <--> v.m
diff --git a/compling.core/base2m/base2m-core/argstruct-motion.grm b/compling.core/base2m/base2m-core/argstruct-motion.grm
deleted file mode 100644
index b8a27d0..0000000
--- a/compling.core/base2m/base2m-core/argstruct-motion.grm
+++ /dev/null
@@ -1,61 +0,0 @@
-//e.g. He walked into the house
-
-construction ActiveMotionPath1
- subcase of ArgumentStructure
- constructional
- constituents
- pp: Spatial-PP
- form
- constraints
- v.f before pp.f
- meaning: MotionPath
- constraints
- self.m <--> v.m
- self.m.spg <--> pp.m
- self.m.mover <--> ed.profiledParticipant // active voice profiles the Mover role
- pp.np.m.ontological-category <-- @concrete-entity
-
-
-//e.g. He slapped at the box
-//there is something funny about this passive?
-construction EffectorMotionPath3
- subcase of ArgumentStructure
- constructional
- constituents
- pp: Spatial-PP
- form
- constraints
- v.f before pp.f
- meaning: EffectorMotionPath
- evokes ForcefulMotionAction as fma
- constraints
- fma <--> v.m
- self.m <--> fma.process2
- self.m.spg <--> pp.m
- self.m.protagonist <--> ed.profiledParticipant
- pp.np.m.ontological-category <-- @concrete-entity
-
-
-//e.g. He slapped his hand at the box
-//this one can't be passivized?
-construction ActiveTransitiveEffectorMotionPath3
- subcase of ArgumentStructure
- constructional
- constituents
- np: NP
- pp: Spatial-PP
- form
- constraints
- v.f before np.f
- np.f before pp.f
- meaning: EffectorMotionPath
- evokes ForcefulMotionAction as fma
- constraints
- fma <--> v.m
- self.m <--> fma.process2
- self.m.process1.effector <--> np.m.referent
- self.m.spg <--> pp.m
- self.m.protagonist <--> ed.profiledParticipant
- pp.np.m.ontological-category <-- @concrete-entity
-
-
diff --git a/compling.core/base2m/base2m-core/auxiliaries.grm b/compling.core/base2m/base2m-core/auxiliaries.grm
deleted file mode 100644
index 7249d5f..0000000
--- a/compling.core/base2m/base2m-core/auxiliaries.grm
+++ /dev/null
@@ -1,210 +0,0 @@
-/*********************************************************
-*** This file provides a starting point for incorporating
-*** auxes into the base grammar. I used Sag, Wasow and Bender's
-*** "Syntactic Theory" as a guide to the linguistics of auxes, but
-*** the approach taken here is quite different in that auxes don't
-*** specify and argument structure, and no lexical rules are needed.
-***
-*** Currently this file does not do the semantics of auxes with
-*** the hope that Nancy and Ellen will work the semantics out.
-*** However the syntax of auxes should be ok. And by that I mean
-*** that the caveats in section 13.2.3 in "Syntactic Theory" are also
-*** a problem here.
-***
-*** Note that general constructions PastTense are (currently) in verb.grm
-***
-**********************************************************/
-
-general construction Aux
- subcase of HasVerbFeatures, Word
- constructional: AuxFeatures
-
-
-/**********
-***
-*** This is the rule that combines a NonFiniteAux with a VP
-***
-***********/
-construction NonFiniteAuxPlusVP
- subcase of VP
- constructional
- constituents
- aux: Aux
- vp: VP
- constraints
- aux.features.verbform <-- NonFinite
- self.features <--> aux.features
- aux.features.expectedVerbForm <--> vp.features.verbform
- form
- constraints
- aux.f meets vp.f // is this right?
- meaning
- constraints
- self.m <--> vp.m // I assume the semantics comes from the vp
- ed <--> vp.ed
- // how should the semantics of the aux interact with this cxn?
-
-
-/**********
-***
-*** This is the rule that combines a FiniteAux with a VP.
-*** Note that this rule is not used for inversion.
-***
-*** Motivation for this rule being separate from the NonFiniteAux
-*** rule is that optional polarity items like "not", "so" and "too"
-*** can (sort of) only occur after the finite aux, and the vp consituent
-*** can be elided in this rule, but not the NonFinite rule.
-*** Additionally, since modals only occur as finite verbs, this covers
-*** the modals at the front constraint for free.
-***
-***********/
-construction FiniteAuxPlusVP
- subcase of VP
- constructional
- constituents
- aux: Aux
- vp: VP
- optional pol:PolarityAdverb
- constraints
- aux.features.verbform <-- Finite
- self.features <--> aux.features
- aux.features.expectedVerbForm <--> vp.features.verbform
- form
- constraints
- aux.f before vp.f
- aux.f meets pol.f
- meaning
- constraints
- self.m <--> vp.m //I assume the semantics comes from the vp
- ed <--> vp.ed
- //how should the semantics of the aux interact with this cxn?
- //how does the semantics of a polarity item interact with the ED?
- pol.m.modifiedEntity <--> self.m
-
-
-/**************************
-***
-*** Be Aux Examples
-***
-***************************/
-
-
-general construction BeAux
- subcase of Aux
- constructional
- constraints
- self.features.expectedVerbForm <-- Participle
- //something about aspect should go in the meaning here?
-
-construction BePastSing
- subcase of BeAux, PastTense, Singular
- form
- constraints
- self.f.orth <-- "was"
-
-construction BePastPart
- subcase of BeAux, PastPart
- form
- constraints
- self.f.orth <-- "been"
-
-construction BePresentPart
- subcase of BeAux, PresentPart
- form
- constraints
- self.f.orth <-- "being"
-
-construction BeBase
- subcase of BeAux, VerbalBase
- form
- constraints
- self.f.orth <-- "be"
-
-/**************************
-***
-*** Have Aux Examples
-***
-***************************/
-
-general construction HaveAux
- subcase of Aux
- constructional
- constraints
- self.features.expectedVerbForm <-- PastParticiple
- //something about aspect should go in the meaning here?
-
-construction HaveAuxPast
- subcase of HaveAux, PastTense //PastTense sets the speech time and verbform to Past(Finite)
- form
- constraints
- self.f.orth <-- "had"
-
-construction HaveAuxBase
- subcase of HaveAux, VerbalBase
- form
- constraints
- self.f.orth <-- "have"
-
-/**************************
-***
-*** Do Aux Examples
-***
-*** In these examples I follow Sag et al by saying that aux do only occurs in finite forms.
-***
-***************************/
-
-general construction DoAux
- subcase of Aux
- constructional
- constraints
- self.features.expectedVerbForm <-- Base
- //something about aspect should go in the meaning here?
-
-construction DoAuxPast
- subcase of DoAux, PastTense
- form
- constraints
- self.f.orth <-- "did"
-
-construction DoAuxPresent1stSing
- subcase of DoAux, PresentTense, Singular, FirstPerson
- form
- constraints
- self.f.orth <-- "do"
-
-construction DoAuxPresent2ndSing
- subcase of DoAux, PresentTense, Singular, SecondPerson
- form
- constraints
- self.f.orth <-- "do"
-
-construction DoAuxPresent3rdSing
- subcase of DoAux, PresentTense, Singular, ThirdPerson
- form
- constraints
- self.f.orth <-- "does"
-
-
-construction DoAuxPresentPlural
- subcase of DoAux, PresentTense, Plural
- form
- constraints
- self.f.orth <-- "do"
-
-
-/**************************
-***
-*** A Modal Example
-***
-***************************/
-
-
-construction CouldAux
- subcase of Aux
- constructional
- constraints
- self.features.verbform <-- Finite
- self.features.expectedVerbForm <-- Base
- form
- constraints
- self.f.orth <-- "could"
diff --git a/compling.core/base2m/base2m-core/frames.grm b/compling.core/base2m/base2m-core/frames.grm
deleted file mode 100644
index 344f309..0000000
--- a/compling.core/base2m/base2m-core/frames.grm
+++ /dev/null
@@ -1,198 +0,0 @@
-
-schema Possession
- roles
- possessor
- possessed
-
-
-/*
-schema Process
- roles
- protagonist
- x-net : @process
-*/
-
-schema ComplexProcess
- subcase of Process
- roles
- x-net : @complexxnet
- process1: Process
- process2: Process
- protagonist2
- constraints
- protagonist <--> process1.protagonist
- protagonist2 <--> process2.protagonist
-
-schema Motion
- subcase of Process
- roles
- mover: @entity
- speed // scale
- heading // place
- x-net : @motion
- constraints
- mover <--> protagonist
-
-schema MotionPath // (bounded) translational motion
- subcase of Motion
- evokes SPG as spg
- constraints
- mover <--> spg.trajector
-
-
-schema MotorControl
- subcase of Process
- roles
- actor : @animate
- effector
- effort
- routine : @routine
- constraints
- actor <--> protagonist // protagonist inherited from Process
- routine <--> x-net
-
-schema EffectorMotion
- subcase of ComplexProcess
- roles
- routine: @effectormotion
- process1: MotorControl
- process2: Motion
- constraints
- process1.effector <--> process2.mover
-
-schema EffectorMotionPath
- subcase of EffectorMotion
- evokes SPG as spg
- roles
- target
- constraints
- target <--> spg.landmark
- process1.effector <--> spg.trajector
-
-schema ForceTransfer // (physical); revised 9/06/07
- evokes Contact as cont
- roles
- supplier: @entity
- recipient: @entity
- amount
- constraints
- supplier <--> cont.entity1
- recipient <--> cont.entity2
-
-schema ForceApplication
- subcase of MotorControl
- evokes ForceTransfer as ft
- roles
- actedUpon: @entity
- routine : @forceapplication
- instrument:@instrument
- constraints
- actor <--> ft.supplier
- actedUpon <--> ft.recipient
- instrument <--> effector
- effort <--> ft.amount
-
-schema ForcefulMotionAction
- subcase of ComplexProcess
- roles
- process1: ForceApplication
- process2: EffectorMotionPath
- routine: @forcefulmotionaction
- constraints
- protagonist <--> protagonist2
- process1.actedUpon <--> process2.target
- process1.instrument <--> process2.process1.effector
- routine <--> x-net
-
-schema AgentiveImpactAction
- subcase of ForcefulMotionAction
- roles
- //routine: @agentiveimpactaction
-
-schema CauseEffectAction
- subcase of ComplexProcess
- roles
- process1: ForceApplication
- process2: Process // result
- causer
- affected
- constraints
- protagonist <--> causer
- protagonist2 <--> affected
- process1.actedUpon <--> affected
-
-
-schema ObjectTransfer
- subcase of ComplexProcess
- roles
- process1: ReleaseHold
- process2: EstablishHold
- giver
- getter
- theme
- x-net: @objecttransfer
- constraints
- protagonist <--> giver
- protagonist2 <--> getter
- process1.actedUpon <--> theme
- process2.actedUpon <--> theme
-
-schema ReleaseHold //"release", "drop", "let go"
- subcase of ForceApplication
- roles
- routine: @releasehold
-
-schema EstablishHold //"grab"
- subcase of ForceApplication
- roles
- routine: @establishhold
-
-schema CauseMotionPathAction
- subcase of CauseEffectAction
- roles
- process2:MotionPath
-
-schema Intention
- roles
- actor
- intendedAct:Process
-
-schema CreationAction
- subcase of Process
- roles
- creator
- createdThing
- constraints
- protagonist <--> creator
-
-
-schema ControlVerbProcess
- subcase of Process
- roles
- event
-
-
-schema WantProcess
- subcase of ControlVerbProcess
- roles
- wanter
- constraints
- wanter <--> protagonist
-
-
-schema StateChange // nschneid: For inchoatives, etc.
- subcase of Process, TemporalOrdering
- roles
- initialState: Modifier
- finalState: Modifier
- constraints
- earlier <--> initialState
- later <--> finalState
-
-schema CauseStateChange // nschneid
- subcase of CauseEffectAction
- roles
- process2: StateChange
- constraints
- affected <--> process2.protagonist
-
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-core/grammaticalschemas.grm b/compling.core/base2m/base2m-core/grammaticalschemas.grm
deleted file mode 100644
index 1be1bff..0000000
--- a/compling.core/base2m/base2m-core/grammaticalschemas.grm
+++ /dev/null
@@ -1,179 +0,0 @@
-// A simple RD schema
-schema RD
- roles
- ontological-category
- givenness
- referent
- number
-
-
-// A simple schema for a word
-schema WordForm
- subcase of MorphForm
-
-schema AgreementFeatureSet
- roles
- number: NumberFeature // types: nschneid
- person: PersonFeature
-
-schema AgreementFeatures
- subcase of MorphFeatures
- roles
- features: AgreementFeatureSet
-
-
-schema NominalFeatureSet
- subcase of AgreementFeatureSet
- roles
- case
- massOrPlural //set to 'yes' for mass nouns and plural nouns
-
-
-schema NominalFeatures
- subcase of AgreementFeatures
- roles
- features:NominalFeatureSet
-
-
-schema VerbFeatureSet
- subcase of AgreementFeatureSet
- roles
- verbform
-
-
-schema AuxFeatureSet
- subcase of VerbFeatureSet
- roles
- expectedVerbForm
-
-
-schema VerbFeatures
- subcase of AgreementFeatures
- roles
- features:VerbFeatureSet
- //morph:VerbMorphDescriptors // nschneid
-
-
-schema AuxFeatures
- subcase of VerbFeatures
- roles
- features:AuxFeatureSet
-
-schema SentenceFeatureSet
- roles
- mood
-
-schema SentenceFeatures
- roles
- features: SentenceFeatureSet
-
-
-
-schema NounInflectionMeaning
- roles
- number
-
-
-
-/*
-schema EventDescriptor
- roles
- eventType: Process
- profiledProcess: Process
- profiledParticipant
-*/
-
-
-schema WH-Question-SpeechAct
- roles
- focus
-
-
-
-
-
-// nschneid - Person/number feature schemas to facilitate e.g. inflections of 'be'
-
-// Joint schemas
-
-schema NotSg3 subcase of AgreementFeatureSet
-
-schema Sg2OrPl subcase of AgreementFeatureSet
-
-schema NotSg2OrPl subcase of AgreementFeatureSet
-
-schema Sg1 subcase of NotSg3, NotSg2OrPl
-constraints
- person <-- Person1
- number <-- Sg
-
-schema Sg2 subcase of NotSg3, Sg2OrPl
-constraints
- person <-- Person2
- number <-- Sg
-
-schema Sg3 subcase of NotSg2OrPl
-constraints
- person <-- Person3
- number <-- Sg
-
-schema Pl1 subcase of NotSg3, Sg2OrPl
-constraints
- person <-- Person1
- number <-- Pl
-
-schema Pl2 subcase of NotSg3, Sg2OrPl
-constraints
- person <-- Person2
- number <-- Pl
-
-schema Pl3 subcase of NotSg3, Sg2OrPl
-constraints
- person <-- Person3
- number <-- Pl
-
-// Verb counterparts, for type correctness
-
-schema VerbNotSg3 subcase of NotSg3, VerbFeatureSet // present tense agreement
-
-schema VerbNotSg2OrPl subcase of NotSg2OrPl, VerbFeatureSet // 'was'
-
-schema VerbSg2OrPl subcase of Sg2OrPl, VerbFeatureSet // 'were'
-
-schema VerbSg1 subcase of Sg1, VerbFeatureSet
-
-schema VerbSg2 subcase of Sg2, VerbFeatureSet
-
-schema VerbSg3 subcase of Sg3, VerbFeatureSet
-
-schema VerbPl1 subcase of Pl1, VerbFeatureSet
-
-schema VerbPl2 subcase of Pl2, VerbFeatureSet
-
-schema VerbPl3 subcase of Pl3, VerbFeatureSet
-
-
-// Number only
-
-schema NumberFeature
-
-schema Pl subcase of NumberFeature
-
-schema Sg subcase of NumberFeature
-
-// Person only
-
-schema PersonFeature
-
-schema NotPerson3 subcase of PersonFeature
-
-schema Person1 subcase of NotPerson3
-
-schema Person2 subcase of NotPerson3
-
-schema Person3 subcase of PersonFeature
-
-
-
-
-
diff --git a/compling.core/base2m/base2m-core/grammaticalschemas_AgreementFeatures.dotgraph b/compling.core/base2m/base2m-core/grammaticalschemas_AgreementFeatures.dotgraph
deleted file mode 100644
index ff015ee..0000000
--- a/compling.core/base2m/base2m-core/grammaticalschemas_AgreementFeatures.dotgraph
+++ /dev/null
@@ -1,24 +0,0 @@
-digraph types {
- size="11,8.5";
- node [fontname="Arial", fontcolor=black, color="#ffaaaa", fillcolor="#ffaaaa"];
- node [style="solid"];
- node [style="filled"];
-
- // Subtypes of AgreementFeatureSet, minus VerbFeatureSet and its subtypes (these are the same, but have names starting with Verb)
- // and minus NominalFeatureSet
-
- AgreementFeatureSet -> NotSg2OrPl
- NotSg2OrPl -> Sg3
- NotSg2OrPl -> Sg1
- NotSg3 -> Sg1
- AgreementFeatureSet -> Sg2OrPl
- Sg2OrPl -> Pl1
- NotSg3 -> Pl1
- Sg2OrPl -> Pl3
- NotSg3 -> Pl3
- Sg2OrPl -> Sg2
- NotSg3 -> Sg2
- Sg2OrPl -> Pl2
- NotSg3 -> Pl2
- AgreementFeatureSet -> NotSg3
-}
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-core/grammaticalschemas_AgreementFeatures.pdf b/compling.core/base2m/base2m-core/grammaticalschemas_AgreementFeatures.pdf
deleted file mode 100644
index c3e2a4a..0000000
Binary files a/compling.core/base2m/base2m-core/grammaticalschemas_AgreementFeatures.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-core/imageschemas.grm b/compling.core/base2m/base2m-core/imageschemas.grm
deleted file mode 100644
index 8e4ad7f..0000000
--- a/compling.core/base2m/base2m-core/imageschemas.grm
+++ /dev/null
@@ -1,42 +0,0 @@
-
-schema BoundedRegion
- roles
- boundary : @closedCurve
- interior: @region
- exterior: @region
-
-/*
-schema BoundedObject
- subcase of BoundedRegion
- roles
- boundedObject: @entity
-*/
-
-schema SpatialRelation
-
-schema Proximity
- subcase of SpatialRelation
- roles
- center
- proximalArea
-
-schema Contact // short version
- subcase of SpatialRelation
- roles
- entity1: @entity
- entity2: @entity
-
-schema TrajectorLandmark
- roles
- trajector
- landmark
- profiledArea // ProfiledArea is defined with respect to Landmark
-
-
-// This schema is actually part of a radial category of SPG schemas
-schema SPG
- subcase of TrajectorLandmark
- roles
- source
- path
- goal
diff --git a/compling.core/base2m/base2m-core/lexicalverbplaceholder.grm b/compling.core/base2m/base2m-core/lexicalverbplaceholder.grm
deleted file mode 100644
index 6bc7f2a..0000000
--- a/compling.core/base2m/base2m-core/lexicalverbplaceholder.grm
+++ /dev/null
@@ -1,184 +0,0 @@
-/*********************
-*** This file is just a place holder until the verb hierarchy gets
-*** worked out.
-**********************/
-
-
-
-general construction ControlVerb
- subcase of Verb
- meaning:ControlVerbProcess
-
-
-general construction CausativeVerb // nschneid
- subcase of Verb
- meaning: CauseEffectAction
-
-/*
-construction SlidePast
- subcase of Verb, PastTense
- form
- constraints
- self.f.orth <-- "slid"
- meaning: MotionPath
- constraints
- self.m.x-net <-- @slide
-
-
-construction SlideBase
- subcase of Verb, Base
- form
- constraints
- self.f.orth <-- "slide"
- meaning: MotionPath
- constraints
- self.m.x-net <-- @slide
-
-
-construction SlidePresentParticiple
- subcase of Verb, PresentPart
- form
- constraints
- self.f.orth <-- "sliding"
- meaning: MotionPath
- constraints
- self.m.x-net <-- @slide
-
-
-construction SlidePastParticiple
- subcase of Verb, PastPart
- form
- constraints
- self.f.orth <-- "slid"
- meaning: MotionPath
- constraints
- self.m.x-net <-- @slide
-
-construction Walk
- subcase of VerbStem, PresentNot3SgVerb
- form
- constraints
- self.f.orth <-- "walk"
- meaning: MotionPath
- constraints
- self.m.x-net <-- @walk
-*/
-
-
-construction SLAP1
- subcase of Verb // may be subcase of FA Verbs and of EMP Verbs
- form
- constraints
- self.f.orth <-- "slapped"
- meaning: AgentiveImpactAction
- constraints
- self.m.routine <-- @slap
-
-
-construction HIT1
- subcase of Verb // may be subcase of FA Verbs and of EMP Verbs
- form
- constraints
- self.f.orth <-- "hit"
- meaning: AgentiveImpactAction
- constraints
- self.m.routine <-- @hit
-
-
-construction Give1
- subcase of Verb
- form
- constraints
- self.f.orth <-- "gave"
- meaning: ObjectTransfer
- constraints
- self.m.x-net <-- @give
-
-
-construction ThrowPastTense
- subcase of Verb
- form
- constraints
- self.f.orth <-- "threw"
- meaning: CauseMotionPathAction
- constraints
- self.m.x-net <-- @throw
-
-
-construction Bake1
- subcase of Verb
- form
- constraints
- self.f.orth <-- "baked"
- meaning: CreationAction
- constraints
- self.m.x-net <-- @bake
-
-/*
-construction WANTED
- subcase of ControlVerb
- form
- constraints
- self.f.orth <-- "wanted"
- meaning:WantProcess
-*/
-
-/* // without allowing -ize verbs to be further inflected
-construction HOSPITALIZE_
- subcase of Verb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_26_
- form
- constraints
- self.f.orth <-- "hospitalize"
- meaning
- evokes WLSuffixForm as WLSuffixForm_1_
- evokes MotionPath as MotionPath_2_
- evokes SPG as SPG_3_
- evokes @entity as ONTOLOGY_entity_4_
- evokes @complexxnet as ONTOLOGY_complexxnet_5_
- evokes Institutionalization as Institutionalization_7_
- evokes @animate as ONTOLOGY_animate_10_
- evokes @entity as ONTOLOGY_entity_11_
- evokes ForceApplication as ForceApplication_14_
- evokes RD as RD_15_
- evokes @hospital as ONTOLOGY_hospital_17_
- evokes NominalFeatureSet as NominalFeatureSet_18_
- evokes NounMorphDescriptors as NounMorphDescriptors_19_
- evokes WordForm as WordForm_21_
- evokes Sg as Sg_24_
- evokes VerbFeatureSet as VerbFeatureSet_26_
- constraints
- WLSuffixForm_1_.affix <-- "ize"
- WLSuffixForm_1_.suffix <-- "ize"
- NominalFeatureSet_18_.massOrPlural <-- "no"
- NounMorphDescriptors_19_.pluralType <-- "-s"
- WordForm_21_.orth <-- "hospital"
- self.m <--> Institutionalization_7_
- Institutionalization_7_.process2 <--> MotionPath_2_
- Institutionalization_7_.process1 <--> ForceApplication_14_
- Institutionalization_7_.x-net <--> ONTOLOGY_complexxnet_5_
- Institutionalization_7_.authority <--> ONTOLOGY_animate_10_
- Institutionalization_7_.protagonist <--> ONTOLOGY_animate_10_
- Institutionalization_7_.causer <--> ONTOLOGY_animate_10_
- ForceApplication_14_.protagonist <--> ONTOLOGY_animate_10_
- ForceApplication_14_.actor <--> ONTOLOGY_animate_10_
- MotionPath_2_.mover <--> ONTOLOGY_entity_11_
- MotionPath_2_.protagonist <--> ONTOLOGY_entity_11_
- Institutionalization_7_.affected <--> ONTOLOGY_entity_11_
- Institutionalization_7_.protagonist2 <--> ONTOLOGY_entity_11_
- Institutionalization_7_.patient <--> ONTOLOGY_entity_11_
- ForceApplication_14_.actedUpon <--> ONTOLOGY_entity_11_
- MotionPath_2_.spg <--> SPG_3_
- SPG_3_.goal <--> ONTOLOGY_entity_4_
- Institutionalization_7_.facility <--> ONTOLOGY_entity_4_
- RD_15_.referent <--> ONTOLOGY_entity_4_
- NominalFeatureSet_18_.number <--> Sg_24_
- RD_15_.ontological-category <--> ONTOLOGY_hospital_17_
-*/
-
-
-
-
-
diff --git a/compling.core/base2m/base2m-core/massnouns.grm b/compling.core/base2m/base2m-core/massnouns.grm
deleted file mode 100644
index f9e07e1..0000000
--- a/compling.core/base2m/base2m-core/massnouns.grm
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********
-***
-*** Mass Nouns
-***
-***********/
-
-general construction MassNoun
- subcase of Noun
- constructional
- constraints
- self.features.massOrPlural <-- "yes"
- self.features.number <-- Sg
-
-
-construction Juice
- subcase of MassNoun
- form
- constraints
- self.f.orth <-- "juice"
- meaning
- constraints
- self.m.ontological-category <-- @juice
-
-construction Recession1
- subcase of MassNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "recession"
- meaning
- constraints
- self.m.ontological-category <-- @recession
-
-construction Prosperity
- subcase of MassNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "prosperity"
- meaning
- constraints
- self.m.ontological-category <-- @prosperity
-
-construction Depression2
- subcase of MassNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "depression"
- meaning
- constraints
- self.m.ontological-category <-- @depression
diff --git a/compling.core/base2m/base2m-core/metaphor.grm b/compling.core/base2m/base2m-core/metaphor.grm
deleted file mode 100644
index 6260434..0000000
--- a/compling.core/base2m/base2m-core/metaphor.grm
+++ /dev/null
@@ -1,268 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// metapthor.grm: A test for the new map primitive
-//
-////////////////////////////////////////////////////////////////////////////////
-
-
-//
-// Some structures that are redefined wrt the ones in base2. The original ones
-// (in the indicated files) are commented out.
-//
-
-
-// from frames.grm
-//
-schema Process
- roles
- protagonist: @concrete-entity
- //protagonist: @entity
- x-net: @process
-
-
-// from imageschemas.grm
-//
-schema BoundedObject
- subcase of BoundedRegion
- roles
- boundedObject: @concrete-entity
-
-//
-// Auxiliaries
-//
-construction BePresentSing
- subcase of BeAux, PresentTense, Singular
- form
- constraints
- self.f.orth <-- "is"
-
-
-
-
-construction Dire
- subcase of Adj
- form
- constraints
- self.f.orth <-- "dire"
- meaning: ScalarModifier
- constraints
- self.m.scalarValue <-- "bad"
- self.m.scale <-- "judgmentScale"
-
-
-// Recession1, Depression2, Prosperity moved to massnouns.grm (nschneid)
-// Recession2, Depression1 moved to singularnouns.grm (nschneid)
-
-
-
-
-
-
-//
-// Intitutions as Persons
-//
-
-
-schema InstitutionAsPersonPair
- subcase of Pair
- roles
- first: @institution
- second: @generic-person
-
-
-map InstitutionAsPerson
- subcase of Metaphor
- roles
- //target: Institution
- //source: Person
- target: RD
- source: RD
- // Let the Pair determine the exact types
- institutionToPerson: InstitutionAsPersonPair
- constraints
- institutionToPerson.first <--> target.ontological-category
- institutionToPerson.second <--> source.ontological-category
-
-
-// XXX: These 3 are not used
-/*
-schema Institution
- subcase of RD
- constraints
- self.ontological-category <-- @institution
-
-
-schema Person
- subcase of RD
- constraints
- self.ontological-category <-- @generic-person
-
-
-schema NationState
- subcase of Institution
-*/
-
-
-//
-// Metaphor proper
-//
-
-schema Pair
- roles
- first
- second
-
-
-general map Metaphor
- roles
- target
- source
-
-//
-// States as Locations
-//
-
-schema ConcreteSPG
- subcase of SPG
- roles
- trajector: @concrete-entity
- landmark: @concrete-entity
- source: @concrete-entity
- goal: @concrete-entity
-
-
-schema AbstractSPG
- subcase of SPG
- roles
- trajector: @abstract-entity
- landmark: @abstract-entity
- source: @abstract-entity
- goal: @abstract-entity
-
-
-schema StateAsLocationPair
- subcase of Pair
- roles
- first: @state
- second: @location
-
-
-map StateAsLocation
- subcase of Metaphor
- roles
- target: RD
- source: RD
- stateAsLocation: StateAsLocationPair
- constraints
- stateAsLocation.first <--> target.ontological-category
- stateAsLocation.second <--> source.ontological-category
-
-
-map DifficultyAsHole
- subcase of StateAsLocation
- constraints
- stateAsLocation.first <-- @predicament
- stateAsLocation.second <-- @generic-hole
- // stateAsLocation.first <--> target.referent // Useless
-
-
-schema Change
- subcase of AbstractSPG
-
-
-map ChangeAsMotion
- subcase of Metaphor
- roles
- target: Change
- source: MotionPath
- stateAsLocation: StateAsLocationPair
- institutionAsPerson: InstitutionAsPersonPair
- constraints
- stateAsLocation.first <--> target.goal
- stateAsLocation.second <--> source.spg.goal
-
- institutionAsPerson.first <--> target.trajector
- institutionAsPerson.second <--> source.mover
-
-
-construction EventDescriptorActiveDeclarative
- subcase of Declarative
- constructional
- constituents
- fin: MetaphoricalActiveMotionPath1
- meaning // this is an ED
- evokes InstitutionAsPerson as metaphor
- //evokes Metaphor as metaphor
- constraints
- ignore subj.m.referent <--> self.m.profiledParticipant
- ignore subj.m.ontological-category <-- @concrete-entity
- subj.m.ontological-category <-- @abstract-entity
- metaphor.target <--> subj.m
- metaphor.source.referent <--> self.m.profiledParticipant
-
-
-construction StateAsLocationPathPrepPhrase
- subcase of PathPrepPhrase1
- meaning
- //evokes DifficultyAsHole as stateAsLocation
- evokes StateAsLocation as stateAsLocation
- constraints
- ignore self.m.landmark <--> np.m.referent
- stateAsLocation.source.referent <--> self.m.landmark
- stateAsLocation.target <--> np.m
- //stateAsLocation.target.referent <--> np.m.referent
- ignore np.m.ontological-category <-- @concrete-entity
- np.m.ontological-category <-- @abstract-entity
-
-
-// e.g. France walked into recession
-//
-construction MetaphoricalActiveMotionPath1
- subcase of ActiveMotionPath1
- constructional
- constituents
- pp: StateAsLocationPathPrepPhrase
- meaning
- evokes ChangeAsMotion as changeAsMotion
- constraints
- ignore pp.np.m.ontological-category <-- @concrete-entity
- pp.np.m.ontological-category <-- @abstract-entity
- changeAsMotion.source.mover <--> self.m.mover
- changeAsMotion.target.goal <--> pp.np.m.referent
-
-
-construction ON1
- subcase of LocativePreposition
- form
- constraints
- self.f.orth <-- "on"
- meaning: TrajectorLandmark
- evokes BoundedObject as bo
- constraints
- self.m.landmark <--> bo.boundedObject
- self.m.profiledArea <--> bo.boundary // surface
-
-
-construction IN1
- subcase of LocativePreposition
- form
- constraints
- self.f.orth <-- "in"
- meaning: TrajectorLandmark
- evokes BoundedObject as bo
- constraints
- self.m.landmark <--> bo.boundedObject
- self.m.profiledArea <--> bo.interior // inside
-
-
-construction INTO2
- subcase of PathPreposition
- form
- constraints
- self.f.orth <-- "into"
- meaning: ConcreteSPG
- evokes BoundedObject as bo
- constraints
- self.m.landmark <--> bo.boundedObject
- self.m.goal <--> bo.interior
- self.m.source <--> bo.exterior
diff --git a/compling.core/base2m/base2m-core/modification.grm b/compling.core/base2m/base2m-core/modification.grm
deleted file mode 100644
index 4a93138..0000000
--- a/compling.core/base2m/base2m-core/modification.grm
+++ /dev/null
@@ -1,44 +0,0 @@
-/****
-***
-*** Modifier Schemas
-***
-****/
-
-
-// A simple modifier schema which is the root of the modifier schema hierarchy
-
-schema Modifier
- roles
- modifiedEntity
-
-// A simple modifier schema for scalars like "big" or "red"
-
-schema ScalarModifier
- subcase of Modifier
- roles
- scale
- scalarValue
-
-
-// A simple (atomic) attribute-filler modifier (e.g. someone's name)
-
-schema AttributeFiller
- subcase of Modifier
- roles
- relationName
- filler
-
-
-// For noun noun compounds, we need a way to underspecify the
-//relation between the two entities, so this one will leave the "relationName" role blank
-//and just specify the two entities that are in relation two each other
-
-schema NounNounModifier
- subcase of Modifier
- roles
- modifierEntity
-
-
-// Of course, frame based modifiers will also have to be a subcase of Modifier,
-// but I'm not sure how to proceed with them.
-
diff --git a/compling.core/base2m/base2m-core/morphschemas.dotgraph b/compling.core/base2m/base2m-core/morphschemas.dotgraph
deleted file mode 100644
index ad8fe39..0000000
--- a/compling.core/base2m/base2m-core/morphschemas.dotgraph
+++ /dev/null
@@ -1,113 +0,0 @@
-digraph types {
- size="11,8.5";
- node [fontname="Arial", fontcolor=black, color="#ffaaaa", fillcolor="#ffaaaa"];
- node [style="solid"];
- node [style="filled"];
-
- MorphForm -> AffixForm
- AffixForm -> SuffixForm
- SilentE -> SuffixEForm
- SuffixForm -> SuffixEForm
- SuffixEForm -> PresentOnlyEInflectionForm
- WLAffixForm -> WLSuffixForm
- SuffixForm -> WLSuffixForm
- SilentE -> WLSuffixEForm
- WLSuffixForm -> WLSuffixEForm
- WLSuffixForm -> WLAblautForm
- SilentE -> WLAblautEForm
- WLAblautForm -> WLAblautEForm
- AffixForm -> WLAffixForm
- WordForm -> WLAffixForm
- MorphForm -> FinalY
- MorphForm -> SilentE
- MorphForm -> FinalSibilant
- MorphForm -> WordForm
- AgreementFeatures -> AgreementFeatureSet [label="features", style="dotted"]
- AgreementFeatures -> NominalFeatures
- NominalFeatures -> NominalFeatureSet [label="features", style="dotted"]
- NominalFeatures -> NounMorphDescriptors [label="morph", style="dotted"]
- AgreementFeatures -> VerbFeatures
- VerbFeatures -> VerbFeatureSet [label="features", style="dotted"]
- VerbFeatures -> AuxFeatures
- AuxFeatures -> AuxFeatureSet [label="features", style="dotted"]
- AgreementFeatureSet -> NumberFeature [label="number", style="dotted"]
- AgreementFeatureSet -> PersonFeature [label="person", style="dotted"]
- AgreementFeatureSet -> NotSg2OrPl
- NotSg2OrPl -> NumberFeature [label="number", style="dotted"]
- NotSg2OrPl -> PersonFeature [label="person", style="dotted"]
- NotSg2OrPl -> Sg1
- NotSg3 -> Sg1
- Sg1 -> NumberFeature [label="number", style="dotted"]
- Sg1 -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> VerbSg1
- Sg1 -> VerbSg1
- VerbSg1 -> NumberFeature [label="number", style="dotted"]
- VerbSg1 -> PersonFeature [label="person", style="dotted"]
- NotSg2OrPl -> Sg3
- AgreementFeatureSet -> Sg3
- Sg3 -> NumberFeature [label="number", style="dotted"]
- Sg3 -> PersonFeature [label="person", style="dotted"]
- Sg3 -> VerbSg3
- VerbFeatureSet -> VerbSg3
- VerbSg3 -> NumberFeature [label="number", style="dotted"]
- VerbSg3 -> PersonFeature [label="person", style="dotted"]
- NotSg2OrPl -> VerbNotSg2OrPl
- VerbFeatureSet -> VerbNotSg2OrPl
- VerbNotSg2OrPl -> NumberFeature [label="number", style="dotted"]
- VerbNotSg2OrPl -> PersonFeature [label="person", style="dotted"]
- AgreementFeatureSet -> VerbFeatureSet
- VerbFeatureSet -> NumberFeature [label="number", style="dotted"]
- VerbFeatureSet -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> VerbSg2OrPl
- Sg2OrPl -> VerbSg2OrPl
- VerbSg2OrPl -> NumberFeature [label="number", style="dotted"]
- VerbSg2OrPl -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> VerbPl1
- Pl1 -> VerbPl1
- VerbPl1 -> NumberFeature [label="number", style="dotted"]
- VerbPl1 -> PersonFeature [label="person", style="dotted"]
- Sg2 -> VerbSg2
- VerbFeatureSet -> VerbSg2
- VerbSg2 -> NumberFeature [label="number", style="dotted"]
- VerbSg2 -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> VerbNotSg3
- NotSg3 -> VerbNotSg3
- VerbNotSg3 -> NumberFeature [label="number", style="dotted"]
- VerbNotSg3 -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> AuxFeatureSet
- AuxFeatureSet -> NumberFeature [label="number", style="dotted"]
- AuxFeatureSet -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> VerbPl3
- Pl3 -> VerbPl3
- VerbPl3 -> NumberFeature [label="number", style="dotted"]
- VerbPl3 -> PersonFeature [label="person", style="dotted"]
- VerbFeatureSet -> VerbPl2
- Pl2 -> VerbPl2
- VerbPl2 -> NumberFeature [label="number", style="dotted"]
- VerbPl2 -> PersonFeature [label="person", style="dotted"]
- AgreementFeatureSet -> NominalFeatureSet
- NominalFeatureSet -> NumberFeature [label="number", style="dotted"]
- NominalFeatureSet -> PersonFeature [label="person", style="dotted"]
- AgreementFeatureSet -> NotSg3
- NotSg3 -> NumberFeature [label="number", style="dotted"]
- NotSg3 -> PersonFeature [label="person", style="dotted"]
- Sg2OrPl -> Sg2
- NotSg3 -> Sg2
- Sg2 -> NumberFeature [label="number", style="dotted"]
- Sg2 -> PersonFeature [label="person", style="dotted"]
- Sg2OrPl -> Pl2
- NotSg3 -> Pl2
- Pl2 -> NumberFeature [label="number", style="dotted"]
- Pl2 -> PersonFeature [label="person", style="dotted"]
- Sg2OrPl -> Pl1
- NotSg3 -> Pl1
- Pl1 -> NumberFeature [label="number", style="dotted"]
- Pl1 -> PersonFeature [label="person", style="dotted"]
- Sg2OrPl -> Pl3
- NotSg3 -> Pl3
- Pl3 -> NumberFeature [label="number", style="dotted"]
- Pl3 -> PersonFeature [label="person", style="dotted"]
- AgreementFeatureSet -> Sg2OrPl
- Sg2OrPl -> NumberFeature [label="number", style="dotted"]
- Sg2OrPl -> PersonFeature [label="person", style="dotted"]
-}
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-core/morphschemas.grm b/compling.core/base2m/base2m-core/morphschemas.grm
deleted file mode 100644
index c166900..0000000
--- a/compling.core/base2m/base2m-core/morphschemas.grm
+++ /dev/null
@@ -1,94 +0,0 @@
-/********************
- Schemas for describing morphological constructions
- *********************
- nschneid
- 2009-05-13
-*/
-
-schema MorphForm
- roles
- orth
-
-schema AffixForm
- subcase of MorphForm
- roles
- stem
- affix
-
-schema SuffixForm
- subcase of AffixForm
- roles
- suffix
- constraints
- suffix <--> affix
-
-schema SuffixEForm subcase of SuffixForm, SilentEForm
-
-schema SilentEForm
- subcase of MorphForm
- roles
- silentE
-
-schema FinalYForm
- subcase of MorphForm
- roles
- finalY
-
-schema FinalSibilantForm
- subcase of MorphForm
- roles
- finalSib
-
-schema WLSuffixEForm // e.g. 'mov{e(s),ing}/moved/moved'
- subcase of WLSuffixForm, SilentEForm
-
-schema WLFinalSibilantForm
- subcase of WLSuffixForm, FinalSibilantForm
-
-schema WLFinalYForm
- subcase of WLSuffixForm, FinalYForm
-
-schema WLFinalSibilantFinalYForm
- subcase of WLFinalSibilantForm, WLFinalYForm
-
-schema WLAblautForm // only mainV changes, e.g. 'ring{s,ing}/rang/rung'; 'know{s,ing}/knew/known'
- subcase of WLSuffixForm
- roles
- initial
- mainV
- final
-
-schema WLAblautEForm // e.g. 'rid{e,ing}/rode/ridden', 'eat(ing)/ate/eaten', 'break(ing)/broke/broken', 'slid{e,ing}/slid/slid'
- subcase of WLAblautForm, SilentEForm
- roles
- // initial; mainV; final; silentE; suffix
- silentE
-
-
-
-// e.g. break/broke/broken, , ring/rang/rung,
-
-schema WLAffixForm
- subcase of AffixForm, WordForm
-
-schema WLSuffixForm
- subcase of SuffixForm, WLAffixForm
-
-
-
-schema MorphFeatures
- roles
- atWordLevel
-
-schema NounMorphDescriptors
- roles
- pluralType
-
-
-schema VerbMorphDescriptors
- roles
- presType
- pastType
- pres3SgType
- prespartType
- pastpartType
diff --git a/compling.core/base2m/base2m-core/morphschemas.pdf b/compling.core/base2m/base2m-core/morphschemas.pdf
deleted file mode 100644
index 48ecb6c..0000000
Binary files a/compling.core/base2m/base2m-core/morphschemas.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-core/morphschemas_MorphForm.dotgraph b/compling.core/base2m/base2m-core/morphschemas_MorphForm.dotgraph
deleted file mode 100644
index 9d8b4e9..0000000
--- a/compling.core/base2m/base2m-core/morphschemas_MorphForm.dotgraph
+++ /dev/null
@@ -1,32 +0,0 @@
-digraph types {
- size="11,8.5";
- pad="0.2,0.0";
- node [fontname="Arial", fontcolor=black, color="#ffaaaa", fillcolor="#ffaaaa"];
- node [style="solid"];
- node [style="filled"];
-
- MorphForm -> SilentEForm
- SilentEForm -> WLAblautEForm
- WLAblautForm -> WLAblautEForm
- SilentEForm -> WLSuffixEForm
- WLSuffixForm -> WLSuffixEForm
- SilentEForm -> SuffixEForm
- SuffixForm -> SuffixEForm
- SuffixEForm -> PresentOnlyEInflectionForm
- MorphForm -> WordForm
- AffixForm -> WLAffixForm
- WordForm -> WLAffixForm
- WLAffixForm -> WLSuffixForm
- SuffixForm -> WLSuffixForm
- WLSuffixForm -> WLAblautForm
- FinalSibilantForm -> WLFinalSibilantForm
- WLSuffixForm -> WLFinalSibilantForm
- WLFinalYForm -> WLFinalSibilantFinalYForm
- WLFinalSibilantForm -> WLFinalSibilantFinalYForm
- WLSuffixForm -> WLFinalYForm
- FinalYForm -> WLFinalYForm
- MorphForm -> FinalSibilantForm
- MorphForm -> FinalYForm
- MorphForm -> AffixForm
- AffixForm -> SuffixForm
-}
diff --git a/compling.core/base2m/base2m-core/morphschemas_MorphForm.pdf b/compling.core/base2m/base2m-core/morphschemas_MorphForm.pdf
deleted file mode 100644
index 89ef130..0000000
Binary files a/compling.core/base2m/base2m-core/morphschemas_MorphForm.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-core/np.grm b/compling.core/base2m/base2m-core/np.grm
deleted file mode 100644
index 8b7c8c6..0000000
--- a/compling.core/base2m/base2m-core/np.grm
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- np.grm
-
-This file contains (possible) constructions for kernel noun phrases.
-
-The assumption is that each NP has an RD structure as its meaning.
-This implies that proper nouns, pronouns, and mass/plural nouns make
-RD their meaning. For sake of uniformity, I also assume that common
-count nouns (which are not NPs) also denote an RD.
-
-Semantically, adjectives, noun modifiers and post-nominal modifiers form a constellation
-of modifiers around the primary RD for the NP. Each modifier binds the
-referent role of the entity that it's modifying to its modifiedEntity role.
-
-
-Additionally, the givenness role should be inspected and evaluated for the
-different types of NPs, and this file has "?" when I didn't know what value to
-assign a role.
-
-*******************************************************************************/
-
-
-/***
- ***
- *** The root constructions of the NP, Noun and Nominal hierarchy
- ***
- ***/
-
-general construction NP
- subcase of HasNominalFeatures //, RootType
- meaning: RD
-
-general construction Nominal //This is the root of nouns and noun noun compounds
- subcase of HasNominalFeatures
- meaning: RD
-
-general construction Noun
- subcase of Word, Nominal
-
-general construction CommonNoun // nschneid
- subcase of Noun
-
-/***
- ***
- *** Combining Adjectives and Nouns
- ***
- ***/
-
-
-// Note that Kernel is NOT an NP
-// it is general because we need a supertype to cover the bracketed phrases in
-// 'the [big table]' and 'the [big table and leather chair]'
-//
-general construction Kernel
- subcase of HasNominalFeatures
- meaning: RD
-
-
-construction SimpleKernel
- subcase of Kernel
- constructional
- constituents
- optional ap: AdjectivalPhrase
- n: Nominal
- constraints
- self.features <--> n.features
- form
- constraints
- ap.f meets n.f
- meaning
- constraints
- self.m <--> n.m
- self.m.referent <--> ap.m.modifiedEntity
-
-
-general construction SpecifierPlusKernel
- subcase of NP
- constructional
- constituents
- s: NPSpecifier
- k: Kernel
- constraints
- self.features <--> k.features
- self.features <--> s.features
- form
- constraints
- s.f meets k.f
- meaning
- constraints
- self.m <--> k.m
- self.m <--> s.m
-
-
-construction DeterminerPlusKernel
- subcase of SpecifierPlusKernel
- constructional
- constituents
- s: Determiner
-
-
-// I separated PossessivePronounPlusKernel because the likelihood of omitting
-// the kernel is nonzero with possessive pronouns (e.g. 'I want the'* vs. 'I
-// want his')
-
-construction PossessivePronounPlusKernel
- subcase of SpecifierPlusKernel
- constructional
- constituents
- s: PossessivePronoun
- k: Kernel // Here is where we would specify the higher likelihood of an
- // omitted kernel given a PossPronoun
-
-
-construction UndeterminedNP
- subcase of NP, SimpleKernel
- constructional
- constraints
- n.features.massOrPlural <-- "yes"
- meaning
- constraints
- self.m.givenness <-- "type-identifiable" // Michael
-
-
-/***
- *** Building Noun Noun Compounds
- *** Note that this construction allows for both left and right branching.
- ***
- *** One way to extend this would be to make this construction general,
- *** and then make subcases of it for the productive kinds of noun-noun
- *** modification and the lexicalized noun-noun compound
- ***
- ***/
-
-construction NounNounCompound
- subcase of Nominal
- constructional
- constituents
- mod: Nominal
- head: Nominal
- constraints
- self.features <--> head.features
- form
- constraints
- mod.f meets head.f
- meaning
- evokes NounNounModifier as nnm
- constraints
- self.m <--> head.m
- nnm.modifiedEntity <--> head.m.referent
- nnm.modifierEntity <--> mod.m.referent
-
-
-/***
- *** WH NPs can be be wh pronouns or NPs in which 'which' and 'what' are the
- *** specifiers
- ***
- ***/
-
-general construction WH-NP
- subcase of NP
-
-
-construction WhSpecifierPlusKernel
- subcase of SpecifierPlusKernel, WH-NP
- constructional
- constituents
- s:WH-Specifier
diff --git a/compling.core/base2m/base2m-core/ontology.ont b/compling.core/base2m/base2m-core/ontology.ont
deleted file mode 100644
index 6d42f89..0000000
--- a/compling.core/base2m/base2m-core/ontology.ont
+++ /dev/null
@@ -1,148 +0,0 @@
-//
-// ontology.ont
-//
-
-DEFS:
-
-(type entity)
-
-(type concrete-entity sub entity)
-
-(type instrument sub concrete-entity)
-
-(type animate sub concrete-entity)
-
-(type generic-person sub animate)
-
-(type male-person sub generic-person)
-
-(type female-person sub generic-person)
-
-(type señor sub male-person)
-
-(type niña sub female-person)
-
-(type hand sub instrument)
-
-(type hammer sub instrument)
-
-(type table sub concrete-entity)
-
-(type territory sub concrete-entity region)
-
-(type location sub concrete-entity region)
-
-(type room sub concrete-entity region)
-
-(type house sub concrete-entity region)
-
-(type box sub concrete-entity region)
-
-(type cake sub concrete-entity)
-
-(type apple sub concrete-entity)
-
-(type hospital sub concrete-entity)
-
-(type tree sub concrete-entity)
-
-(type juice sub concrete-entity)
-
-(type berry sub concrete-entity)
-
-//==================
-
-(type region sub concrete-entity)
-
-(type generic-hole sub location)
-
-(type closedCurve sub region)
-
-//
-// Abstract stuff
-//
-
-(type abstract-entity sub entity)
-
-(type state sub abstract-entity)
-
-(type predicament sub abstract-entity state)
-
-(type length sub abstract-entity)
-
-//(type difficulty sub predicament state)
-
-(type economic-condition sub state)
-
-(type disorder sub state)
-
-(type depression sub disorder)
-
-(type recession sub economic-condition predicament)
-
-(type prosperity sub economic-condition )
-
-(type institution sub abstract-entity)
-
-(type nation sub institution)
-
-(type france sub nation)
-
-(type germany sub nation)
-
-(type concept sub abstract-entity)
-
-(type time sub abstract-entity)
-
-(type now sub time)
-
-(type time-delta sub time)
-
-(type year sub time-delta)
-
-(type number sub concept)
-
-//
-//
-//
-
-(type process)
-
-(type complexxnet sub process)
-
-(type routine sub process)
-
-(type motion sub process)
-
-(type effectormotion sub complexxnet)
-
-(type forceapplication sub routine)
-
-(type forcefulmotionaction sub complexxnet)
-
-(type agentiveimpactaction sub forcefulmotionaction)
-
-(type causeeffect sub complexxnet)
-
-(type slap sub agentiveimpactaction)
-
-(type hit sub agentiveimpactaction)
-
-(type slide sub motion)
-
-(type walk sub motion)
-
-(type objecttransfer sub complexxnet)
-
-(type releasehold sub forceapplication)
-
-(type establishhold sub forceapplication)
-
-(type throw sub complexxnet)
-
-(type give sub objecttransfer)
-
-(type bake sub process)
-
-INSTS:
-
diff --git a/compling.core/base2m/base2m-core/pluralnouns.grm b/compling.core/base2m/base2m-core/pluralnouns.grm
deleted file mode 100644
index 06aa8dc..0000000
--- a/compling.core/base2m/base2m-core/pluralnouns.grm
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********
-***
-*** Plural Nouns
-***
-***********/
-/*
-general construction PluralNoun
- subcase of Noun, Plural
- constructional
- constraints
- self.features.massOrPlural <-- "yes"
- meaning
- constraints
- self.m.number <-- ">1"
-
-
-construction Apples
- subcase of PluralNoun
- form
- constraints
- self.f.orth <-- "apples"
- meaning
- constraints
- self.m.ontological-category <-- @apple
-*/
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-core/pp.grm b/compling.core/base2m/base2m-core/pp.grm
deleted file mode 100644
index 98a9c7f..0000000
--- a/compling.core/base2m/base2m-core/pp.grm
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-general construction Spatial-PP
- subcase of RootType
- constructional
- constituents
- prep: SpatialPreposition
- np: NP
- form
- constraints
- prep.f before np.f
- meaning: TrajectorLandmark
- constraints
- self.m <--> prep.m
- self.m.landmark <--> np.m.referent
- np.m.ontological-category <-- @concrete-entity
-
-
-construction PathPrepPhrase1 // central case
- subcase of Spatial-PP
- constructional
- constituents
- prep: PathPreposition // e.g. into, to, from
- meaning: SPG
-
-
-construction PathPrepPhrase2 // extension for locative preps
- subcase of Spatial-PP
- constructional
- constituents
- prep: LocativePreposition // e.g. in, inside, on, under
- meaning: SPG
- constraints
- self.m.goal <--> prep.m.profiledArea
-
-
-construction ByPhrase
- constructional
- constituents
- by: BY
- np: NP
- form
- constraints
- by.f meets np.f
- meaning:TrajectorLandmark
- constraints
- np.m.referent <--> self.m.landmark
diff --git a/compling.core/base2m/base2m-core/prep.grm b/compling.core/base2m/base2m-core/prep.grm
deleted file mode 100644
index 6766cab..0000000
--- a/compling.core/base2m/base2m-core/prep.grm
+++ /dev/null
@@ -1,76 +0,0 @@
-general construction SpatialPreposition
- subcase of Word
- meaning: TrajectorLandmark
-
-
-general construction PathPreposition
- subcase of SpatialPreposition
- meaning: SPG
-
-
-general construction LocativePreposition
- subcase of SpatialPreposition
-
-
-construction TO1
- subcase of PathPreposition
- form
- constraints
- self.f.orth <-- "to"
- meaning: SPG
- constraints
- self.m.landmark <--> self.m.goal
-
-/*
-construction INTO1
- subcase of PathPreposition
- form
- constraints
- self.f.orth <-- "into"
- meaning: SPG
- evokes BoundedObject as bo
- constraints
- self.m.landmark <--> bo.boundedObject
- self.m.goal <--> bo.interior
- self.m.source <--> bo.exterior
-
-
-construction ON1
- subcase of LocativePreposition
- form
- constraints
- self.f.orth <-- "on"
- meaning: TrajectorLandmark
- evokes BoundedObject as bo
- constraints
- self.m.profiledArea <--> bo.boundary // surface
- self.m.landmark <--> bo.boundedObject
-*/
-
-construction AT1
- subcase of LocativePreposition
- form
- constraints
- self.f.orth <-- "at"
- meaning: TrajectorLandmark
- evokes Proximity as p
- constraints
- self.m.profiledArea <--> p.proximalArea
- self.m.landmark <--> p.center
-
-
-construction BY
- subcase of LocativePreposition
- form
- constraints
- self.f.orth <-- "by"
- meaning: TrajectorLandmark
-
-construction TO-Infinitive-Marker
- subcase of Word
- constructional: VerbFeatures // nschneid
- constraints
- self.features.verbform <-- Infinitive // nschneid
- form
- constraints
- self.f.orth <-- "to"
diff --git a/compling.core/base2m/base2m-core/pronoun.grm b/compling.core/base2m/base2m-core/pronoun.grm
deleted file mode 100644
index d519a39..0000000
--- a/compling.core/base2m/base2m-core/pronoun.grm
+++ /dev/null
@@ -1,98 +0,0 @@
-/*********
-***
-*** Pronouns
-***
-*********/
-
-general construction Pronoun
- subcase of NP, Word
- constructional
- constraints
- self.features.massOrPlural <-- "no"
- meaning
- constraints
- self.m.givenness <-- "in-focus"
-
-
-construction He
- subcase of Pronoun, Singular, ThirdPerson
- constructional
- constraints
- self.features.case <-- "nom"
- form
- constraints
- self.f.orth <-- "he"
- meaning
- constraints
- self.m.ontological-category <-- @male-person
- self.m.number <-- "1"
-
-
-construction HimDat
- subcase of Pronoun, Singular, ThirdPerson
- constructional
- constraints
- self.features.case <-- "dat"
- form
- constraints
- self.f.orth <-- "him"
- meaning
- constraints
- self.m.ontological-category <-- @male-person
- self.m.number <-- "1"
-
-
-construction HimAcc
- subcase of Pronoun, Singular
- constructional
- constraints
- self.features.case <-- "acc"
- form
- constraints
- self.f.orth <-- "him"
- meaning
- constraints
- self.m.ontological-category <-- @male-person
- self.m.number <-- "1"
-
-
-construction She
- subcase of Pronoun, Singular, ThirdPerson
- constructional
- constraints
- self.features.case <-- "nom"
- form
- constraints
- self.f.orth <-- "she"
- meaning
- constraints
- self.m.ontological-category <-- @female-person
- self.m.number <-- "1"
-
-
-construction HerDat
- subcase of Pronoun, Singular, ThirdPerson
- constructional
- constraints
- self.features.case <-- "dat"
- form
- constraints
- self.f.orth <-- "her"
- meaning
- constraints
- self.m.ontological-category <-- @female-person
- self.m.number <-- "1"
-
-
-construction HerAcc
- subcase of Pronoun, Singular, ThirdPerson
- constructional
- constraints
- self.features.case <-- "acc"
- form
- constraints
- self.f.orth <-- "her"
- meaning
- constraints
- self.m.ontological-category <-- @female-person
- self.m.number <-- "1"
diff --git a/compling.core/base2m/base2m-core/proper-noun.grm b/compling.core/base2m/base2m-core/proper-noun.grm
deleted file mode 100644
index 39653be..0000000
--- a/compling.core/base2m/base2m-core/proper-noun.grm
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Proper nouns.
-//
-
-/*
-general construction ProperNounNP
- subcase of NP, Word
-
-
-construction JOHN
- subcase of ProperNounNP
- constructional
- constraints
- self.features.number <-- "sg"
- form
- constraints
- self.f.orth <-- "John"
- meaning
- constraints
- self.m.ontological-category <-- @maleAnimate
-
-
-construction LAURA
- subcase of ProperNounNP
- constructional
- constraints
- self.features.number <-- "sg"
- form
- constraints
- self.f.orth <-- "Laura"
- meaning
- constraints
- self.m.ontological-category <-- @femaleAnimate
-*/
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-core/propernouns.grm b/compling.core/base2m/base2m-core/propernouns.grm
deleted file mode 100644
index c41c524..0000000
--- a/compling.core/base2m/base2m-core/propernouns.grm
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// Proper nouns
-//
-
-general construction ProperNoun
- subcase of NP, Word, Singular
-
-
-general construction ProperMaleNoun
- subcase of ProperNoun
- meaning
- constraints
- self.m.ontological-category <-- @male-person
-
-
-general construction ProperFemaleNoun
- subcase of ProperNoun
- meaning
- constraints
- self.m.ontological-category <-- @female-person
-
-
-construction John
- subcase of ProperMaleNoun
- form
- constraints
- self.f.orth <-- "John"
-
-
-construction Laura
- subcase of ProperFemaleNoun
- form
- constraints
- self.f.orth <-- "Laura"
-
-//
-// Other lexical items
-//
-
-construction France
- subcase of ProperNoun
- form
- constraints
- self.f.orth <-- "France"
- meaning
- constraints
- self.m.ontological-category <-- @france
-
-
-construction Germany
- subcase of ProperNoun
- form
- constraints
- self.f.orth <-- "Germany"
- meaning
- constraints
- self.m.ontological-category <-- @germany
diff --git a/compling.core/base2m/base2m-core/root.grm b/compling.core/base2m/base2m-core/root.grm
deleted file mode 100644
index 4cfedba..0000000
--- a/compling.core/base2m/base2m-core/root.grm
+++ /dev/null
@@ -1,71 +0,0 @@
-construction ROOT
- constructional
- constituents
- rootconstituent: RootType
- meaning
- constraints
- self.m <--> rootconstituent.m
-
-
-general construction RootType
-
-
-construction UnknownWord
- subcase of Word, RootType
- form
- constraints
- self.f.orth <-- "UNKNOWN-ITEM"
-
-
-general construction HasAgreementFeatures
- constructional: AgreementFeatures
-
-
-general construction HasVerbFeatures
- subcase of HasAgreementFeatures
- constructional: VerbFeatures
-
-
-general construction HasNominalFeatures
- subcase of HasAgreementFeatures
- constructional: NominalFeatures
-
-
-general construction Singular
- subcase of HasAgreementFeatures
- constructional
- constraints
- self.features.number <-- Sg
-
-general construction Plural
- subcase of HasAgreementFeatures
- constructional
- constraints
- self.features.number <-- Pl
-
-
-general construction FirstPerson
- subcase of HasAgreementFeatures
- constructional
- constraints
- self.features.person <-- Person1
-
-general construction SecondPerson
- subcase of HasAgreementFeatures
- constructional
- constraints
- self.features.person <-- Person2
-
-general construction ThirdPerson
- subcase of HasAgreementFeatures
- constructional
- constraints
- self.features.person <-- Person3
-
-
-general construction Word
- subcase of WLMorph //, RootType
- form : WordForm
-
-
-
diff --git a/compling.core/base2m/base2m-core/schemas-institutionalize.grm b/compling.core/base2m/base2m-core/schemas-institutionalize.grm
deleted file mode 100644
index 15c190c..0000000
--- a/compling.core/base2m/base2m-core/schemas-institutionalize.grm
+++ /dev/null
@@ -1,28 +0,0 @@
-/*********************
- Schemas for the Institutionalization frame
- *********************
- nschneid
- 2009-05-13
-*/
-
-// Adapted from FrameNet: http://framenet.icsi.berkeley.edu/index.php?option=com_wrapper&Itemid=118&frame=Institutionalization
-
-/*
-A Patient is commited to the care of a medical Facility by a proper Authority.
-Regardless of whether the Patient agrees or does not agree with their placement in the Facility,
-the Authority judges that it is in the best interest of the Patient or his environment that
-the Patient receive treatment in the Facility.
-*/
-
-
-schema Institutionalization
- subcase of CauseMotionPathAction
- roles
- authority: @animate // The Authority is the actor carrying out the institutionalization with proper legal authorization, either invested into them in general by the government or granted due to power of attorney over the Patient.
- facility: @entity // The facility where the Patient is taken for treatment.
- patient: @animate // The person who is committed to a facility with a view towards helping them mentally or physically.
- affliction // The condition exhibited by the Patient, which is deemed to merit institutionalization by the Authority.
- constraints
- causer <--> authority
- affected <--> patient
- process2.spg.goal <--> facility
diff --git a/compling.core/base2m/base2m-core/schemas-legality.grm b/compling.core/base2m/base2m-core/schemas-legality.grm
deleted file mode 100644
index ab8d15c..0000000
--- a/compling.core/base2m/base2m-core/schemas-legality.grm
+++ /dev/null
@@ -1,95 +0,0 @@
-/*********************
- Schemas for the Legality frame
- *********************
- nschneid
- 2009-05-12
-*/
-
-// Adapted from FrameNet: http://framenet.icsi.berkeley.edu/index.php?option=com_wrapper&Itemid=118&frame=Legality
-
-// The main frame: positive or negative legality
-
-schema Legality
- roles
- entity
- code // The Code is the set of rules, laws or regulations that determine whether the Action is allowed or prohibited.
- islegal // "yes" (for legality) or "no" (for illegality)
-
-schema ObjectLegality
- subcase of Legality
- roles
- object: @entity // The Object complies with or violates the Code by virtue of its existence, location or possession.
-
-schema ActionLegality
- subcase of Legality
- roles
- action: Process // The Action is the behavior which complies with or violates the Code.
-
-// Modifiers
-
-// Legal
-
-schema Legal
- subcase of Modifier, Legality
- constraints
- islegal <-- "yes"
- // self << modifiedEntity // some role of Legality is filled by modifiedEntry: action ('legal action') or object ('legal drug'). Cannot be the code; 'legal document/requirement' is a different sense of 'legal'
-
-schema LegalObject
- subcase of Legal, ObjectLegality
- constraints
- object <--> modifiedEntity
-
-schema LegalAction
- subcase of Legal, ActionLegality
- constraints
- action <--> modifiedEntity
-
-// Illegal
-
-schema Illegal
- subcase of Modifier, Legality
- constraints
- islegal <-- "no"
- // self << modifiedEntity // some role of Legality is filled by modifiedEntry: action ('illegal action') or object ('illegal drug'). Cannot be the code (*'illegal code').
-
-schema IllegalObject
- subcase of Illegal, ObjectLegality
- constraints
- object <--> modifiedEntity
-
-schema IllegalAction
- subcase of Illegal, ActionLegality
- constraints
- action <--> modifiedEntity
-
-// Verb: Legalize (use productive -ize suffix instead)
-/*
-schema Legalize
- subcase of CauseStateChange
- evokes Illegal as illeg
- evokes Legal as leg
- constraints
- process2.initialState <--> illeg
- process2.finalState <--> leg
-
-schema LegalizeObject
- subcase of Legalize
- evokes IllegalObject as oilleg
- evokes LegalObject as oleg
- constraints
- illeg <--> oilleg
- leg <--> oleg
- oilleg.object <--> affected
- oleg.object <--> affected
-
-schema LegalizeAction
- subcase of Legalize
- evokes IllegalAction as ailleg
- evokes LegalAction as aleg
- constraints
- illeg <--> ailleg
- leg <--> aleg
- ailleg.action <--> affected
- aleg.action <--> affected
-*/
diff --git a/compling.core/base2m/base2m-core/sentence.grm b/compling.core/base2m/base2m-core/sentence.grm
deleted file mode 100644
index cee2b0c..0000000
--- a/compling.core/base2m/base2m-core/sentence.grm
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-// sentence.grm
-//
-
-
-// The general cxn S is the root of most (all?) speech acts
-//
-general construction S
- subcase of RootType
- constructional: SentenceFeatures
- meaning: EventDescriptor
-
-
-// This general cxn does the agreement between subj and verb
-//
-general construction S-With-Subj
- subcase of S
- constructional
- constituents
- subj: NP
- fin: HasVerbFeatures
- constraints
- fin.features.verbform <-- Finite
- subj.features.person <--> fin.features.person
- subj.features.number <--> fin.features.number
- subj.features.case <-- "nom"
- meaning
- constraints
- subj.m.ontological-category <-- @concrete-entity
- subj.m.referent <--> self.m.profiledParticipant
-
-
-construction Declarative
- subcase of S-With-Subj
- constructional
- constituents
- fin: VP
- optional delim: Period
- constraints
- self.features.mood <-- "Declarative"
- form
- constraints
- subj.f before fin.f
- fin.f before delim.f
- meaning
- constraints
- self.m <--> fin.ed
-
-
-construction SubjWH-Question
- subcase of S-With-Subj
- constructional
- constituents
- subj: WH-NP
- fin: VP
- delim: QuestionMark
- constraints
- self.features.mood <-- "WH-Question"
- form
- constraints
- subj.f before fin.f
- fin.f before delim.f
- meaning
- constraints
- self.m <--> fin.ed
-
-
-// This general cxn licenses "he is walking"
-// where "he" is the subj, "is" is the finite aux,
-// and "walking" is the nonfinite argument structure
-
-general construction S-With-Aux-Inversion
- subcase of S-With-Subj
- constructional
- constituents
- fin: Aux
- vp: VP
- constraints
- fin.features.expectedVerbForm <--> vp.features.verbform
- form
- constraints
- fin.f meets subj.f
- subj.f before vp.f
- meaning
- constraints
- vp.ed <--> self.m
-
-
-construction Yes-No-Question
- subcase of S-With-Aux-Inversion
- constructional
- constituents
- delim: QuestionMark
- constraints
- self.features.mood <-- "YN-Question"
- form
- constraints
- vp.f before delim.f
- // semantic stuff has to happen for questions, but I don't know what.
-
-
-construction Fronted-WH-Question
- subcase of Yes-No-Question
- constructional
- constituents
- extraposed qnp: WH-NP
- constraints
- ignore self.features.mood <-- "YN-Question"
- self.features.mood <-- "WH-Question"
- form
- constraints
- qnp.f meets fin.f
- // semantic stuff has to happen for questions, but I don't know what.
-
-
diff --git a/compling.core/base2m/base2m-core/situation.grm b/compling.core/base2m/base2m-core/situation.grm
deleted file mode 100644
index 39435c2..0000000
--- a/compling.core/base2m/base2m-core/situation.grm
+++ /dev/null
@@ -1,480 +0,0 @@
-//
-// situation.grm: Situation stuff
-//
-
-
-//
-// Lexical definitions
-//
-
-
-construction This
- subcase of Determiner
- form
- constraints
- self.f.orth <-- "this"
-
-
-//
-// Clauses and other stuff
-//
-
-
-schema PunctuationForm
- roles
- orth
-
-
-general construction Punctuation
- form: PunctuationForm
-
-
-construction Comma
- subcase of Punctuation // XXX: Not a word
- form
- constraints
- self.f.orth <-- ","
-
-
-construction Period
- subcase of Punctuation // XXX: Not a word
- form
- constraints
- self.f.orth <-- "."
-
-
-construction QuestionMark
- subcase of Punctuation // XXX: Not a word
- form
- constraints
- self.f.orth <-- "?"
-
-
-/*
-general construction Clause
- subcase of RootType
- meaning: EventDescriptor
-
-
-// from sentence.grm
-general construction S
- subcase of Clause
- constructional: SentenceFeatures
-
-
-general construction Subordinate
- subcase of RootType
- meaning: Modifier
-
-
-general construction ComplexS
- subcase of S
- constructional
- constituents
- subordinate: Subordinate
- optional comma: Comma
- main: Clause
- form
- constraints
- subordinate.f before comma.f
- comma.f before main.f
- meaning
- constraints
- subordinate.m.modifiedEntity <--> main.m
- self.m <--> main.m
-
-
-general construction Phrase
- subcase of RootType
-
-
-construction MultiClause
- subcase of RootType
- constructional
- constituents
- phrase: Phrase
- optional comma: Comma
- predication: Declarative // ???
- form
- constraints
- clause.f before comma.f
- comma.f before predication.f
- meaning: EventDescriptor
- evokes Discourse_Segment as DS
- constraints
- self.m <--> predication.m
- self.m <--> clause.m
- DS.sit-space <--> clause.DS.sit-space
- DS.sit-space <--> predication.DS.sit-space
-*/
-
-/*
- general construction TimeNoun
- subcase of Noun
-
-
-general construction TemporalSpecifier
- subcase of NP
- constructional
- constituents
- spec: NPSpecifier
- n: TimeNoun
- meaning: RD
- constraints
- self.m.ontological-category <--> n.m
- self.m.referent <--> n.m
-
-
-construction TemporalPhrase
- subcase of RootType
- constructional
- constituents
- spec: TemporalSpecifier
- adj: TemporalAdverb
- form
- constraints
- spec.f before adj.f
- meaning: EventDescriptor
- evokes Discourse_Segment as DS
- evokes TemporalSpace as past
- constraints
- spec.m <--> adj.m
- //DS.speech_act <--> self.m.speechAct
- // Focus shifts:
- // o First, set the current space's parent
- // to the current focus...
- //DS.sit-space.parent <-- focus
- // o then, shift focus to the evoked past space.
- //focus <-- past
- // o and finally unify the current space
- //DS.sit-space <-- past
- DS.sit-space <--> past
-
-*/
-
-// Replaces the ED in grammaticalschemas.grm
-//
-schema EventDescriptor
- roles
- eventType: Process
- host: SituationRoot
- profiledProcess: Process
- profiledParticipant
- profiledState
-
-
-schema CardinalModifier
- subcase of ScalarModifier
- constraints
- scale <-- "quantity"
-
-
-general construction Cardinal
- subcase of Word, HasAgreementFeatures
- meaning: CardinalModifier
-
-
-construction One
- subcase of Cardinal, Singular
- form
- constraints
- self.f.orth <-- "one"
- meaning
- constraints
- self.m.scalarValue <-- "1"
-
-
-
-construction Ten
- subcase of Cardinal, Plural
- form
- constraints
- self.f.orth <-- "ten"
- meaning
- constraints
- self.m.scalarValue <-- "10"
-
-// Year moved to singularnouns.grm (nschneid)
-
-
-construction Years
- subcase of CommonNoun
- constructional
- constraints
- features.number <-- Pl3
- features.massOrPlural <-- "yes"
- form
- constraints
- self.f.orth <-- "years"
- meaning
- constraints
- self.m.ontological-category <-- @year
-
-
-schema SpatialModifier
- subcase of Modifier
-
-
-schema TemporalModifier
- subcase of Modifier
- roles
- profiledInterval // one of "present", "past", "future"
- timeDelta
-
-
-general construction ModifierPhrase
- subcase of RootType
- meaning: Modifier
-
-
-general construction TemporalPhrase
- subcase of ModifierPhrase
- meaning: TemporalModifier
-
-
-// Optional NP
-construction TemporalPhrase1
- subcase of TemporalPhrase
- constructional
- constituents
- optional np: NP
- so: SpecOptional
- form
- constraints
- np.f meets so.f
- meaning: TemporalModifier
- constraints
- self.m <--> so.m
-
-
-construction TemporalPhrase2
- subcase of TemporalPhrase
- constructional
- constituents
- np: NP
- sr: SpecRequired
- form
- constraints
- np.f meets sr.f
- meaning: TemporalModifier
- constraints
- self.m <--> sr.m
-
-
-general construction SpecRequired
-
-
-general construction SpecOptional
-
-
-general construction TemporalAdverb
- subcase of TemporalPhrase, Word
-
-
-construction Ago1
- subcase of SpecRequired, TemporalAdverb
- form
- constraints
- self.f.orth <-- "ago"
- meaning
- constraints
- self.m.profiledInterval <-- "past"
- //self.m.landmark <-- @now
-
-
-construction CardinalPhrase
- subcase of HasAgreementFeatures
- constructional
- constituents
- ca: Cardinal
- constraints
- ca.features <--> self.features
- meaning: CardinalModifier
- constraints
- ca.m <--> self.m
-
-
-construction QuantifiedKernel
- subcase of Kernel
- constructional
- constituents
- cp: CardinalPhrase
- sk: SimpleKernel
- constraints
- self.features <--> cp.features
- self.features <--> sk.features
- form
- constraints
- cp.f meets sk.f
- meaning
- constraints
- cp.m.modifiedEntity <--> sk.m.referent
- self.m <--> sk.m
-
-
-construction QuantifiedNP
- subcase of NP, QuantifiedKernel
- constructional
- constituents
- sk: UndeterminedNP
- constraints
- sk.n.features.massOrPlural <-- "yes"
- meaning
- constraints
- self.m.givenness <-- "type-identifiable" // Michael
-
-
-//
-// Sentence
-//
-
-
-general construction ModifiedS // also space, books, etc.
- subcase of S
- constructional
- constituents
- p: ModifierPhrase // possibly also comma
- s: S
- //delim: Punctuation
- constraints
- //self.delim <--> s.delim
- meaning
- constraints
- self.m <--> s.m
- p.m.modifiedEntity <--> self.m.profiledProcess.x-net
-
-
-general construction TemporallyModifiedS
- subcase of ModifiedS
- constructional
- constituents
- p: TemporalPhrase // possibly also comma
- meaning
- evokes TemporalSpace as timeSpace
- constraints
- timeSpace.timeDelta <--> p.m.timeDelta
- self.m.host <--> timeSpace
-
-
-construction PreTemporallyModifiedS
- subcase of TemporallyModifiedS
- constructional
- constituents
- optional c: Comma
- form
- constraints
- p.f before s.f
- p.f before c.f
- c.f before s.f
- //s.f before delim.f
-
-
-construction PostTemporallyModifiedS
- subcase of TemporallyModifiedS
- form
- constraints
- s.f before p.f
- //p.f before delim.f
-
-
-/*
-construction TemporalPhrase2
-
-general construction TemporalModifier
- subcase of TemporalPhrase
-
-construction PP1
- subcase of SpecOptional,
-
-general construction Prep
-
-
-construction PrepPlusSpecifier
- subcase of PrepKernel
- constructional
- constituents
- np: NP
- tp: SpecRequired
-
-
-construction PrepKernel
- subcase of ModifierPhrase
- constructional
- constituents
- optional np: NP
- tp: TemporalPhrase
- form
- constraints
- np.f meets tp.f
- meaning: TemporalModifier
- constraints
- self.m <--> tp.m
-
-
-construction QuantifiedNP
- subcase of Kernel, RootType
- constructional
- constituents
- cp: CardinalPhrase
- np: NP
- constraints
- self.features <--> cp.features
- self.features <--> np.features
- form
- constraints
- cp.f meets np.f
- meaning
- constraints
- cp.m.modifiedEntity <--> np.m.referent
- self.m <--> np.m
-
-
-*/
-
-
-//
-// Situations
-//
-
-
-situation SituationRoot
- roles
- base: SituationRoot
- parent: SituationRoot
-
-
-situation BaseSpace
- subcase of SituationRoot
-
-
-situation SimSpace
- subcase of SituationRoot
-
-
-situation TemporalSpace
- subcase of SimSpace
- roles
- timeDelta: @time-delta
-
-
-schema Speech_Act
- roles
- speaker: @generic-person
- addressee: @generic-person
- content: EventDescriptor
- //forcefulness: @forcefulness
-
-
-schema Discourse_Segment
- roles
- speaker: @generic-person
- addressee: @generic-person
- attentional_focus
- speech_act: Speech_Act
- host: SituationRoot
- constraints
- speaker <--> speech_act.speaker
- addressee <--> speech_act.addressee
- //sit-space <-- BaseSpace
-
-
diff --git a/compling.core/base2m/base2m-core/specifiers.grm b/compling.core/base2m/base2m-core/specifiers.grm
deleted file mode 100644
index a3177ec..0000000
--- a/compling.core/base2m/base2m-core/specifiers.grm
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Specifiers (Determiners, Possessive Pronouns, wh-words)
- *
- */
-
-general construction NPSpecifier
- subcase of Word, HasNominalFeatures
- meaning: RD
-
-
-general construction Determiner
- subcase of NPSpecifier
-
-
-construction The
- subcase of Determiner
- form
- constraints
- self.f.orth <-- "the"
- meaning
- constraints
- self.m.givenness <-- "uniquely-identifiable"
-
-
-construction A
- subcase of Determiner, Singular
- constructional
- constraints
- self.features.massOrPlural <-- "no"
- form
- constraints
- self.f.orth <-- "a"
- meaning
- constraints
- self.m.givenness <-- "type-identifiable"
- self.m.number <-- "1"
-
-
-construction An
- subcase of Determiner, Singular
- constructional
- constraints
- self.features.massOrPlural <-- "no"
- form
- constraints
- self.f.orth <-- "an"
- meaning
- constraints
- self.m.givenness <-- "type-identifiable"
- self.m.number <-- "1"
-
-
-general construction PossessivePronoun
- subcase of Word, NPSpecifier
- meaning
- evokes Possession as possession
- evokes RD as possessor
- constraints
- self.m.referent <--> possession.possessed
- possessor.referent <--> possession.possessor
- possessor.givenness <-- "in-focus"
-
-
-construction His
- subcase of PossessivePronoun
- form
- constraints
- self.f.orth <-- "his"
- meaning
- constraints
- possessor.ontological-category <-- @male-person
-
-
-construction HerPoss
- subcase of PossessivePronoun
- form
- constraints
- self.f.orth <-- "her"
- meaning
- constraints
- possessor.ontological-category <-- @female-person
-
-
-general construction WH-Specifier
- subcase of NPSpecifier
-
-construction What
- subcase of WH-Specifier, WH-NP
- form
- constraints
- self.f.orth <-- "what"
- meaning
- constraints
- self.m.givenness <-- "???"
-
-construction Which
- subcase of WH-Specifier, WH-NP
- form
- constraints
- self.f.orth <-- "which"
- meaning
- constraints
- self.m.givenness <-- "???"
diff --git a/compling.core/base2m/base2m-core/temporal.grm b/compling.core/base2m/base2m-core/temporal.grm
deleted file mode 100644
index 4a6d238..0000000
--- a/compling.core/base2m/base2m-core/temporal.grm
+++ /dev/null
@@ -1,14 +0,0 @@
-/*********************
- Schemas for the temporal relations
- *********************
- nschneid
- 2009-05-12
-*/
-
-schema TemporalRelation
-
-schema TemporalOrdering
- subcase of TemporalRelation
- roles
- earlier
- later
diff --git a/compling.core/base2m/base2m-core/verb.grm b/compling.core/base2m/base2m-core/verb.grm
deleted file mode 100644
index d7347e1..0000000
--- a/compling.core/base2m/base2m-core/verb.grm
+++ /dev/null
@@ -1,79 +0,0 @@
-//******** Verb Form Schemas
-
-schema FiniteOrNonFinite
-
-schema Finite subcase of FiniteOrNonFinite
-
-schema NonFinite subcase of FiniteOrNonFinite
-
-schema Participle subcase of NonFinite
-
-schema Base subcase of NonFinite
-
-schema Infinitive subcase of NonFinite
-
-schema PresentParticiple subcase of Participle
-
-schema PastParticiple subcase of Participle
-
-schema Past subcase of Finite
-
-schema Present subcase of Finite
-
-
-
-//************ General Verb constructions
-
-general construction Verb
- subcase of WLMorph, HasVerbFeatures
- meaning: Process
-
-general construction SuffixingVerb
- subcase of Verb
- form: WLSuffixForm
-
-general construction PastTense
- subcase of HasVerbFeatures
- constructional
- constraints
- self.features.verbform <-- Past
- //can put stuff about an action wrt speech time here
-
-general construction PresentTense
- subcase of HasVerbFeatures
- constructional
- constraints
- self.features.verbform <-- Present
- //can put stuff about an action wrt speech time here
-
-general construction VerbalBase
- subcase of HasVerbFeatures
- constructional
- constraints
- self.features.verbform <-- Base
-
-general construction PresentPart
- subcase of HasVerbFeatures
- constructional
- constraints
- self.features.verbform <-- PresentParticiple
-
-general construction PastPart
- subcase of HasVerbFeatures
- constructional
- constraints
- self.features.verbform <-- PastParticiple
-
-general construction AbstractPastVerb
- subcase of Verb, PastTense
-
-
-
-
-
-
-
-
-
-
-
diff --git a/compling.core/base2m/base2m-core/verb_FiniteOrNonFinite.dotgraph b/compling.core/base2m/base2m-core/verb_FiniteOrNonFinite.dotgraph
deleted file mode 100644
index 24981a5..0000000
--- a/compling.core/base2m/base2m-core/verb_FiniteOrNonFinite.dotgraph
+++ /dev/null
@@ -1,16 +0,0 @@
-digraph types {
- size="11,8.5";
- node [fontname="Arial", fontcolor=black, color="#ffaaaa", fillcolor="#ffaaaa"];
- node [style="solid"];
- node [style="filled"];
-
- FiniteOrNonFinite -> Finite
- Finite -> Past
- Finite -> Present
- FiniteOrNonFinite -> NonFinite
- NonFinite -> Infinitive
- NonFinite -> Participle
- Participle -> PastParticiple
- Participle -> PresentParticiple
- NonFinite -> Base
-}
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-core/verb_FiniteOrNonFinite.pdf b/compling.core/base2m/base2m-core/verb_FiniteOrNonFinite.pdf
deleted file mode 100644
index 533cd77..0000000
Binary files a/compling.core/base2m/base2m-core/verb_FiniteOrNonFinite.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-core/vp.grm b/compling.core/base2m/base2m-core/vp.grm
deleted file mode 100644
index 8bb0ec6..0000000
--- a/compling.core/base2m/base2m-core/vp.grm
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-general construction VP
- subcase of HasVerbFeatures
- meaning: Process
- evokes EventDescriptor as ed
- constraints
- self.m <--> ed.eventType
-
-general construction ArgumentStructure
- subcase of VP
- constructional
- constituents
- v : Verb
- constraints
- self.features <--> v.features
- meaning
- constraints
- v.m <--> ed.profiledProcess
-
-
-construction ToPlusVP
- subcase of VP
- constructional
- constituents
- to:TO-Infinitive-Marker
- vp:VP
- constraints
- vp.features.verbform <-- Base
- self.features <--> to.features // nschneid
- self.ed <--> vp.ed // nschneid
- form
- constraints
- to.f meets vp.f
- meaning
- constraints
- self.m <--> vp.m
- //what other semantic stuff goes here?
-
diff --git a/compling.core/base2m/base2m-morph.prefs b/compling.core/base2m/base2m-morph.prefs
deleted file mode 100644
index 5da860e..0000000
--- a/compling.core/base2m/base2m-morph.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-
-GRAMMAR_EXTENSIONS = grm
-
-GRAMMAR_PATHS ::==
- ./base2m-core
- ./base2m-morphonly
-;
-
-ONTOLOGY_PATHS ::==
- ./base2m-core/ontology.ont
-;
-
-ROBUST = TRUE
-BEAM_SIZE = 13
-DEFAULT_OMISSION_PROB = 0
-DEBUG = TRUE
-NUM_ANALYSES_RETURNED = 6
-MULTI_ROOT_PENALTY = -3
-
-EXAMPLE_SENTENCES ::==
-apple
-apples
-berry
-berries
-want
-wants
-wanted
-wanting
-move
-moves
-moved
-moving
-slide
-slides
-slid
-sliding
-ring
-rings
-rang
-rung
-ringing
-wanter
-mover
-movers
-slider
-ringer
-hospital
-hospitals
-hospitalize
-hospitalizes
-hospitalized
-hospitalizing
-hospitalizer
-hospitalizers
-legal
-legalize
-legalizing
-;
diff --git a/compling.core/base2m/base2m-morphonly/derivationalsuffixes.grm b/compling.core/base2m/base2m-morphonly/derivationalsuffixes.grm
deleted file mode 100644
index a743915..0000000
--- a/compling.core/base2m/base2m-morphonly/derivationalsuffixes.grm
+++ /dev/null
@@ -1,101 +0,0 @@
-/*********************
- Derivational suffixes
- *********************
- nschneid
- 2009-05-12
-*/
-
-general construction DerivationalMorpheme
- subcase of Morph
- constructional
- constituents
- stem: Morph
- constraints
- stem.atWordLevel <-- "no"
-
-
-construction SuffixAgentiveER
- subcase of RegularInflectedNoun, CommonNoun, DerivationalMorpheme
- constructional
- constituents
- stem: Verb
- form: WLSuffixForm
- constraints
- self.f.orth <-- "er"
- self.f.stem <-- ""
- stem.f meets self.f.orth
- self.f.orth meets self.f.stem
- meaning: RD
- constraints
- self.m.referent <--> stem.m.protagonist
- stem.m.protagonist <-- @animate
-
-
-construction SuffixAgentiveEE
- subcase of RegularInflectedNoun, CommonNoun, DerivationalMorpheme
- constructional
- constituents
- stem: Verb
- form: WLSuffixForm
- constraints
- self.f.orth <-- "ee"
- self.f.stem <-- ""
- stem.f meets self.f.orth
- self.f.orth meets self.f.stem
- meaning: RD
- evokes ForceApplication as fa
- constraints
- self.m.referent <--> fa.actedUpon // not sure how to connect this explicitly to the stem's event--add a new subtype under Process?
-
-
-construction SuffixATION
- subcase of RegularInflectedNoun, CommonNoun, DerivationalMorpheme
- constructional
- constituents
- stem: CausativeSuffixIZE
- form: WLSuffixForm
- constraints
- self.f.orth <-- "ation"
- self.f.stem <-- ""
- stem.f meets self.f.orth
- self.f.orth meets self.f.stem
- meaning
- constraints
- self.m.referent <--> stem.m // here, the referent is a process
-
-general construction CausativeSuffixIZE
- subcase of RegularFinalEVerb, CausativeVerb, DerivationalMorpheme
- constructional constituents
- stem: WLMorph
- form constraints
- self.f.stem <-- "iz"
- stem.f meets self.f.stem
-
-construction CausativeSuffixIZEAdj
- subcase of CausativeSuffixIZE
- constructional constituents
- stem: Adj
- meaning: CauseStateChange
- evokes Negation as neg
- constraints
- neg.modifiedEntity <--> stem.m
- self.m.process2.initialState <--> neg
- self.m.process2.finalState <--> stem.m
-
-construction CausativeSuffixIZENoun
- subcase of CausativeSuffixIZE
- constructional
- constituents
- stem: Noun
- constraints
- stem.features.number <-- Sg
- // self.m.process2 <<< stem.m.referent // the frame of the resulting state somehow involves the referent of the stem
-
-
-construction HOSPITALIZE
- subcase of CausativeSuffixIZENoun
- constructional constituents
- stem: Hospital
- meaning: Institutionalization
- constraints
- self.m.facility <--> stem.m.referent // more specific than the purely compositional meaning
diff --git a/compling.core/base2m/base2m-morphonly/inflectionalsuffixes.grm b/compling.core/base2m/base2m-morphonly/inflectionalsuffixes.grm
deleted file mode 100644
index 239de8d..0000000
--- a/compling.core/base2m/base2m-morphonly/inflectionalsuffixes.grm
+++ /dev/null
@@ -1,32 +0,0 @@
-/*********************
- Inflectional suffixes
- *********************
- nschneid
- 2009-05-13
-*/
-
-general construction BareSuffix
- subcase of WLSuffix
- form constraints
- self.f.suffix <-- ""
-
-general construction SSuffix
- subcase of WLSuffix
- form constraints
- self.f.suffix <-- "s"
-
-general construction EDSuffix
- subcase of WLSuffix
- form constraints
- self.f.suffix <-- "ed"
-
-general construction NSuffix
- subcase of WLSuffix
- form constraints
- self.f.suffix <-- "n"
-
-general construction INGSuffix
- subcase of WLSuffix
- form constraints
- self.f.suffix <-- "ing"
-
diff --git a/compling.core/base2m/base2m-morphonly/morph.grm b/compling.core/base2m/base2m-morphonly/morph.grm
deleted file mode 100644
index e7ab122..0000000
--- a/compling.core/base2m/base2m-morphonly/morph.grm
+++ /dev/null
@@ -1,49 +0,0 @@
-/********************
- Some general morphological constructions
-
- Due to weirdnesses in the original version of the phrasal parser,
- this file will be slightly different for that vs. the morphological parser.
- *********************
- nschneid
- 2009-05-13
-*/
-
-construction WROOT
- constructional
- constituents
- word: WLMorph
- constraints
- word.atWordLevel <-- "yes"
- form: WordForm
- constraints
- self.f.orth <-- ""
- self.f.orth meets word.f
-
-
-general construction Morph
- constructional: MorphFeatures
- form: MorphForm
-
-general construction WLMorph // Word-Level
- subcase of Morph
- form: WordForm
-
-general construction Affix
- subcase of Morph
- constructional constituents
- stem: Morph
- form: AffixForm
-
-general construction Suffix
- subcase of Affix
- form: SuffixForm
- constraints
- stem.f meets self.f.suffix
-
-general construction WLAffix
- subcase of WLMorph, Affix
- form: WLAffixForm
-
-general construction WLSuffix
- subcase of WLAffix, Suffix
- form: WLSuffixForm
diff --git a/compling.core/base2m/base2m-morphonly/morphcxnindex.txt b/compling.core/base2m/base2m-morphonly/morphcxnindex.txt
deleted file mode 100644
index ba18922..0000000
--- a/compling.core/base2m/base2m-morphonly/morphcxnindex.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-verbmorphology.grm
-general construction InflectedVerb
-general construction RegularInflectedVerb
-general construction RegularSimpleInflectedVerb
-construction Want
-general construction RegularFinalEVerb
-construction Move
-general construction PresentOnlyEVerb
-construction Slide
-general construction VerbInflection
-general construction RegularVerbInflection
-general construction SuffixEInflection
-general construction RegularSuffixEInflection
-general construction BareInflection
-construction PresentNon3SgInflection
-general construction NonWordLevelInflection
-construction BaseInflection
-general construction WordLevelInflection
-construction Present3SgInflection
-construction PastInflection
-construction PresentParticipleInflection
-construction PastParticipleInflection
-construction InternalInflection
-construction PastInflectionBare
-general construction PresentOnlyEInflection
-construction PastParticiplePresentOnlyEInflection
-general construction IngAngUngVerbParadigm
-general construction IngAngUngInflectedVerb
-construction Ring
-general construction InkAnkUnkInflectedVerb
-construction Drink
-general construction IngAngUngInflection
-general construction BareIngAngUngInflection
-construction BaseIngAngUngInflection
-construction PresentNon3SgIngAngUngInflection
-construction Present3SgIngAngUngInflection
-construction PastIngAngUngInflection
-construction PastParticipleIngAngUngInflection
-construction PresentParticipleIngAngUngInflection
-general construction BEAbstract
-construction Be
-construction Am
-construction Is
-construction Are
-construction Was
-construction Were
-construction Been
-construction Being
-
-nounmorphology.grm
-construction PluralSNoun
-general construction InflectedNoun
-general construction RegularInflectedNoun
-general construction RegularSimpleInflectedNoun
-general construction RegularFinalSibInflectedNoun
-general construction RegularFinalYNoun
-general construction NounInflection
-construction InternalNounInflection
-general construction SingularNounInflection
-general construction PluralNounInflection
-general construction RegularNounInflection
-general construction RegularSimpleNounInflection
-construction RegularNounSingular
-construction RegularSimpleNounPlural
-general construction RegularFinalYNounInflection
-construction RegularFinalYNounPlural
-general construction RegularFinalSibilantPlural
-construction FinalSPlural
-construction FinalZPlural
-construction FinalXPlural
-construction FinalSHPlural
-construction FinalCHPlural
-
-inflectionalsuffixes.grm
-general construction BareSuffix
-general construction SSuffix
-general construction EDSuffix
-general construction NSuffix
-general construction INGSuffix
-
-derivationalsuffixes.grm
-general construction DerivationalMorpheme
-construction SuffixAgentiveER
-construction SuffixAgentiveEE
-construction SuffixATION
-general construction CausativeSuffixIZE
-construction CausativeSuffixIZEAdj
-construction CausativeSuffixIZENoun
-construction HOSPITALIZE
-
-morph.grm
-construction WROOT
-general construction Morph
-general construction WLMorph
-general construction Affix
-general construction Suffix
-general construction WLAffix
-general construction WLSuffix
diff --git a/compling.core/base2m/base2m-morphonly/nounmorphology.dotgraph b/compling.core/base2m/base2m-morphonly/nounmorphology.dotgraph
deleted file mode 100644
index 2767d1a..0000000
--- a/compling.core/base2m/base2m-morphonly/nounmorphology.dotgraph
+++ /dev/null
@@ -1,53 +0,0 @@
-digraph types {
- size="11,8.5";
- node [fontname="Arial", fontcolor=black, color="#aaff88", fillcolor="#aaff88"];
- node [style="solid"]; NounInflection RegularSimpleInflectedNoun RegularInflectedNoun PluralNounInflection RegularFinalYNounInflection SingularNounInflection InflectedNoun RegularFinalSibilantPlural RegularNounInflection RegularFinalSibInflectedNoun RegularFinalYNoun RegularSimpleNounInflection;
- node [style="filled"];
-
- // Omits several noun cxns which behave just like 'Apple' and 'Hospital'
- // Also omits FinalCHPlural and FinalSHPlural, which are siblings of FinalSPlural, FinalZPlural, and FinalXPlural
-
- InflectedNoun -> NounInflection [label="infl", style="dotted"]
- InflectedNoun -> RegularInflectedNoun
- RegularInflectedNoun -> RegularNounInflection [label="infl", style="dotted"]
- RegularInflectedNoun -> SuffixAgentiveEE
- SuffixAgentiveEE -> Verb [label="stem", style="dotted"]
- SuffixAgentiveEE -> RegularNounInflection [label="infl", style="dotted"]
- RegularInflectedNoun -> RegularFinalYNoun
- RegularFinalYNoun -> RegularFinalYNounInflection [label="infl", style="dotted"]
- RegularFinalYNoun -> Berry
- Berry -> RegularFinalYNounInflection [label="infl", style="dotted"]
- RegularInflectedNoun -> SuffixAgentiveER
- SuffixAgentiveER -> Verb [label="stem", style="dotted"]
- SuffixAgentiveER -> RegularNounInflection [label="infl", style="dotted"]
- RegularInflectedNoun -> RegularFinalSibInflectedNoun
- RegularFinalSibInflectedNoun -> RegularNounInflection [label="infl", style="dotted"]
- RegularFinalSibInflectedNoun -> Box
- Box -> RegularNounInflection [label="infl", style="dotted"]
- RegularInflectedNoun -> SuffixATION
- SuffixATION -> CausativeSuffixIZE [label="stem", style="dotted"]
- SuffixATION -> RegularNounInflection [label="infl", style="dotted"]
- RegularInflectedNoun -> RegularSimpleInflectedNoun
- RegularSimpleInflectedNoun -> RegularSimpleNounInflection [label="infl", style="dotted"]
- RegularSimpleInflectedNoun -> Apple
- Apple -> RegularSimpleNounInflection [label="infl", style="dotted"]
- RegularSimpleInflectedNoun -> Hospital
- Hospital -> RegularSimpleNounInflection [label="infl", style="dotted"]
- NounInflection -> RegularNounInflection
- RegularNounInflection -> RegularFinalSibilantPlural
- RegularFinalSibilantPlural -> FinalXPlural
- RegularFinalSibilantPlural -> FinalSPlural
- RegularFinalSibilantPlural -> FinalZPlural
- RegularNounInflection -> RegularSimpleNounInflection
- PluralNounInflection -> RegularSimpleNounPlural
- RegularSimpleNounInflection -> RegularSimpleNounPlural
- RegularFinalYNounInflection -> RegularNounSingular
- SingularNounInflection -> RegularNounSingular
- RegularSimpleNounInflection -> RegularNounSingular
- RegularFinalYNounInflection -> InternalNounInflection
- RegularSimpleNounInflection -> InternalNounInflection
- RegularNounInflection -> RegularFinalYNounInflection
- RegularFinalYNounInflection -> RegularFinalYNounPlural
- NounInflection -> PluralNounInflection
- NounInflection -> SingularNounInflection
-}
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-morphonly/nounmorphology.grm b/compling.core/base2m/base2m-morphonly/nounmorphology.grm
deleted file mode 100644
index a9e451b..0000000
--- a/compling.core/base2m/base2m-morphonly/nounmorphology.grm
+++ /dev/null
@@ -1,169 +0,0 @@
-/*********************
- Compositional morphology for nominals
- *********************
- nschneid
- 2009-05-13
-*/
-
-/*
-construction PluralSNoun
- subcase of SSuffix, RegularCommonNoun, PluralNoun
- constructional
- constituents
- stem: RegularCommonNoun
- constraints
- stem.features.number <-- Sg
- stem.features.massOrPlural <-- "no"
- meaning
- constraints
-// ignore stem.m.number <-- "1"
- self.m <--> stem.m
-*/
-
-general construction InflectedNoun
- subcase of Noun
- constructional
- constituents
- infl: NounInflection
- constraints
- self.features <--> infl.features
- self.atWordLevel <--> infl.atWordLevel
- meaning constraints
- self.m.number <--> infl.m.number
-
-general construction RegularInflectedNoun
- subcase of InflectedNoun
- constructional
- constituents
- infl: RegularNounInflection
- form: WLFinalSibilantForm
- constraints
- self.f.finalSib <-- "" // to avoid overgenerating the -es suffix
- self.f.finalSib <--> infl.f.finalSib
- self.f.stem before infl.f.suffix
- self.f.stem meets infl.f.suffix
-
-general construction RegularSimpleInflectedNoun
- subcase of RegularInflectedNoun
- constructional constituents
- infl: RegularSimpleNounInflection
-
-general construction RegularFinalSibInflectedNoun
- subcase of RegularInflectedNoun
- form: WLFinalSibilantForm
- constraints
- ignore self.f.stem meets infl.f.suffix
- ignore self.f.finalSib <-- ""
- self.f.stem meets self.f.finalSib
- self.f.finalSib before infl.f.suffix
- self.f.finalSib meets infl.f.suffix
-
-general construction RegularFinalYNoun
- subcase of RegularInflectedNoun
- constructional
- constituents
- infl: RegularFinalYNounInflection
- form: WLFinalSibilantFinalYForm
- constraints
- ignore self.f.stem meets infl.f.suffix
- self.f.stem meets infl.f.finalY
- infl.f.finalY meets infl.f.suffix
-
-
-
-
-general construction NounInflection
- subcase of HasNominalFeatures, Morph
- form: SuffixForm
- meaning: NounInflectionMeaning
-
-construction InternalNounInflection
- subcase of RegularSimpleNounInflection, RegularFinalYNounInflection
- constructional constraints
- self.atWordLevel <-- "no"
- form constraints
- self.f.finalY <-- ""
- self.f.suffix <-- ""
-
-general construction SingularNounInflection
- subcase of NounInflection, Singular
- constructional
- constraints
- self.features.massOrPlural <-- "no"
- self.atWordLevel <-- "yes"
- meaning
- constraints
- self.m.number <-- "1"
-
-general construction PluralNounInflection
- subcase of NounInflection, Plural
- constructional
- constraints
- self.features.massOrPlural <-- "yes"
- self.atWordLevel <-- "yes"
- meaning
- constraints
- self.m.number <-- ">1"
-
-general construction RegularNounInflection
- subcase of NounInflection
- form: WLFinalSibilantFinalYForm
-
-general construction RegularSimpleNounInflection
- subcase of RegularNounInflection
-
-construction RegularNounSingular
- subcase of RegularSimpleNounInflection, RegularFinalYNounInflection, SingularNounInflection
- form constraints
- self.f.finalY <-- "y"
- self.f.suffix <-- ""
-
-construction RegularSimpleNounPlural
- subcase of RegularSimpleNounInflection, PluralNounInflection
- form constraints
- self.f.finalSib <-- ""
- self.f.finalY <-- ""
- self.f.suffix <-- "s"
-
-
-general construction RegularFinalYNounInflection
- subcase of RegularNounInflection
-
-construction RegularFinalYNounPlural
- subcase of RegularFinalYNounInflection, Plural
- form constraints
- self.f.finalSib <-- ""
- self.f.finalY <-- ""
- self.f.suffix <-- "ies"
-
-general construction RegularFinalSibilantPlural // the stem ends in a sibilant
- subcase of RegularNounInflection, Plural
- form constraints
- self.f.suffix <-- "es"
-
-construction FinalSPlural
- subcase of RegularFinalSibilantPlural
- form constraints
- self.f.finalSib <-- "s"
-
-construction FinalZPlural
- subcase of RegularFinalSibilantPlural
- form constraints
- self.f.finalSib <-- "z"
-
-construction FinalXPlural
- subcase of RegularFinalSibilantPlural
- form constraints
- self.f.finalSib <-- "x"
-
-construction FinalSHPlural
- subcase of RegularFinalSibilantPlural
- form constraints
- self.f.finalSib <-- "sh"
-
-construction FinalCHPlural
- subcase of RegularFinalSibilantPlural
- form constraints
- self.f.finalSib <-- "ch"
-
-
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-morphonly/nounmorphology.pdf b/compling.core/base2m/base2m-morphonly/nounmorphology.pdf
deleted file mode 100644
index 43ad20e..0000000
Binary files a/compling.core/base2m/base2m-morphonly/nounmorphology.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-morphonly/singularnouns.grm b/compling.core/base2m/base2m-morphonly/singularnouns.grm
deleted file mode 100644
index 3dd4e82..0000000
--- a/compling.core/base2m/base2m-morphonly/singularnouns.grm
+++ /dev/null
@@ -1,161 +0,0 @@
-/**********
-***
-*** Singular Count Nouns
-***
-***********/
-
-/*general construction Noun
- subcase of Word
- constructional:NominalFeatures
- meaning: @entity*/
-
-
-/*
-general construction SingularNoun
- subcase of Noun, Singular
- constructional
- constraints
- self.features.massOrPlural <-- "no"
- meaning
- constraints
- self.m.number <-- "1"
-*/
-
-construction Apple
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "apple"
- meaning
- constraints
- self.m.ontological-category <-- @apple
-
-construction Tree
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "tree"
- meaning
- constraints
- self.m.ontological-category <-- @tree
-
-construction Hand
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "hand"
- meaning
- constraints
- self.m.ontological-category <-- @hand
-
-
-construction Box
- subcase of RegularFinalSibInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "bo"
- self.f.finalSib <-- "x"
- meaning
- constraints
- self.m.ontological-category <-- @box
-
-construction Table
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "table"
- meaning
- constraints
- self.m.ontological-category <-- @table
-
-construction Hammer
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "hammer"
- meaning
- constraints
- self.m.ontological-category <-- @hammer
-
-construction House
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "house"
- meaning
- constraints
- self.m.ontological-category <-- @house
-
-construction Niña
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "niña"
- meaning
- constraints
- self.m.ontological-category <-- @niña
-
-construction Cake
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "cake"
- meaning
- constraints
- self.m.ontological-category <-- @cake
-
-
-construction Room
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "room"
- meaning
- constraints
- self.m.ontological-category <-- @room
-
-
-construction Hospital // nschneid
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "hospital"
- meaning
- constraints
- self.m.ontological-category <-- @hospital
-
-construction Berry // nschneid
- subcase of RegularFinalYNoun, CommonNoun
- form
- constraints
- self.f.stem <-- "berr"
- meaning
- constraints
- self.m.ontological-category <-- @berry
-
-construction Recession2
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "recession"
- meaning
- constraints
- self.m.ontological-category <-- @recession
-
-construction Depression1
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "depression"
- meaning
- constraints
- self.m.ontological-category <-- @depression
-
-construction Year
- subcase of RegularSimpleInflectedNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "year"
- meaning
- constraints
- self.m.ontological-category <-- @year
diff --git a/compling.core/base2m/base2m-morphonly/verbmorphology-small.dotgraph b/compling.core/base2m/base2m-morphonly/verbmorphology-small.dotgraph
deleted file mode 100644
index 41a2317..0000000
--- a/compling.core/base2m/base2m-morphonly/verbmorphology-small.dotgraph
+++ /dev/null
@@ -1,44 +0,0 @@
-digraph types {
- size="11,8.5";
- node [fontname="Arial", fontcolor=black, color="#aaff88", fillcolor="#aaff88"];
- node [style="solid"]; InkAnkUnkInflectedVerb RegularSimpleInflectedVerb InflectedVerb CausativeSuffixIZE IngAngUngVerbParadigm RegularFinalEVerb PresentOnlyEVerb RegularInflectedVerb IngAngUngInflectedVerb;
- node [style="filled"];
-
- InflectedVerb -> VerbInflection [label="infl", style="dotted"]
- InflectedVerb -> RegularInflectedVerb
- RegularInflectedVerb -> RegularVerbInflection [label="infl", style="dotted"]
- RegularInflectedVerb -> RegularFinalEVerb
- RegularFinalEVerb -> RegularSuffixEInflection [label="infl", style="dotted"]
- RegularFinalEVerb -> Move
- Move -> RegularSuffixEInflection [label="infl", style="dotted"]
- RegularFinalEVerb -> CausativeSuffixIZE
- CausativeSuffixIZE -> WLMorph [label="stem", style="dotted"]
- CausativeSuffixIZE -> RegularSuffixEInflection [label="infl", style="dotted"]
- CausativeSuffixIZE -> CausativeSuffixIZEAdj
- CausativeSuffixIZEAdj -> Adj [label="stem", style="dotted"]
- CausativeSuffixIZEAdj -> RegularSuffixEInflection [label="infl", style="dotted"]
- CausativeSuffixIZE -> CausativeSuffixIZENoun
- CausativeSuffixIZENoun -> Noun [label="stem", style="dotted"]
- CausativeSuffixIZENoun -> RegularSuffixEInflection [label="infl", style="dotted"]
- CausativeSuffixIZENoun -> HOSPITALIZE
- HOSPITALIZE -> Hospital [label="stem", style="dotted"]
- HOSPITALIZE -> RegularSuffixEInflection [label="infl", style="dotted"]
- RegularInflectedVerb -> RegularSimpleInflectedVerb
- RegularSimpleInflectedVerb -> RegularVerbInflection [label="infl", style="dotted"]
- RegularSimpleInflectedVerb -> Want
- Want -> RegularVerbInflection [label="infl", style="dotted"]
- InflectedVerb -> PresentOnlyEVerb
- PresentOnlyEVerb -> PresentOnlyEInflection [label="infl", style="dotted"]
- PresentOnlyEVerb -> Slide
- Slide -> PresentOnlyEInflection [label="infl", style="dotted"]
- InflectedVerb -> IngAngUngVerbParadigm
- IngAngUngVerbParadigm -> IngAngUngInflection [label="infl", style="dotted"]
- IngAngUngVerbParadigm -> IngAngUngInflectedVerb
- IngAngUngInflectedVerb -> IngAngUngInflection [label="infl", style="dotted"]
- IngAngUngInflectedVerb -> InkAnkUnkInflectedVerb
- InkAnkUnkInflectedVerb -> IngAngUngInflection [label="infl", style="dotted"]
- InkAnkUnkInflectedVerb -> Drink
- Drink -> IngAngUngInflection [label="infl", style="dotted"]
- IngAngUngInflectedVerb -> Ring
- Ring -> IngAngUngInflection [label="infl", style="dotted"]
-}
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-morphonly/verbmorphology-small.pdf b/compling.core/base2m/base2m-morphonly/verbmorphology-small.pdf
deleted file mode 100644
index 2b789ce..0000000
Binary files a/compling.core/base2m/base2m-morphonly/verbmorphology-small.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-morphonly/verbmorphology.dotgraph b/compling.core/base2m/base2m-morphonly/verbmorphology.dotgraph
deleted file mode 100644
index b502dc0..0000000
--- a/compling.core/base2m/base2m-morphonly/verbmorphology.dotgraph
+++ /dev/null
@@ -1,76 +0,0 @@
-// Omits subtype links from 'WordLevelInflection'
-
-digraph types {
- size="11,8.5";
- node [fontname="Arial", fontcolor=black, color="#aaff88", fillcolor="#aaff88"];
- node [style="solid"]; RegularSuffixEInflection PresentOnlyEInflection RegularSimpleInflectedVerb InflectedVerb NonWordLevelInflection WordLevelInflection IngAngUngInflection BareInflection BareIngAngUngInflection PresentOnlyEVerb InkAnkUnkInflectedVerb CausativeSuffixIZE RegularVerbInflection RegularFinalEVerb IngAngUngVerbParadigm RegularInflectedVerb VerbInflection SuffixEInflection IngAngUngInflectedVerb;
- node [style="filled"];
-
- InflectedVerb -> VerbInflection [label="infl", style="dotted"]
- InflectedVerb -> RegularInflectedVerb
- RegularInflectedVerb -> RegularVerbInflection [label="infl", style="dotted"]
- RegularInflectedVerb -> RegularFinalEVerb
- RegularFinalEVerb -> RegularSuffixEInflection [label="infl", style="dotted"]
- RegularFinalEVerb -> Move
- Move -> RegularSuffixEInflection [label="infl", style="dotted"]
- RegularFinalEVerb -> CausativeSuffixIZE
- CausativeSuffixIZE -> WLMorph [label="stem", style="dotted"]
- CausativeSuffixIZE -> RegularSuffixEInflection [label="infl", style="dotted"]
- CausativeSuffixIZE -> CausativeSuffixIZEAdj
- CausativeSuffixIZEAdj -> Adj [label="stem", style="dotted"]
- CausativeSuffixIZEAdj -> RegularSuffixEInflection [label="infl", style="dotted"]
- CausativeSuffixIZE -> CausativeSuffixIZENoun
- CausativeSuffixIZENoun -> Noun [label="stem", style="dotted"]
- CausativeSuffixIZENoun -> RegularSuffixEInflection [label="infl", style="dotted"]
- CausativeSuffixIZENoun -> HOSPITALIZE
- HOSPITALIZE -> Hospital [label="stem", style="dotted"]
- HOSPITALIZE -> RegularSuffixEInflection [label="infl", style="dotted"]
- RegularInflectedVerb -> RegularSimpleInflectedVerb
- RegularSimpleInflectedVerb -> RegularVerbInflection [label="infl", style="dotted"]
- RegularSimpleInflectedVerb -> Want
- Want -> RegularVerbInflection [label="infl", style="dotted"]
- InflectedVerb -> PresentOnlyEVerb
- PresentOnlyEVerb -> PresentOnlyEInflection [label="infl", style="dotted"]
- PresentOnlyEVerb -> Slide
- Slide -> PresentOnlyEInflection [label="infl", style="dotted"]
- InflectedVerb -> IngAngUngVerbParadigm
- IngAngUngVerbParadigm -> IngAngUngInflection [label="infl", style="dotted"]
- IngAngUngVerbParadigm -> IngAngUngInflectedVerb
- IngAngUngInflectedVerb -> IngAngUngInflection [label="infl", style="dotted"]
- IngAngUngInflectedVerb -> InkAnkUnkInflectedVerb
- InkAnkUnkInflectedVerb -> IngAngUngInflection [label="infl", style="dotted"]
- InkAnkUnkInflectedVerb -> Drink
- Drink -> IngAngUngInflection [label="infl", style="dotted"]
- IngAngUngInflectedVerb -> Ring
- Ring -> IngAngUngInflection [label="infl", style="dotted"]
- VerbInflection -> WordLevelInflection
- IngAngUngInflection -> PastParticipleIngAngUngInflection
- IngAngUngInflection -> PresentParticipleIngAngUngInflection
- RegularSuffixEInflection -> PastParticipleInflection
- BareIngAngUngInflection -> PresentNon3SgIngAngUngInflection
- RegularSuffixEInflection -> PastInflection
- IngAngUngInflection -> PastIngAngUngInflection
- BareInflection -> PresentNon3SgInflection
- RegularSuffixEInflection -> Present3SgInflection
- PresentOnlyEInflection -> Present3SgInflection
- PresentOnlyEInflection -> PastInflectionBare
- PresentOnlyEInflection -> PastParticiplePresentOnlyEInflection
- BareInflection -> BaseInflection
- RegularSuffixEInflection -> PresentParticipleInflection
- PresentOnlyEInflection -> PresentParticipleInflection
- IngAngUngInflection -> Present3SgIngAngUngInflection
- VerbInflection -> IngAngUngInflection
- IngAngUngInflection -> BareIngAngUngInflection
- BareIngAngUngInflection -> BaseIngAngUngInflection
- VerbInflection -> SuffixEInflection
- RegularVerbInflection -> RegularSuffixEInflection
- SuffixEInflection -> RegularSuffixEInflection
- RegularSuffixEInflection -> BareInflection
- PresentOnlyEInflection -> BareInflection
- RegularSuffixEInflection -> InternalInflection
- PresentOnlyEInflection -> InternalInflection
- NonWordLevelInflection -> InternalInflection
- SuffixEInflection -> PresentOnlyEInflection
- VerbInflection -> RegularVerbInflection
- VerbInflection -> NonWordLevelInflection
-}
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-morphonly/verbmorphology.grm b/compling.core/base2m/base2m-morphonly/verbmorphology.grm
deleted file mode 100644
index 800061c..0000000
--- a/compling.core/base2m/base2m-morphonly/verbmorphology.grm
+++ /dev/null
@@ -1,335 +0,0 @@
-/*********************
- Compositional morphology for verbals
- *********************
- nschneid
- 2009-05-13
-*/
-
-general construction InflectedVerb
- subcase of Verb
- constructional
- constituents
- infl: VerbInflection
- constraints
- self.features <--> infl.features
- self.atWordLevel <--> infl.atWordLevel
-
-
-general construction RegularInflectedVerb
- subcase of InflectedVerb
- constructional
- constituents
- infl: RegularVerbInflection
-
-general construction RegularSimpleInflectedVerb
- subcase of RegularInflectedVerb
- form constraints
- self.f.orth meets infl.f.suffix
-
-construction Want
- subcase of ControlVerb, RegularSimpleInflectedVerb
- form constraints
- self.f.orth <-- "want"
-
-general construction RegularFinalEVerb // e.g. mov{e(s),ing}/moved/moved
- subcase of RegularInflectedVerb
- constructional
- constituents
- infl: RegularSuffixEInflection
- form: WLSuffixEForm
- constraints
- self.f.stem meets infl.f.silentE
- infl.f.silentE meets infl.f.suffix
-
-construction Move
- subcase of RegularFinalEVerb
- form constraints
- self.f.stem <-- "mov"
- meaning: Motion
-
-general construction PresentOnlyEVerb // e.g. hid{e(s),ing}/hid/hidden; slid{e(s),ing}/slid/slid
- subcase of InflectedVerb
- constructional
- constituents
- infl: PresentOnlyEInflection
- form: WLAblautEForm
- constraints
- self.f.initial meets self.f.mainV
- self.f.mainV meets self.f.final
- self.f.final meets infl.f.presentOnlyE
- infl.f.presentOnlyE meets infl.f.suffix
-
-construction Slide
- subcase of PresentOnlyEVerb
- form
- constraints
- self.f.initial <-- "sl"
- self.f.mainV <-- "i"
- self.f.final <-- "d"
- meaning
- constraints
- self.m.x-net <-- @slide
-
-general construction VerbInflection
- subcase of HasVerbFeatures, Morph
- form: SuffixForm
-
-general construction RegularVerbInflection
- subcase of VerbInflection
-
-general construction SuffixEInflection
- subcase of VerbInflection
- form: SuffixEForm
-
-general construction RegularSuffixEInflection
- subcase of SuffixEInflection, RegularVerbInflection
-
-
-general construction BareInflection
- subcase of PresentOnlyEInflection, RegularSuffixEInflection
- form constraints
- self.f.suffix <-- ""
- self.f.silentE <-- "e"
- ignore self.f.presentOnlyE <-- ""
- self.f.presentOnlyE <-- "e"
-
-construction PresentNon3SgInflection
- subcase of PresentTense, BareInflection, WordLevelInflection
- constructional
- constraints
- self.features <-- VerbNotSg3
-
-general construction NonWordLevelInflection
- subcase of VerbInflection
- constructional
- constraints
- self.atWordLevel <-- "no"
-
-construction BaseInflection
- subcase of VerbalBase, BareInflection, WordLevelInflection
-
-general construction WordLevelInflection
- subcase of VerbInflection
- constructional
- constraints
- self.atWordLevel <-- "yes" // finite verbs must not be embedded within derivational morphology
-
-
-construction Present3SgInflection
- subcase of PresentTense, PresentOnlyEInflection, RegularSuffixEInflection, WordLevelInflection
- constructional
- constraints
- self.features <-- VerbSg3
- form constraints
- self.f.suffix <-- "s"
- self.f.silentE <-- "e"
- ignore self.f.presentOnlyE <-- ""
- self.f.presentOnlyE <-- "e"
-
-construction PastInflection
- subcase of PastTense, RegularSuffixEInflection, WordLevelInflection
- form constraints
- self.f.suffix <-- "ed"
- self.f.silentE <-- ""
-
-construction PresentParticipleInflection
- subcase of PresentPart, PresentOnlyEInflection, RegularSuffixEInflection, WordLevelInflection
- form constraints
- self.f.suffix <-- "ing"
- self.f.silentE <-- ""
- self.f.presentOnlyE <-- ""
-
-construction PastParticipleInflection // e.g. believ{e(s),ing}/believed/believed
- subcase of PastPart, RegularSuffixEInflection, WordLevelInflection
- form constraints
- self.f.suffix <-- "ed"
- self.f.silentE <-- ""
-
-
-
-
-// SUBREGULAR PARADIGMS
-
-// - Base form without final 'e'--used when composing within derivational suffixes
-
-construction InternalInflection
- subcase of VerbalBase, RegularSuffixEInflection, PresentOnlyEInflection, NonWordLevelInflection
- form constraints
- self.f.suffix <-- ""
- self.f.silentE <-- ""
- self.f.orth <-- ""
-
-// - Past tense form is same as present tense, but without any final 'e': e.g. slide/slid
-
-construction PastInflectionBare
- subcase of PastTense, PresentOnlyEInflection, WordLevelInflection
- form constraints
- self.f.suffix <-- ""
- self.f.silentE <-- ""
-
-// - PresentOnlyE : the stem has a final 'e' which appears only in the present tense
-
-schema PresentOnlyEInflectionForm // there is an 'e' only in the present tense: e.g. hid{e(s),ing}/hid/hidden; slid{e(s),ing}/slid/slid
- subcase of SuffixEForm
- roles
- presentOnlyE
-
-general construction PresentOnlyEInflection
- subcase of SuffixEInflection
- form: PresentOnlyEInflectionForm
- constraints
- self.f.presentOnlyE <-- ""
-
-construction PastParticiplePresentOnlyEInflection // e.g. slid{e(s),ing}/slid/slid
- subcase of PastPart, PresentOnlyEInflection, WordLevelInflection
- form constraints
- self.f.suffix <-- ""
- self.f.presentOnlyE <-- ""
-
-
-// - IngAngUng : e.g. 'ring/rang/rung'
-
-general construction IngAngUngVerbParadigm // schematic construction for all verbs in the paradigm
- subcase of InflectedVerb
- constructional
- constituents
- infl: IngAngUngInflection
- form: WLAblautEForm
- constraints
- self.f.initial meets infl.f.mainV
- infl.f.mainV meets self.f.final
- self.f.final meets infl.f.suffix
-
-general construction IngAngUngInflectedVerb // prototype, e.g. 'ring', 'sing'
- subcase of IngAngUngVerbParadigm
- form
- constraints
- self.f.final <-- "ng"
-
-construction Ring
- subcase of IngAngUngInflectedVerb
- form
- constraints
- self.f.initial <-- "r"
-
-general construction InkAnkUnkInflectedVerb // extension of the prototype: e.g. 'drink', 'sink'
- subcase of IngAngUngInflectedVerb
- form
- constraints
- ignore self.f.final <-- "ng"
- self.f.final <-- "nk"
-
-construction Drink
- subcase of InkAnkUnkInflectedVerb
- form
- constraints
- self.f.initial <-- "dr"
-
-general construction IngAngUngInflection // e.g. ring{s,ing}/rang/rung; swim{s,ming}/swam/swum
- subcase of VerbInflection
- form: WLAblautForm
-
-general construction BareIngAngUngInflection
- subcase of IngAngUngInflection
- form constraints
- self.f.mainV <-- "i"
- self.f.suffix <-- ""
-
-construction BaseIngAngUngInflection // either word-level (ring) or non-word-level (ringer)
- subcase of VerbalBase, BareIngAngUngInflection
-
-construction PresentNon3SgIngAngUngInflection
- subcase of PresentTense, BareIngAngUngInflection, WordLevelInflection
- constructional constraints
- self.features <-- VerbNotSg3
-
-construction Present3SgIngAngUngInflection
- subcase of PresentTense, IngAngUngInflection, WordLevelInflection
- constructional constraints
- self.features <-- VerbSg3
- form constraints
- self.f.mainV <-- "i"
- self.f.suffix <-- "s"
-
-construction PastIngAngUngInflection
- subcase of PastTense, IngAngUngInflection, WordLevelInflection
- form constraints
- self.f.mainV <-- "a"
- self.f.suffix <-- ""
-
-construction PastParticipleIngAngUngInflection
- subcase of PastPart, IngAngUngInflection, WordLevelInflection
- form constraints
- self.f.mainV <-- "u"
- self.f.suffix <-- ""
-
-construction PresentParticipleIngAngUngInflection
- subcase of PresentPart, IngAngUngInflection, WordLevelInflection
- form constraints
- self.f.mainV <-- "i"
- self.f.suffix <-- "ing"
-
-// Totally irregular verbs: no constituents
-
-general construction BEAbstract
- subcase of Verb
- // TODO: specify meaning here
-
-construction Be
- subcase of BEAbstract, VerbalBase
- form constraints
- self.f.orth <-- "be"
-
-construction Am
- subcase of BEAbstract, PresentTense
- constructional constraints
- self.features <-- VerbSg1
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "am"
-
-construction Is
- subcase of BEAbstract, PresentTense
- constructional constraints
- self.features <-- VerbSg3
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "is"
-
-construction Are
- subcase of BEAbstract, PresentTense
- constructional constraints
- self.features <-- VerbNotSg3
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "are"
-
-construction Was
- subcase of BEAbstract, PastTense
- constructional constraints
- self.features <-- VerbNotSg2OrPl
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "was"
-
-construction Were
- subcase of BEAbstract, PastTense
- constructional constraints
- self.features <-- VerbSg2OrPl
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "were"
-
-construction Been
- subcase of BEAbstract, PastPart
- constructional constraints
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "been"
-
-construction Being
- subcase of BEAbstract, PresentPart
- constructional constraints
- self.atWordLevel <-- "yes"
- form constraints
- self.f.orth <-- "being"
diff --git a/compling.core/base2m/base2m-morphonly/verbmorphology.pdf b/compling.core/base2m/base2m-morphonly/verbmorphology.pdf
deleted file mode 100644
index 7e940f2..0000000
Binary files a/compling.core/base2m/base2m-morphonly/verbmorphology.pdf and /dev/null differ
diff --git a/compling.core/base2m/base2m-morphonly/verbmorphology2 b/compling.core/base2m/base2m-morphonly/verbmorphology2
deleted file mode 100644
index 63a7a45..0000000
--- a/compling.core/base2m/base2m-morphonly/verbmorphology2
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-construction Want // a prototypical verb in terms of its inflections
- subcase of ControlVerb, SuffixingVerb
- form
- constraints
- self.f.stem <-- "want"
- meaning:WantProcess
-
-
-construction WantPast
- subcase of Want, PastVerb
-*/
-
-/*
-construction Slide
- subcase of Verb
- form: WLAblautEForm
- constraints
- self.f.initial <-- "sl"
- self.f.mainV <-- "i"
- self.f.final <-- "d"
- self.f.silentE <-- "e"
- //self.f.suffix <-- "" // inherited
- self.f.initial meets self.f.mainV
- self.f.mainV meets self.f.final
- self.f.final meets self.f.silentE
- self.f.silentE meets self.f.suffix
-
-
-general construction InflectedVerb
- subcase of Verb
- constructional constraints
- ignore self.features.verbform <-- NonFinite
-
-construction PresentNot3SgVerb // finite, present tense, 3 singular
- subcase of InflectedVerb, PresentTense, SuffixingVerb
- constructional
- constraints
- self.features.verbform <-- Present
- self.features <-- VerbNotSg3
-
-construction Present3SgVerb // finite, present tense, 3 singular
- subcase of InflectedVerb, PresentTense, SuffixingVerb
- constructional
- constraints
- self.morph.pres3SgType <-- "-s"
- self.features.verbform <-- Present
- self.features <-- VerbSg3
- form constraints
- ignore self.f.suffix <-- ""
- self.f.suffix <-- "s"
-
-construction PastVerb // finite, past tense
- subcase of InflectedVerb, AbstractPastVerb, SuffixingVerb
- constructional
- constraints
- self.morph.pastType <-- "-ed"
- self.features.verbform <-- Past
- form constraints
- ignore self.f.suffix <-- ""
- self.f.suffix <-- "ed"
-
-general construction IrregularPastVerb // no stem--this should simply inherit from the bare verb
- subcase of AbstractPastVerb
- constructional constraints
- ignore self.morph.pastType <-- "-ed"
- self.morph.pastType <-- "X" // X stands for irregular (usu. with a stem-internal change)
-
-construction PrespartVerb // present participle
- subcase of InflectedVerb, PresentParticiple, SuffixingVerb
- constructional
- constraints
- self.morph.prespartType <-- "-ing"
- self.features.verbform <-- PresentParticiple
- form constraints
- ignore self.f.suffix <-- ""
- self.f.suffix <-- "ing"
-
-construction PastpartVerb // past participle
- subcase of InflectedVerb, PastParticiple, SuffixingVerb
- constructional
- constraints
- self.morph.pastpartType <-- "-ed"
- self.features.verbform <-- PastParticiple
- form constraints
- ignore self.f.suffix <-- ""
- self.f.suffix <-- "ed"
-
-construction PastpartVerbN // past participle with -n suffix (e.g. 'thrown')
- subcase of PastpartVerb
- constructional
- constraints
- ignore self.morph.pastpartType <-- "-ed"
- self.morph.pastpartType <-- "-n"
- form constraints
- ignore self.f.suffix <-- "ed"
- self.f.suffix <-- "n"
-*/
\ No newline at end of file
diff --git a/compling.core/base2m/base2m-phrasal.prefs b/compling.core/base2m/base2m-phrasal.prefs
deleted file mode 100644
index 70c5f26..0000000
--- a/compling.core/base2m/base2m-phrasal.prefs
+++ /dev/null
@@ -1,51 +0,0 @@
-
-GRAMMAR_EXTENSIONS = grm
-
-GRAMMAR_PATHS ::==
- ./base2m-core
- ./base2m-phrasalonly
-;
-
-ONTOLOGY_PATHS ::==
- ./base2m-core/ontology.ont
-;
-
-ROBUST = TRUE
-BEAM_SIZE = 13
-DEFAULT_OMISSION_PROB = 0
-DEBUG = TRUE
-NUM_ANALYSES_RETURNED = 6
-MULTI_ROOT_PENALTY = -3
-
-EXAMPLE_SENTENCES ::==
-he slid
-he could slide
-he could sliding
-he could slid
-he was sliding
-he was slid
-he was slide
-he had slid
-he had sliding
-he had slide
-he could have slide
-he could be sliding
-he had been sliding
-he could have been sliding
-he had could slid
-he was being sliding
-he was being slid
-
-he not slid
-he could not slide
-he was not sliding
-he had not slid
-he could be not sliding
-he could not be not sliding
-he did slide
-
-could he be sliding
-did he slide
-did he sliding
-did he slid
-;
diff --git a/compling.core/base2m/base2m-phrasal.sents b/compling.core/base2m/base2m-phrasal.sents
deleted file mode 100644
index c821f0c..0000000
--- a/compling.core/base2m/base2m-phrasal.sents
+++ /dev/null
@@ -1,30 +0,0 @@
-he slid
-he could slide
-he could sliding
-he could slid
-he was sliding
-he was slid
-he was slide
-he had slid
-he had sliding
-he had slide
-he could have slide
-he could be sliding
-he had been sliding
-he could have been sliding
-he had could slid
-he was being sliding
-he was being slid
-
-he not slid
-he could not slide
-he was not sliding
-he had not slid
-he could be not sliding
-he could not be not sliding
-he did slide
-
-could he be sliding
-did he slide
-did he sliding
-did he slid
diff --git a/compling.core/base2m/base2m-phrasalonly/generatedwords.grm b/compling.core/base2m/base2m-phrasalonly/generatedwords.grm
deleted file mode 100644
index 92fc954..0000000
--- a/compling.core/base2m/base2m-phrasalonly/generatedwords.grm
+++ /dev/null
@@ -1,463 +0,0 @@
-
-construction APPLES_
- subcase of CommonNoun
- constructional:NominalFeatures
- constraints
- features <--> NominalFeatureSet_18_
- features.massOrPlural <-- "yes"
- features.number <--> Pl_3_
- form
- constraints
- self.f.orth <-- "apples"
- meaning
- evokes RD as RD_2_
- evokes Pl as Pl_3_
- evokes NounInflectionMeaning as NounInflectionMeaning_6_
- evokes @apple as ONTOLOGY_apple_8_
-// evokes WLFinalSibilantForm as WLFinalSibilantForm_16_
-// evokes WLFinalSibilantFinalYForm as WLFinalSibilantFinalYForm_17_
- evokes NominalFeatureSet as NominalFeatureSet_18_
- constraints
- RD_2_.number <-- ">1"
- NounInflectionMeaning_6_.number <-- ">1"
-// WLFinalSibilantForm_16_.finalSib <-- ""
-// WLFinalSibilantForm_16_.stem <-- "apple"
-// WLFinalSibilantFinalYForm_17_.finalSib <-- ""
-// WLFinalSibilantFinalYForm_17_.affix <-- "s"
-// WLFinalSibilantFinalYForm_17_.suffix <-- "s"
-// WLFinalSibilantFinalYForm_17_.finalY <-- ""
- self.m <--> RD_2_
- RD_2_.ontological-category <--> ONTOLOGY_apple_8_
-
-
-construction WANTS_
- subcase of ControlVerb
- constructional:VerbFeatures
- constraints
- features <--> VerbSg3_12_
- features.verbform <--> Present_8_
- form
- constraints
- self.f.orth <-- "wants"
- meaning
- evokes @process as ONTOLOGY_process_0_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_2_
- evokes WordForm as WordForm_6_
- evokes Present as Present_8_
- evokes ControlVerbProcess as ControlVerbProcess_10_
- evokes VerbSg3 as VerbSg3_12_
- constraints
-// PresentOnlyEInflectionForm_2_.affix <-- "s"
-// PresentOnlyEInflectionForm_2_.suffix <-- "s"
-// PresentOnlyEInflectionForm_2_.silentE <-- "e"
-// PresentOnlyEInflectionForm_2_.presentOnlyE <-- "e"
-// WordForm_6_.orth <-- "want"
- self.m <--> ControlVerbProcess_10_
- ControlVerbProcess_10_.x-net <--> ONTOLOGY_process_0_
-
-construction SLIDE_BASE
- subcase of Verb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_21_
- features.verbform <--> Base_1_
- form
- constraints
- self.f.orth <-- "slide"
- meaning
- evokes Base as Base_1_
- evokes Process as Process_8_
-// evokes WLAblautEForm as WLAblautEForm_12_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_15_
- evokes VerbFeatureSet as VerbFeatureSet_21_
- evokes @slide as ONTOLOGY_slide_22_
- constraints
-// WLAblautEForm_12_.final <-- "d"
-// WLAblautEForm_12_.mainV <-- "i"
-// WLAblautEForm_12_.initial <-- "sl"
-// PresentOnlyEInflectionForm_15_.affix <-- ""
-// PresentOnlyEInflectionForm_15_.suffix <-- ""
-// PresentOnlyEInflectionForm_15_.silentE <-- "e"
-// PresentOnlyEInflectionForm_15_.presentOnlyE <-- "e"
- self.m <--> Process_8_
- Process_8_.x-net <--> ONTOLOGY_slide_22_
-
-construction SLID_PAST
- subcase of Verb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_6_
- features.verbform <--> Past_3_
- form
- constraints
- self.f.orth <-- "slid"
- meaning
-// evokes WLAblautEForm as WLAblautEForm_2_
- evokes Past as Past_3_
- evokes VerbFeatureSet as VerbFeatureSet_6_
- evokes Process as Process_16_
- evokes @slide as ONTOLOGY_slide_20_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_22_
- constraints
-// WLAblautEForm_2_.final <-- "d"
-// WLAblautEForm_2_.mainV <-- "i"
-// WLAblautEForm_2_.initial <-- "sl"
-// PresentOnlyEInflectionForm_22_.affix <-- ""
-// PresentOnlyEInflectionForm_22_.suffix <-- ""
-// PresentOnlyEInflectionForm_22_.silentE <-- ""
-// PresentOnlyEInflectionForm_22_.presentOnlyE <-- ""
- self.m <--> Process_16_
- Process_16_.x-net <--> ONTOLOGY_slide_20_
-
-construction SLID_PAPART
- subcase of Verb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_8_
- features.verbform <--> PastParticiple_6_
- form
- constraints
- self.f.orth <-- "slid"
- meaning
- evokes PastParticiple as PastParticiple_6_
- evokes VerbFeatureSet as VerbFeatureSet_8_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_10_
- evokes @slide as ONTOLOGY_slide_11_
- evokes Process as Process_20_
-// evokes WLAblautEForm as WLAblautEForm_22_
- constraints
-// PresentOnlyEInflectionForm_10_.affix <-- ""
-// PresentOnlyEInflectionForm_10_.suffix <-- ""
-// PresentOnlyEInflectionForm_10_.presentOnlyE <-- ""
-// WLAblautEForm_22_.final <-- "d"
-// WLAblautEForm_22_.mainV <-- "i"
-// WLAblautEForm_22_.initial <-- "sl"
- self.m <--> Process_20_
- Process_20_.x-net <--> ONTOLOGY_slide_11_
-
-
-construction SLIDES_
- subcase of Verb
- constructional:VerbFeatures
- constraints
- features <--> VerbSg3_21_
- features.verbform <--> Present_20_
- form
- constraints
- self.f.orth <-- "slides"
- meaning
- evokes Process as Process_0_
-// evokes WLAblautEForm as WLAblautEForm_14_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_16_
- evokes @slide as ONTOLOGY_slide_19_
- evokes Present as Present_20_
- evokes VerbSg3 as VerbSg3_21_
- constraints
-// WLAblautEForm_14_.final <-- "d"
-// WLAblautEForm_14_.mainV <-- "i"
-// WLAblautEForm_14_.initial <-- "sl"
-// PresentOnlyEInflectionForm_16_.affix <-- "s"
-// PresentOnlyEInflectionForm_16_.suffix <-- "s"
-// PresentOnlyEInflectionForm_16_.silentE <-- "e"
-// PresentOnlyEInflectionForm_16_.presentOnlyE <-- "e"
- self.m <--> Process_0_
- Process_0_.x-net <--> ONTOLOGY_slide_19_
-
-
-construction SLIDER_
- subcase of CommonNoun
- constructional:NominalFeatures
- constraints
- features <--> NominalFeatureSet_3_
- features.massOrPlural <-- "no"
- features.number <--> Sg_18_
- form
- constraints
- self.f.orth <-- "slider"
- meaning
- evokes NounInflectionMeaning as NounInflectionMeaning_1_
- evokes Process as Process_2_
- evokes NominalFeatureSet as NominalFeatureSet_3_
- evokes RD as RD_6_
-// evokes WLFinalSibilantForm as WLFinalSibilantForm_7_
-// evokes WLFinalSibilantFinalYForm as WLFinalSibilantFinalYForm_9_
- evokes Sg as Sg_18_
- evokes @animate as ONTOLOGY_animate_23_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_28_
-// evokes WLAblautEForm as WLAblautEForm_32_
- evokes Base as Base_34_
- evokes VerbFeatureSet as VerbFeatureSet_37_
- evokes @slide as ONTOLOGY_slide_43_
- constraints
- NounInflectionMeaning_1_.number <-- "1"
- RD_6_.number <-- "1"
-// WLFinalSibilantForm_7_.orth <-- "er"
-// WLFinalSibilantForm_7_.finalSib <-- ""
-// WLFinalSibilantForm_7_.stem <-- ""
-// WLFinalSibilantFinalYForm_9_.finalSib <-- ""
-// WLFinalSibilantFinalYForm_9_.affix <-- ""
-// WLFinalSibilantFinalYForm_9_.suffix <-- ""
-// WLFinalSibilantFinalYForm_9_.finalY <-- "y"
-// PresentOnlyEInflectionForm_28_.orth <-- ""
-// PresentOnlyEInflectionForm_28_.affix <-- ""
-// PresentOnlyEInflectionForm_28_.suffix <-- ""
-// PresentOnlyEInflectionForm_28_.silentE <-- ""
-// PresentOnlyEInflectionForm_28_.presentOnlyE <-- ""
-// WLAblautEForm_32_.final <-- "d"
-// WLAblautEForm_32_.mainV <-- "i"
-// WLAblautEForm_32_.initial <-- "sl"
- self.m <--> RD_6_
- Process_2_.protagonist <--> ONTOLOGY_animate_23_
- RD_6_.referent <--> ONTOLOGY_animate_23_
- VerbFeatureSet_37_.verbform <--> Base_34_
- Process_2_.x-net <--> ONTOLOGY_slide_43_
-
-construction HOSPITALIZE_BASE
- subcase of CausativeVerb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_18_
- features.verbform <--> Base_25_
- form
- constraints
- self.f.orth <-- "hospitalize"
- meaning
-// evokes WLSuffixEForm as WLSuffixEForm_2_
- evokes Institutionalization as Institutionalization_7_
- evokes @entity as ONTOLOGY_entity_8_
- evokes @complexxnet as ONTOLOGY_complexxnet_9_
- evokes RD as RD_11_
- evokes Sg as Sg_14_
- evokes SPG as SPG_15_
- evokes MotionPath as MotionPath_17_
- evokes VerbFeatureSet as VerbFeatureSet_18_
- evokes ForceApplication as ForceApplication_19_
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_21_
- evokes @animate as ONTOLOGY_animate_24_
- evokes Base as Base_25_
- evokes NominalFeatureSet as NominalFeatureSet_26_
- evokes @animate as ONTOLOGY_animate_30_
-// evokes WLFinalSibilantFinalYForm as WLFinalSibilantFinalYForm_36_
-// evokes WLFinalSibilantForm as WLFinalSibilantForm_39_
- evokes NounInflectionMeaning as NounInflectionMeaning_42_
- evokes @hospital as ONTOLOGY_hospital_43_
- constraints
-// WLSuffixEForm_2_.stem <-- "iz"
-// PresentOnlyEInflectionForm_21_.affix <-- ""
-// PresentOnlyEInflectionForm_21_.suffix <-- ""
-// PresentOnlyEInflectionForm_21_.silentE <-- "e"
-// PresentOnlyEInflectionForm_21_.presentOnlyE <-- "e"
-// WLFinalSibilantFinalYForm_36_.finalSib <-- ""
-// WLFinalSibilantFinalYForm_36_.affix <-- ""
-// WLFinalSibilantFinalYForm_36_.suffix <-- ""
-// WLFinalSibilantFinalYForm_36_.finalY <-- ""
-// WLFinalSibilantForm_39_.finalSib <-- ""
-// WLFinalSibilantForm_39_.stem <-- "hospital"
- self.m <--> Institutionalization_7_
- Institutionalization_7_.process1 <--> ForceApplication_19_
- Institutionalization_7_.x-net <--> ONTOLOGY_complexxnet_9_
- NominalFeatureSet_26_.number <--> Sg_14_
- Institutionalization_7_.facility <--> ONTOLOGY_entity_8_
- RD_11_.referent <--> ONTOLOGY_entity_8_
- SPG_15_.goal <--> ONTOLOGY_entity_8_
- Institutionalization_7_.authority <--> ONTOLOGY_animate_30_
- Institutionalization_7_.protagonist <--> ONTOLOGY_animate_30_
- Institutionalization_7_.causer <--> ONTOLOGY_animate_30_
- ForceApplication_19_.protagonist <--> ONTOLOGY_animate_30_
- ForceApplication_19_.actor <--> ONTOLOGY_animate_30_
- Institutionalization_7_.affected <--> ONTOLOGY_animate_24_
- Institutionalization_7_.protagonist2 <--> ONTOLOGY_animate_24_
- Institutionalization_7_.patient <--> ONTOLOGY_animate_24_
- MotionPath_17_.mover <--> ONTOLOGY_animate_24_
- MotionPath_17_.protagonist <--> ONTOLOGY_animate_24_
- ForceApplication_19_.actedUpon <--> ONTOLOGY_animate_24_
- MotionPath_17_.spg <--> SPG_15_
- RD_11_.ontological-category <--> ONTOLOGY_hospital_43_
- Institutionalization_7_.process2 <--> MotionPath_17_
-
-construction HOSPITALIZED_PAST
- subcase of CausativeVerb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_27_
- features.verbform <--> Past_22_
- form
- constraints
- self.f.orth <-- "hospitalized"
- meaning
- evokes Sg as Sg_0_
- evokes @complexxnet as ONTOLOGY_complexxnet_1_
-// evokes WLSuffixEForm as WLSuffixEForm_6_
- evokes @entity as ONTOLOGY_entity_8_
-// evokes SuffixEForm as SuffixEForm_10_
- evokes @animate as ONTOLOGY_animate_12_
- evokes MotionPath as MotionPath_14_
- evokes ForceApplication as ForceApplication_16_
- evokes RD as RD_17_
- evokes SPG as SPG_18_
- evokes NominalFeatureSet as NominalFeatureSet_20_
- evokes Institutionalization as Institutionalization_21_
- evokes Past as Past_22_
- evokes @animate as ONTOLOGY_animate_24_
- evokes VerbFeatureSet as VerbFeatureSet_27_
- evokes @hospital as ONTOLOGY_hospital_30_
-// evokes WLFinalSibilantForm as WLFinalSibilantForm_31_
-// evokes WLFinalSibilantFinalYForm as WLFinalSibilantFinalYForm_39_
- evokes NounInflectionMeaning as NounInflectionMeaning_43_
- constraints
-// WLSuffixEForm_6_.stem <-- "iz"
-// SuffixEForm_10_.affix <-- "ed"
-// SuffixEForm_10_.suffix <-- "ed"
-// SuffixEForm_10_.silentE <-- ""
-// WLFinalSibilantForm_31_.finalSib <-- ""
-// WLFinalSibilantForm_31_.stem <-- "hospital"
-// WLFinalSibilantFinalYForm_39_.finalSib <-- ""
-// WLFinalSibilantFinalYForm_39_.affix <-- ""
-// WLFinalSibilantFinalYForm_39_.suffix <-- ""
-// WLFinalSibilantFinalYForm_39_.finalY <-- ""
- self.m <--> Institutionalization_21_
- ForceApplication_16_.protagonist <--> ONTOLOGY_animate_24_
- ForceApplication_16_.actor <--> ONTOLOGY_animate_24_
- Institutionalization_21_.authority <--> ONTOLOGY_animate_24_
- Institutionalization_21_.protagonist <--> ONTOLOGY_animate_24_
- Institutionalization_21_.causer <--> ONTOLOGY_animate_24_
- NominalFeatureSet_20_.number <--> Sg_0_
- MotionPath_14_.mover <--> ONTOLOGY_animate_12_
- MotionPath_14_.protagonist <--> ONTOLOGY_animate_12_
- ForceApplication_16_.actedUpon <--> ONTOLOGY_animate_12_
- Institutionalization_21_.affected <--> ONTOLOGY_animate_12_
- Institutionalization_21_.protagonist2 <--> ONTOLOGY_animate_12_
- Institutionalization_21_.patient <--> ONTOLOGY_animate_12_
- Institutionalization_21_.x-net <--> ONTOLOGY_complexxnet_1_
- MotionPath_14_.spg <--> SPG_18_
- Institutionalization_21_.process1 <--> ForceApplication_16_
- RD_17_.ontological-category <--> ONTOLOGY_hospital_30_
- RD_17_.referent <--> ONTOLOGY_entity_8_
- SPG_18_.goal <--> ONTOLOGY_entity_8_
- Institutionalization_21_.facility <--> ONTOLOGY_entity_8_
- Institutionalization_21_.process2 <--> MotionPath_14_
-
-construction HOSPITALIZED_PAPART
- subcase of CausativeVerb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_27_
- features.verbform <--> PastParticiple_0_
- form
- constraints
- self.f.orth <-- "hospitalized"
- meaning
- evokes PastParticiple as PastParticiple_0_
- evokes Sg as Sg_1_
- evokes SPG as SPG_5_
- evokes ForceApplication as ForceApplication_7_
- evokes @animate as ONTOLOGY_animate_8_
-// evokes WLSuffixEForm as WLSuffixEForm_9_
- evokes @entity as ONTOLOGY_entity_10_
- evokes NominalFeatureSet as NominalFeatureSet_11_
- evokes @animate as ONTOLOGY_animate_12_
- evokes MotionPath as MotionPath_14_
- evokes @complexxnet as ONTOLOGY_complexxnet_16_
- evokes Institutionalization as Institutionalization_19_
- evokes RD as RD_25_
-// evokes SuffixEForm as SuffixEForm_26_
- evokes VerbFeatureSet as VerbFeatureSet_27_
- evokes @hospital as ONTOLOGY_hospital_30_
-// evokes WLFinalSibilantFinalYForm as WLFinalSibilantFinalYForm_34_
-// evokes NounInflectionMeaning as NounInflectionMeaning_37_
-// evokes WLFinalSibilantForm as WLFinalSibilantForm_40_
- constraints
-// WLSuffixEForm_9_.stem <-- "iz"
-// SuffixEForm_26_.affix <-- "ed"
-// SuffixEForm_26_.suffix <-- "ed"
-// SuffixEForm_26_.silentE <-- ""
-// WLFinalSibilantFinalYForm_34_.finalSib <-- ""
-// WLFinalSibilantFinalYForm_34_.affix <-- ""
-// WLFinalSibilantFinalYForm_34_.suffix <-- ""
-// WLFinalSibilantFinalYForm_34_.finalY <-- ""
-// WLFinalSibilantForm_40_.finalSib <-- ""
-// WLFinalSibilantForm_40_.stem <-- "hospital"
- self.m <--> Institutionalization_19_
- Institutionalization_19_.process1 <--> ForceApplication_7_
- MotionPath_14_.spg <--> SPG_5_
- RD_25_.ontological-category <--> ONTOLOGY_hospital_30_
- SPG_5_.goal <--> ONTOLOGY_entity_10_
- Institutionalization_19_.facility <--> ONTOLOGY_entity_10_
- RD_25_.referent <--> ONTOLOGY_entity_10_
- Institutionalization_19_.x-net <--> ONTOLOGY_complexxnet_16_
- ForceApplication_7_.actedUpon <--> ONTOLOGY_animate_12_
- MotionPath_14_.mover <--> ONTOLOGY_animate_12_
- MotionPath_14_.protagonist <--> ONTOLOGY_animate_12_
- Institutionalization_19_.affected <--> ONTOLOGY_animate_12_
- Institutionalization_19_.protagonist2 <--> ONTOLOGY_animate_12_
- Institutionalization_19_.patient <--> ONTOLOGY_animate_12_
- Institutionalization_19_.process2 <--> MotionPath_14_
- ForceApplication_7_.protagonist <--> ONTOLOGY_animate_8_
- ForceApplication_7_.actor <--> ONTOLOGY_animate_8_
- Institutionalization_19_.authority <--> ONTOLOGY_animate_8_
- Institutionalization_19_.protagonist <--> ONTOLOGY_animate_8_
- Institutionalization_19_.causer <--> ONTOLOGY_animate_8_
- NominalFeatureSet_11_.number <--> Sg_1_
-
-construction HOSPITALIZING_
- subcase of CausativeVerb
- constructional:VerbFeatures
- constraints
- features <--> VerbFeatureSet_13_
- features.verbform <--> PresentParticiple_9_
- form
- constraints
- self.f.orth <-- "hospitalizing"
- meaning
-// evokes PresentOnlyEInflectionForm as PresentOnlyEInflectionForm_1_
- evokes @entity as ONTOLOGY_entity_3_
- evokes @complexxnet as ONTOLOGY_complexxnet_4_
- evokes PresentParticiple as PresentParticiple_9_
- evokes @animate as ONTOLOGY_animate_12_
- evokes VerbFeatureSet as VerbFeatureSet_13_
-// evokes WLSuffixEForm as WLSuffixEForm_14_
- evokes @animate as ONTOLOGY_animate_15_
- evokes Institutionalization as Institutionalization_16_
- evokes ForceApplication as ForceApplication_20_
- evokes MotionPath as MotionPath_21_
- evokes SPG as SPG_22_
- evokes RD as RD_24_
- evokes Sg as Sg_25_
- evokes NominalFeatureSet as NominalFeatureSet_29_
-// evokes WLFinalSibilantFinalYForm as WLFinalSibilantFinalYForm_31_
-// evokes WLFinalSibilantForm as WLFinalSibilantForm_32_
- evokes @hospital as ONTOLOGY_hospital_35_
- evokes NounInflectionMeaning as NounInflectionMeaning_40_
- constraints
-// PresentOnlyEInflectionForm_1_.affix <-- "ing"
-// PresentOnlyEInflectionForm_1_.suffix <-- "ing"
-// PresentOnlyEInflectionForm_1_.silentE <-- ""
-// PresentOnlyEInflectionForm_1_.presentOnlyE <-- ""
-// WLSuffixEForm_14_.stem <-- "iz"
-// WLFinalSibilantFinalYForm_31_.finalSib <-- ""
-// WLFinalSibilantFinalYForm_31_.affix <-- ""
-// WLFinalSibilantFinalYForm_31_.suffix <-- ""
-// WLFinalSibilantFinalYForm_31_.finalY <-- ""
-// WLFinalSibilantForm_32_.finalSib <-- ""
-// WLFinalSibilantForm_32_.stem <-- "hospital"
- self.m <--> Institutionalization_16_
- Institutionalization_16_.facility <--> ONTOLOGY_entity_3_
- SPG_22_.goal <--> ONTOLOGY_entity_3_
- RD_24_.referent <--> ONTOLOGY_entity_3_
- Institutionalization_16_.affected <--> ONTOLOGY_animate_12_
- Institutionalization_16_.protagonist2 <--> ONTOLOGY_animate_12_
- Institutionalization_16_.patient <--> ONTOLOGY_animate_12_
- ForceApplication_20_.actedUpon <--> ONTOLOGY_animate_12_
- MotionPath_21_.mover <--> ONTOLOGY_animate_12_
- MotionPath_21_.protagonist <--> ONTOLOGY_animate_12_
- Institutionalization_16_.process1 <--> ForceApplication_20_
- Institutionalization_16_.x-net <--> ONTOLOGY_complexxnet_4_
- NominalFeatureSet_29_.number <--> Sg_25_
- Institutionalization_16_.process2 <--> MotionPath_21_
- MotionPath_21_.spg <--> SPG_22_
- Institutionalization_16_.authority <--> ONTOLOGY_animate_15_
- Institutionalization_16_.protagonist <--> ONTOLOGY_animate_15_
- Institutionalization_16_.causer <--> ONTOLOGY_animate_15_
- ForceApplication_20_.protagonist <--> ONTOLOGY_animate_15_
- ForceApplication_20_.actor <--> ONTOLOGY_animate_15_
- RD_24_.ontological-category <--> ONTOLOGY_hospital_35_
diff --git a/compling.core/base2m/base2m-phrasalonly/morph.grm b/compling.core/base2m/base2m-phrasalonly/morph.grm
deleted file mode 100644
index ac9b493..0000000
--- a/compling.core/base2m/base2m-phrasalonly/morph.grm
+++ /dev/null
@@ -1,49 +0,0 @@
-/********************
- Some general morphological constructions
-
- Due to weirdnesses in the original version of the phrasal parser,
- this file will be slightly different for that vs. the morphological parser.
- *********************
- nschneid
- 2009-05-13
-*/
-
-/*
-construction WROOT // for morphological parser only
- constructional constituents
- word: WLMorph
- form: MorphForm
- constraints
- self.f.orth <-- ""
- self.f.orth meets word.f
-*/
-
-general construction Morph
- form: MorphForm
-
-general construction WLMorph // Word-Level
- subcase of Morph
-
-
-general construction Affix
- subcase of Morph
- constructional constituents
- stem: Morph
- form: AffixForm
-
-general construction Suffix
- subcase of Affix
- form: SuffixForm
- constraints
- stem.f meets self.f.suffix
-
-general construction WLAffix
- subcase of WLMorph, Affix
- form: WLAffixForm
-
-general construction WLSuffix
- subcase of WLAffix, Suffix
- form: WLSuffixForm
-
-
-
diff --git a/compling.core/base2m/base2m-phrasalonly/singularnouns.grm b/compling.core/base2m/base2m-phrasalonly/singularnouns.grm
deleted file mode 100644
index ed465c9..0000000
--- a/compling.core/base2m/base2m-phrasalonly/singularnouns.grm
+++ /dev/null
@@ -1,166 +0,0 @@
-/***
- ***
- *** Singular Count Nouns
- ***
-***********/
-
-// Identical to the version in the morphological grammar, except:
-// - supertypes which are morphology-only are replaced with SingularNoun
-// - form assignment is to self.f.orth rather than self.f.stem
-
-/*general construction Noun
- subcase of Word
- constructional:NominalFeatures
- meaning: @entity*/
-
-
-
-general construction SingularNoun
- subcase of Noun, Singular
- constructional
- constraints
- self.features.massOrPlural <-- "no"
- meaning
- constraints
- self.m.number <-- "1"
-
-
-construction Apple
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "apple"
- meaning
- constraints
- self.m.ontological-category <-- @apple
-
-
-construction Tree
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "tree"
- meaning
- constraints
- self.m.ontological-category <-- @tree
-
-
-construction Hand
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "hand"
- meaning
- constraints
- self.m.ontological-category <-- @hand
-
-
-construction Box
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "box"
- meaning
- constraints
- self.m.ontological-category <-- @box
-
-construction Table
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "table"
- meaning
- constraints
- self.m.ontological-category <-- @table
-
-construction Hammer
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "hammer"
- meaning
- constraints
- self.m.ontological-category <-- @hammer
-
-construction House
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "house"
- meaning
- constraints
- self.m.ontological-category <-- @house
-
-construction Niña
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "niña"
- meaning
- constraints
- self.m.ontological-category <-- @niña
-
-construction Cake
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "cake"
- meaning
- constraints
- self.m.ontological-category <-- @cake
-
-construction Room
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "room"
- meaning
- constraints
- self.m.ontological-category <-- @room
-
-
-construction Hospital // nschneid
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "hospital"
- meaning
- constraints
- self.m.ontological-category <-- @hospital
-
-construction Berry // nschneid
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "berr"
- meaning
- constraints
- self.m.ontological-category <-- @berry
-
-construction Recession2
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "recession"
- meaning
- constraints
- self.m.ontological-category <-- @recession
-
-construction Depression1
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "depression"
- meaning
- constraints
- self.m.ontological-category <-- @depression
-
-construction Year
- subcase of SingularNoun, CommonNoun
- form
- constraints
- self.f.orth <-- "year"
- meaning
- constraints
- self.m.ontological-category <-- @year
-
\ No newline at end of file
diff --git a/compling.core/build/compling.core.jar b/compling.core/build/compling.core.jar
index 560aa49..bcc9a77 100644
Binary files a/compling.core/build/compling.core.jar and b/compling.core/build/compling.core.jar differ
diff --git a/compling.core/source/compling/grammar/ecg/ECGGrammarUtilities.java b/compling.core/source/compling/grammar/ecg/ECGGrammarUtilities.java
index 518ac07..b080b3b 100644
--- a/compling.core/source/compling/grammar/ecg/ECGGrammarUtilities.java
+++ b/compling.core/source/compling/grammar/ecg/ECGGrammarUtilities.java
@@ -13,7 +13,7 @@
import java.util.List;
import java.util.StringTokenizer;
-import org.semanticweb.owlapi.model.OWLOntologyAlreadyExistsException;
+// import org.semanticweb.owlapi.model.OWLOntologyAlreadyExistsException;
import java_cup.runtime.Symbol;
@@ -582,6 +582,31 @@ public static String getLexemeFromLexicalConstruction(Construction lexicalConstr
throw new GrammarException("Not a lexical construction: " + lexicalConstruction.getName(), lexicalConstruction);
}
+
+ // @author: seantrott 11/13/14, used for generating Lemma-->Construction hashmap.
+ public static String getLemmaFromLexicalConstruction(Construction lexicalConstruction) {
+ for (Constraint constraint : lexicalConstruction.getFormBlock().getConstraints()) {
+ if (constraint.getOperator().equals(ECGConstants.ASSIGN)
+ && constraint.getArguments().get(0).toString().indexOf("lemma") != -1) {
+ return constraint.getValue();
+ }
+ }
+ // Look for an assignment to 'orth' in the schema
+ if (lexicalConstruction.getFormBlock().getTypeConstraint().getType() != ECGConstants.UNTYPED) {
+ for (Constraint constraint : lexicalConstruction.getSchemaTypeSystem()
+ .get(lexicalConstruction.getFormBlock().getType()).getContents().getConstraints()) {
+ if (constraint.getOperator().equals(ECGConstants.ASSIGN)
+ && constraint.getArguments().get(0).toString().indexOf("lemma") != -1) {
+ return constraint.getValue();
+ }
+ }
+ }
+ throw new GrammarException("Not a lexical construction: " + lexicalConstruction.getName(), lexicalConstruction);
+
+
+
+ }
+
public static Grammar read(AnalyzerPrefs preferences) throws IOException, TypeSystemException {
File base = preferences.getBaseDirectory();
diff --git a/compling.core/source/compling/grammar/ecg/Grammar.java b/compling.core/source/compling/grammar/ecg/Grammar.java
index f6957f2..d50b601 100644
--- a/compling.core/source/compling/grammar/ecg/Grammar.java
+++ b/compling.core/source/compling/grammar/ecg/Grammar.java
@@ -452,6 +452,7 @@ public Construction(String name, String kind, Set parents, Block formBlo
this.constructionalBlock = constructionalBlock;
this.kind = kind;
}
+
public void setMeaningBlock(Block meaningBlock) {
this.meaningBlock = meaningBlock;
diff --git a/compling.core/source/compling/parser/ecgparser/Analysis.java b/compling.core/source/compling/parser/ecgparser/Analysis.java
index 97fd6c3..de21119 100644
--- a/compling.core/source/compling/parser/ecgparser/Analysis.java
+++ b/compling.core/source/compling/parser/ecgparser/Analysis.java
@@ -282,7 +282,7 @@ public void setSemanticChains(List chains, List> subtypeList = new HashMap>();
private HashMap> lexemeToLexicalConstructions = new HashMap>();
+
+ // for lemmas and constructions
+ private HashMap> lemmaToLexicalConstructions = new HashMap>();
+
Construction morph;
Construction word;
@@ -50,9 +54,20 @@ public LCPGrammarWrapper(Grammar ecgGrammar) {
if (lexemeToLexicalConstructions.get(ECGGrammarUtilities.getLexemeFromLexicalConstruction(parent)) == null) {
lexemeToLexicalConstructions.put(ECGGrammarUtilities.getLexemeFromLexicalConstruction(parent),
new ArrayList());
+ }
+ // @ author seantrott
+ // instantiate new entry for lemma if it's not already in hashmap
+ if (lemmaToLexicalConstructions.get(ECGGrammarUtilities.getLemmaFromLexicalConstruction(parent)) == null) { // so far just putting in lexeme hashmap
+ lemmaToLexicalConstructions.put(ECGGrammarUtilities.getLemmaFromLexicalConstruction(parent), new ArrayList());
}
+
+ // add parent to lemma hashmap
+ lemmaToLexicalConstructions.get(ECGGrammarUtilities.getLemmaFromLexicalConstruction(parent)).add(parent);
+
lexemeToLexicalConstructions.get(ECGGrammarUtilities.getLexemeFromLexicalConstruction(parent)).add(parent);
- }
+ } // could be code checking if it's a LemmaConstruction?, then put in Lemma hashmap (if necessary) (@seantrott, 11/12/14)
+ // alternatively, lemma constructions could just also be lexical constructions
+ // elif (isLemmaConstruction(parent))
}
}
@@ -99,6 +114,10 @@ public boolean isLexicalConstruction(Construction c) {
&& !isSubcaseOfMorph(c);
}
+ // public boolean isLemmaConstruction(Construction c) {
+ // ** check if it's a lemma construction
+ // }
+
// public boolean isLexicalConstruction(Construction c) {
//// return c.getKind() == ECGConstants.CONCRETE && isSubcaseOfWord(c);
// return c.getKind() == ECGConstants.CONCRETE && isSubcaseOfMorph(c);
@@ -123,6 +142,17 @@ public List getLexicalConstruction(String lexeme) {
}
return lex;
}
+
+
+ // @author seantrott
+ public List getLemmaConstruction(String lemma) {
+ List lem = lemmaToLexicalConstructions.get(lemma);
+ if (lem == null) {
+ // System.out.println(lexemeToLexicalConstruction.keySet());
+ throw new GrammarException("undefined lemma: " + lemma + " in Grammar.getLexicalConstruction");
+ }
+ return lem;
+ }
public Set getAllConcretePhrasalConstructions() {
Set cxns = new LinkedHashSet();
diff --git a/compling.core/source/compling/parser/ecgparser/LeftCornerParser.java b/compling.core/source/compling/parser/ecgparser/LeftCornerParser.java
index ebd2319..446867d 100644
--- a/compling.core/source/compling/parser/ecgparser/LeftCornerParser.java
+++ b/compling.core/source/compling/parser/ecgparser/LeftCornerParser.java
@@ -1,6 +1,7 @@
package compling.parser.ecgparser;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
@@ -14,6 +15,8 @@
import compling.grammar.ecg.Grammar.Construction;
import compling.grammar.unificationgrammar.TypeSystem;
import compling.grammar.unificationgrammar.TypeSystemException;
+import compling.grammar.unificationgrammar.UnificationGrammar;
+import compling.grammar.unificationgrammar.UnificationGrammar.Constraint;
import compling.grammar.unificationgrammar.UnificationGrammar.Role;
import compling.parser.ParserException;
import compling.parser.RobustParser;
@@ -167,6 +170,9 @@ public int getNumberOfStatesProcessedForLastUtterance() {
}
public PriorityQueue> getBestPartialParses(Utterance utterance) {
+
+
+
lastNormalizer = 0;
currentEntropy = 0;
parserLog = new StringBuilder();
@@ -183,25 +189,137 @@ public PriorityQueue> getBestPartialParses(Utterance utter
input = new Construction[utterance.size() + 1][];
for (int i = 0; i < utterance.size(); i++) {
+
+
+
+
+
+ // Try to process input string as lemma, after decomposing into morphological parts.
try {
- List lexicalCxns = grammar.getLexicalConstruction(StringUtilities.addQuotes(utterance.getElement(
- i).getOrthography()));
- input[i] = new Construction[lexicalCxns.size()];
- for (int j = 0; j < lexicalCxns.size(); j++) {
- // System.out.println("i:"+i+", j:"+j+" "+lexicalCxns.get(j).getName());
- input[i][j] = lexicalCxns.get(j);
+
+ // Get lemma output from Morph analyzer. For now, just set to "block".
+ String lemma = "block";
+
+ String[] morphs = new String[]{"Plural", "Present|!Participle"};
+
+
+
+ // beginnings of initializing a morph table hashmap. Should actually be initialized outside function. Though ideally inside grammar.
+ HashMap meaning_morphTable = new HashMap()
+ {{
+ put("Plural", new String[]{"self.m.number", "@plural"});
+ put("Singular", new String[]{"self.m.number", "@singular"});
+ // put("Singular", new String[]{"self.m.bounding", "@determinate"});
+ put("Past|!Participle", new String[]{"self.pf.tense", "@past"});
+ put("Present|!Participle", new String[]{"self.pf.tense", "@present"});
+ put("Comparative", new String[]{"self.m.kind", "@comparative"});
+ put("Superlative", new String[]{"self.m.kind", "@superlative"});
+ }};
+
+ // beginnings of initializing a morph table HashMap for constructional features.
+ HashMap constructional_morphTable = new HashMap()
+ {{
+ put("Plural", new String[]{"self.features.number", "\"plural\""});
+ put("Singular", new String[]{"self.features.number", "\"singular\""});
+ put("Present|!Participle", new String[]{"self.verbform", "Present"});
+ }};
+
+
+ // Search for lemma in constructions
+ List lemmaCxns = grammar.getLemmaConstruction(StringUtilities.addQuotes(lemma)); //(StringUtilities.addQuotes(utterance.getElement(i).getOrthography()));
+
+ // make new list: input[i] = ??, based on size of lemmaCxns (but also based on combinations between morphed and lemmaCxns)
+ input[i] = new Construction[lemmaCxns.size()];
+
+ for (int j = 0; j < lemmaCxns.size(); j++) {
+ Construction cxn = lemmaCxns.get(j); // should actually make a copy of construction
+
+
+ //Construction cxn2 = new Construction("BlockTest2", cxn.getParents(), cxn.getFormBlock(), cxn.getMeaningBlock(), cxn.getConstructionalBlock());
+
+ // Procedure: iterate through constructional constraints.
+ // Check if constraint matches FlectTypes in constructional Table.
+ // Change value if true.
+
+ for (Constraint constraint: cxn.getConstructionalBlock().getConstraints()) {
+ if (constraint.getValue().replace("\"", "").equals("undetermined")) {
+ for (String morph : morphs) {
+ if (constraint.getArguments().toString().replace("]", "").replace("[", "").equals(constructional_morphTable.get(morph)[0])) {
+ constraint.setValue(constructional_morphTable.get(morph)[1]);
+ }
+ }
+ }
+
+ }
+
+ // Procedure: iterate through semantic constraints. For each constraint, check if any of returned FlectTypes match in preset HashMap.
+ // If they do match, change value of constraint to value specified in HashMap.
+
+
+ for (Constraint constraint : cxn.getMeaningBlock().getConstraints()) {
+ if (constraint.isAssign() && constraint.getValue().replace("\"", "").equals("undetermined")) {
+ for (String morph : morphs) {
+ //String arg = meaning_morphTable.get(morph)[0];
+ if (constraint.getArguments().toString().replace("]", "").replace("[", "")
+ .equals(meaning_morphTable.get(morph)[0])) {
+ constraint.setValue(meaning_morphTable.get(morph)[1]);
+ }
+ }
+
+ }
+ }
+
+ cloneTable.put(cxn);
+ cloneTable.update();
+
+ input[i][j] = cxn;
+
+
}
- }
- catch (GrammarException g) {
- System.out.println("Unknown input lexeme: " + utterance.getElement(i).getOrthography());
- input[i] = new Construction[1];
- List lexicalCxns = grammar.getLexicalConstruction(StringUtilities
- .addQuotes(ECGConstants.UNKNOWN_ITEM));
- input[i][0] = lexicalCxns.get(0);
+ } catch (GrammarException g) {
+ System.out.println("Unknown input lemma: " + utterance.getElement(i).getOrthography());
+ input[i] = new Construction[1];
+ List lexicalCxns = grammar.getLexicalConstruction(StringUtilities
+ .addQuotes(ECGConstants.UNKNOWN_ITEM));
+ input[i][0] = lexicalCxns.get(0);
+
+
+
}
+ // Currently this creates a new copy of the existing list, then adds to lexical Cxns list.
+ try {
+ List lexicalCxns = grammar.getLexicalConstruction(StringUtilities.addQuotes(utterance.getElement(
+ i).getOrthography()));
+
+
+ Construction[] copy = new Construction[input[i].length + lexicalCxns.size()];
+ for (int k = 0; k < input[i].length; k++){
+ copy[k] = input[i][k];
+ }
+
+
+ Construction[] test = new Construction[lexicalCxns.size()]; //input[i] = new Construction[lexicalCxns.size()];
+ for (int j = 0; j < lexicalCxns.size(); j++) {
+ //System.out.println("i:"+i+", j:"+j+" "+lexicalCxns.get(j).getName());
+ test[j] = lexicalCxns.get(j); //input[i][j] = lexicalCxns.get(j);
+ }
+
+ int it = 0;
+ for (int l = input[i].length; l < copy.length; l++){
+ copy[l] = test[it];
+ it += 1;
+ }
+
+ input[i] = copy;
+
+ }catch (GrammarException g) {
+ System.out.println("Unknown input lexeme: " + utterance.getElement(i).getOrthography());
+
+ }
}
+
input[utterance.size()] = new Construction[1];
input[utterance.size()][0] = null;
diff --git a/compling.core/source/compling/parser/ecgparser/LeftCornerParserTablesCxn.java b/compling.core/source/compling/parser/ecgparser/LeftCornerParserTablesCxn.java
index 10fa080..ad475bd 100644
--- a/compling.core/source/compling/parser/ecgparser/LeftCornerParserTablesCxn.java
+++ b/compling.core/source/compling/parser/ecgparser/LeftCornerParserTablesCxn.java
@@ -481,6 +481,14 @@ T get(Construction cxn, int startIndex) {
a.getPossibleSemSpecs().setID();
return a;
}
+
+ // adds a new Construction to canonical Instances HashMap. @seantrott.
+ public void put(Construction cxn) {
+ T a = factory.get(cxn);
+ canonicalInstances.put(cxn, a); // factory.get(cxn));
+ //System.out.println(factory.get(cxn));
+
+ }
@SuppressWarnings("unchecked")
public T get(Construction cxn) {
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index c55909d..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
- CFBundleExecutable
- eclipse
- CFBundleGetInfoString
- Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved.
- CFBundleIconFile
- Eclipse.icns
- CFBundleIdentifier
- org.eclipse.eclipse
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Eclipse
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 3.7
- CFBundleSignature
- ????
- CFBundleVersion
- 3.7
- CFBundleDevelopmentRegion
- English
- CFBundleLocalizations
-
- ar
- cs
- da
- el
- en
- es
- de
- fi
- fr
- hu
- it
- iw
- ja
- ko
- nl
- no
- pl
- pt_BR
- pt
- ru
- sv
- tr
- zh_HK
- zh_TW
- zh
-
-
- Eclipse
-
-
- -keyring~/.eclipse_keyring
- -showlocation
-
-
-
-
-
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index eedcd4c..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
\ No newline at end of file
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/launcher b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/launcher
deleted file mode 100644
index b9fd091..0000000
Binary files a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/launcher and /dev/null differ
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index 4106f51..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
- CFBundleExecutable
- eclipse
- CFBundleGetInfoString
- Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved.
- CFBundleIconFile
- Eclipse.icns
- CFBundleIdentifier
- org.eclipse.eclipse
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Eclipse
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 3.7
- CFBundleSignature
- ????
- CFBundleVersion
- 3.7
- CFBundleDevelopmentRegion
- English
- CFBundleLocalizations
-
- ar
- cs
- da
- el
- en
- es
- de
- fi
- fr
- hu
- it
- iw
- ja
- ko
- nl
- no
- pl
- pt_BR
- pt
- ru
- sv
- tr
- zh_HK
- zh_TW
- zh
-
-
- Eclipse
-
-
- -keyring~/.eclipse_keyring
- -showlocation
-
-
-
-
-
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index eedcd4c..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
\ No newline at end of file
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/launcher b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/launcher
deleted file mode 100644
index b9fd091..0000000
Binary files a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/launcher and /dev/null differ
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index c55909d..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
- CFBundleExecutable
- eclipse
- CFBundleGetInfoString
- Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved.
- CFBundleIconFile
- Eclipse.icns
- CFBundleIdentifier
- org.eclipse.eclipse
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Eclipse
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 3.7
- CFBundleSignature
- ????
- CFBundleVersion
- 3.7
- CFBundleDevelopmentRegion
- English
- CFBundleLocalizations
-
- ar
- cs
- da
- el
- en
- es
- de
- fi
- fr
- hu
- it
- iw
- ja
- ko
- nl
- no
- pl
- pt_BR
- pt
- ru
- sv
- tr
- zh_HK
- zh_TW
- zh
-
-
- Eclipse
-
-
- -keyring~/.eclipse_keyring
- -showlocation
-
-
-
-
-
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index 72fea18..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/launcher b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/launcher
deleted file mode 100644
index 6688012..0000000
Binary files a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/launcher and /dev/null differ
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index c55909d..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
- CFBundleExecutable
- eclipse
- CFBundleGetInfoString
- Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved.
- CFBundleIconFile
- Eclipse.icns
- CFBundleIdentifier
- org.eclipse.eclipse
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Eclipse
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 3.7
- CFBundleSignature
- ????
- CFBundleVersion
- 3.7
- CFBundleDevelopmentRegion
- English
- CFBundleLocalizations
-
- ar
- cs
- da
- el
- en
- es
- de
- fi
- fr
- hu
- it
- iw
- ja
- ko
- nl
- no
- pl
- pt_BR
- pt
- ru
- sv
- tr
- zh_HK
- zh_TW
- zh
-
-
- Eclipse
-
-
- -keyring~/.eclipse_keyring
- -showlocation
-
-
-
-
-
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index 72fea18..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/launcher b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/launcher
deleted file mode 100644
index 6688012..0000000
Binary files a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/launcher and /dev/null differ
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist
deleted file mode 100644
index c55909d..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
- CFBundleExecutable
- eclipse
- CFBundleGetInfoString
- Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved.
- CFBundleIconFile
- Eclipse.icns
- CFBundleIdentifier
- org.eclipse.eclipse
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Eclipse
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 3.7
- CFBundleSignature
- ????
- CFBundleVersion
- 3.7
- CFBundleDevelopmentRegion
- English
- CFBundleLocalizations
-
- ar
- cs
- da
- el
- en
- es
- de
- fi
- fr
- hu
- it
- iw
- ja
- ko
- nl
- no
- pl
- pt_BR
- pt
- ru
- sv
- tr
- zh_HK
- zh_TW
- zh
-
-
- Eclipse
-
-
- -keyring~/.eclipse_keyring
- -showlocation
-
-
-
-
-
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index 72fea18..0000000
--- a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,9 +0,0 @@
--showsplash
-org.eclipse.platform
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/launcher b/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/launcher
deleted file mode 100644
index 29e7e5c..0000000
Binary files a/compling.gui.builder.pre/build/features/org.eclipse.equinox.executable_3.5.0.v20110530-7P7NFUFFLWUl76mart/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/launcher and /dev/null differ
diff --git a/first.prefs b/first.prefs
new file mode 100644
index 0000000..92bfc3f
--- /dev/null
+++ b/first.prefs
@@ -0,0 +1,38 @@
+
+GRAMMAR_EXTENSIONS = grm
+
+GRAMMAR_PATHS ::==
+ ./first
+;
+
+ONTOLOGY_PATHS ::==
+ ./first/ontology.ont
+;
+
+ROBUST = FALSE
+BEAM_SIZE = 20
+DEFAULT_OMISSION_PROB = .1
+DEBUG = FALSE
+//DEBUG = TRUE
+ANALYZE_IN_CONTEXT = FALSE
+// ANALYZE_IN_CONTEXT = TRUE
+NUM_ANALYSES_RETURNED = 3
+MULTI_ROOT_PENALTY = -3
+
+EXAMPLE_SENTENCES ::==
+
+the red block
+he moved
+he moved the blocks
+he saw the block
+the block was red
+was the block red
+he was at the block
+he moved to the block
+he entered the room
+he moved into the room
+he is in the room
+was he in the room
+he moved the block into the room
+the red blocks are in the room
+;
diff --git a/first/adj.grm b/first/adj.grm
new file mode 100644
index 0000000..c230f42
--- /dev/null
+++ b/first/adj.grm
@@ -0,0 +1,37 @@
+//
+// Adjectives
+// ==========
+//
+
+general construction Adjective // parallel to Verb, etc. \
+ subcase of RootType // for testing
+ //subcase of HasNominalFeatures **** for agreement in Spanish, etc.
+ meaning: Modification
+
+general construction LexicalAdjective
+ subcase of Adjective, Word
+
+general construction PropertyAdjective // parallel to Verb, etc. \
+ subcase of LexicalAdjective
+ //subcase of HasNominalFeatures **** for agreement in Spanish, etc.
+ meaning: PropertyModifier
+
+general construction Color //subcase of non-scale Adj
+ subcase of PropertyAdjective
+ meaning: PropertyModifier
+ constraints
+ self.m.property <-- @color
+ self.m.domain <-- @physicalEntity
+
+construction Red
+ subcase of Color
+ form
+ constraints
+ self.f.orth <-- "red"
+ meaning: PropertyModifier
+ constraints
+ self.m.value <-- @red
+
+
+
+
\ No newline at end of file
diff --git a/first/agreement_features-constructions.grm b/first/agreement_features-constructions.grm
new file mode 100644
index 0000000..4c9efc6
--- /dev/null
+++ b/first/agreement_features-constructions.grm
@@ -0,0 +1,57 @@
+// This file has the full treatment of AgreementFeatures
+
+
+general construction HasAgreementFeatures
+ constructional: AgreementFeatures
+
+
+general construction HasVerbFeatures
+ subcase of HasAgreementFeatures
+ constructional: VerbFeatures
+
+
+general construction HasNominalFeatures
+ subcase of HasAgreementFeatures
+ constructional: NominalFeatures
+
+
+general construction Singular
+ subcase of HasAgreementFeatures
+ constructional
+ constraints
+ self.features.number <-- "singular"
+
+
+general construction Plural
+ subcase of HasAgreementFeatures
+ constructional
+ constraints
+ self.features.number <-- "plural"
+
+
+general construction FirstPerson
+ subcase of HasAgreementFeatures
+ constructional
+ constraints
+ self.features.person <-- "1"
+
+
+general construction SecondPerson
+ subcase of HasAgreementFeatures
+ constructional
+ constraints
+ self.features.person <-- "2"
+
+
+general construction ThirdPerson
+ subcase of HasAgreementFeatures
+ constructional
+ constraints
+ self.features.person <-- "3"
+
+/*
+NOTE: The verbform.grm file has several subcases of the cxns above, including:
+ -- general construction ThirdPersonSingular (subcase of ThirdPerson, Singular)
+ -- verb conjugation cxns (subcases of the HasVerbFeatures construction)
+
+/*
diff --git a/first/agreement_features-schemas.grm b/first/agreement_features-schemas.grm
new file mode 100644
index 0000000..7ae1910
--- /dev/null
+++ b/first/agreement_features-schemas.grm
@@ -0,0 +1,66 @@
+
+// Constructional Agreement Features Make separate file 1/6/13
+
+schema AgreementFeatureSet
+ roles
+ number
+ person
+
+schema AgreementFeatures
+ roles
+ features: AgreementFeatureSet
+
+
+schema NominalFeatureSet
+ subcase of AgreementFeatureSet
+ roles
+ case
+ reflexive // 1/19/13 semantic feature??
+
+schema NominalFeatures
+ subcase of AgreementFeatures
+ roles
+ features: NominalFeatureSet
+
+/* not needed 1/28/13
+schema AuxFeatureSet
+ subcase of VerbFeatureSet
+ roles
+ expectedVerbForm // ?now not needed
+*/
+schema AuxFeatures // 1/28/13
+ subcase of VerbFeatures
+
+schema VerbFeatures
+ subcase of AgreementFeatures
+ roles
+ verbform: FiniteOrNonFinite
+ voice: PassiveOrNotPassive
+ verbkind: VerbKind
+ expectedVerbForm: FiniteOrNonFinite //1/6/13
+ argform: ArgForm //10/3/13
+
+/* -- old version of VerbFeatures schema is below, in which verbform is part of AgreementFeatureSet rather than a role in VerbFeatures
+schema VerbFeatures
+ subcase of AgreementFeatures
+ roles
+ features: VerbFeatureSet
+ voice: PassiveOrNotPassive
+ verbkind: VerbKind
+ expectedVerbForm: FiniteOrNonFinite //1/6/13
+ argform: ArgForm //10/3/13
+
+schema VerbFeatureSet // could add kind ~ control, etc.
+ subcase of AgreementFeatureSet
+ roles
+ verbform: FiniteOrNonFinite
+*/
+
+// schemas for 'voice' role of VerbFeatures schema
+schema PassiveOrNotPassive
+
+schema NotPassive
+ subcase of PassiveOrNotPassive
+
+schema Passive
+ subcase of PassiveOrNotPassive
\ No newline at end of file
diff --git a/first/argform+verbkind.grm b/first/argform+verbkind.grm
new file mode 100644
index 0000000..b92ca15
--- /dev/null
+++ b/first/argform+verbkind.grm
@@ -0,0 +1,96 @@
+//
+// argform.grm
+//
+// schemas for ArgForm and VerbKind roles of VerbFeatures schema
+// Also general CxN to set these features, used in lexicalverb
+/*
+schema VerbFeatures // in agreement-features-schemas.grm USES these schemas
+ subcase of AgreementFeatures
+ roles
+ features: VerbFeatureSet
+ voice: PassiveOrNotPassive
+ verbkind: VerbKind
+ expectedVerbForm: FiniteOrNonFinite //1/6/13
+ argform: ArgForm //10/3/13
+*/
+schema ArgForm // Transitive, Copula, Catenative, Light 10/2/13
+
+schema Transitive
+ subcase of ArgForm
+
+schema DiTransitive
+ subcase of Transitive // 2/11/13
+
+schema PropertyChanger
+ subcase of Transitive // 4/1/13
+
+schema NotTransitive
+ subcase of ArgForm
+
+schema Control
+ subcase of ArgForm // NotTransitive ??
+
+schema Light
+ subcase of NotTransitive
+
+
+// Copulas - more than needed for First
+
+schema Copula
+ subcase of NotTransitive
+
+schema Copula_Loc
+ subcase of Copula
+
+schema Copula_Adj
+ subcase of Copula
+
+schema Copula_Nom
+ subcase of Copula
+
+schema Copula_All
+ subcase of Copula_Loc, Copula_Nom, Copula_Adj
+
+
+schema Copula_Either_Nom_Adj
+ subcase of Copula_Nom, Copula_Adj
+
+schema Copula_Either_Loc_Adj
+ subcase of Copula_Loc, Copula_Adj
+
+// VerbKind, many more than needed for First
+schema VerbKind
+
+schema Mental // 10/3/13
+ subcase of VerbKind
+
+schema Internal // 10/4/13 thought, etc.
+ subcase of Mental
+
+schema Introspective // 10/4/13 about self
+ subcase of Internal
+
+schema Projective // 10/4/13 about external world
+ subcase of Internal
+
+schema Communicational // 10/3/13
+ subcase of Mental
+
+schema Perceptual // 10/3/13
+ subcase of Mental
+
+schema Emotional // 10/3/13
+ subcase of VerbKind
+
+schema PossessionKind // 10/3/13
+ subcase of VerbKind
+
+schema Catenative // temporarily keep this VerbKind
+ subcase of VerbKind
+
+schema Stage // start, stop, resume
+ subcase of Catenative
+
+schema ForceDynamic //help, prevent ?? argform?
+ subcase of Catenative
+
diff --git a/first/argstruct-intransitive.grm b/first/argstruct-intransitive.grm
new file mode 100644
index 0000000..5113dbf
--- /dev/null
+++ b/first/argstruct-intransitive.grm
@@ -0,0 +1,23 @@
+
+
+general construction IntransitiveArgumentStructure
+ subcase of ArgumentStructure
+ constructional
+ constraints
+ v.argform <-- NotTransitive // constraint excludes Transitve verbs, e.g. see
+ meaning: Process
+ //evokes A123 as s // inherited from ArgumentStructure
+ constraints
+ s.a1 <--> ed.profiledParticipant //
+ s.a1 <--> self.m.protagonist // 5/8/13
+ s.a1.ontological-category <--> ed.profiledParticipant.ontological-category
+ v.m.p-features.voice <-- @notPassive
+
+construction BareIntransitive // e.g. He moved
+ subcase of IntransitiveArgumentStructure
+ meaning
+ constraints
+ self.m <--> v.m
+
+//the binding "self.m <--> v.m" also serves to link self.m protagonist to the verb protagonist
+
diff --git a/first/argstruct-motion.grm b/first/argstruct-motion.grm
new file mode 100644
index 0000000..5f8b850
--- /dev/null
+++ b/first/argstruct-motion.grm
@@ -0,0 +1,23 @@
+
+
+ construction ActiveMotionPath // he moved to the block
+ subcase of IntransitiveArgumentStructure
+ constructional
+ constituents
+ //optional dis: SpatialQuantityNP // for more general version
+ //optional dir: Directional
+ pp: Path-PP
+ constraints
+ v.voice <-- NotPassive
+ form
+ constraints
+ // v.f before dis.f
+ v.f before pp.f
+ // dir.f before pp.f
+ meaning: MotionPath
+ constraints
+ self.m <--> v.m
+ //self.m.spg.distance <--> dis.m
+ //self.m.heading <--> dir.m
+ self.m.spg <--> pp.m
+
diff --git a/first/argstruct-transitive.grm b/first/argstruct-transitive.grm
new file mode 100644
index 0000000..6e6136d
--- /dev/null
+++ b/first/argstruct-transitive.grm
@@ -0,0 +1,417 @@
+
+// *** 5/22/13 NOTE: need to remove 'test' from names at some point ***
+
+
+/*
+5/24/13 copy of cxn in vp.grm:
+
+general construction ArgumentStructure
+ subcase of VP
+ constructional
+ constituents
+ v : Verb
+ constraints
+ self.features <--> v.features
+ self.voice <--> v.voice
+ meaning
+ constraints
+ v.m <--> ed.profiledProcess
+ self.m.p-features <--> v.m.p-features // 1/3/13 ????
+ // self.ed.eventProcess.p-features <--> self.ed.profiledProcess.p-features 1/15/13
+*/
+
+
+//GENERAL TRANSITIVE CONSTRUCTIONS
+
+general construction ActiveTransitive // 5/14/13
+ subcase of ArgumentStructure
+ constructional
+ constituents
+ np: NP [1.0, .9] // probablilties, check this !!
+ constraints
+ v.argform <-- Transitive
+ v.voice <-- NotPassive // 2/1/13
+ form
+ constraints
+ v.f before np.f
+ meaning: Process // 5/14/13
+ evokes A123 as s //5/14/13 *****************
+ constraints
+ s.a1 <--> ed.profiledParticipant //2/20/13
+ s.a2 <--> np.m
+ v.m.p-features.voice <-- @active // 2/1/13
+
+general construction CoreActiveTransitive // 8/21/13
+ subcase of ActiveTransitive
+ meaning
+ constraints
+ self.m <--> v.m
+
+
+construction ActiveTransitivePerception // 8/21/13 he saw the block
+ subcase of CoreActiveTransitive
+ meaning: Perception
+ constraints
+ v.verbkind <-- Perceptual // 10/3/13 possibly redundant with meaning
+ s.a1 <--> self.m.thinker
+ s.a2 <--> self.m.content
+
+construction ActiveTransitiveChangeLocation // 10/15/13 he entered the room
+ subcase of CoreActiveTransitive
+ meaning: ChangeLocation
+ constraints
+ //v.verbkind <--
+ s.a1 <--> self.m.mover
+ s.a2 <--> self.m.landmark //source or goal
+
+construction ActiveTransitiveCausedMotion // he moved the block
+ subcase of ActiveTransitive
+ meaning: CauseEffectProcess
+ evokes MotionPath as mp
+ constraints
+ v.m <--> mp
+ mp <--> self.m.affectedProcess
+ s.a1 <--> self.m.causer
+ s.a2 <--> self.m.affected
+
+
+construction ActiveTransCausedLocationChange // he moved the block into the room
+ subcase of ActiveTransitiveCausedMotion
+ constructional
+ constituents//one of these needs to be present
+ //optional dis: SpatialQuantityNP
+ //optional dir: Directional
+ pp: Path-PP // test 5/20/13 made this required rather than optional
+ constraints
+ // v.argform <--> ?????????????
+ form
+ constraints
+ v.f before pp.f
+ //dis.f before pp.f
+ //dir.f before pp.f
+ meaning //inherited? Along with evoked MotionPath??
+ constraints
+ //self.m.affectedProcess <--> mp // inherited?
+ // self.m.affected <--> mp.mover // inherited?
+ //self.m.affected <--> mp.spg.trajector
+ mp.spg <--> pp.m
+ //mp.spg.distance <--> dis.m
+
+
+
+/*
+construction ActiveTransitivePossession // 10/4/13
+ subcase of CoreActiveTransitive
+ constructional
+ constituents
+ meaning: PossProcess
+ constraints
+ v.verbkind <-- PossessionKind
+ s.a1 <--> self.m.protagonist
+ s.a2 <--> self.m.possessed
+
+*/
+//TESTING of new analysis of 'enter' 11/5/13
+
+schema ChangeLocation // protagonist changes location wrt a LM
+ subcase of Process
+ evokes SPG as spg
+ roles
+ mover
+ landmark: RD
+ // source
+ //path
+ //goal
+ constraints
+ mover <--> spg.trajector
+ mover <--> protagonist
+ landmark <--> spg.landmark
+ // source <--> spg.source
+ // path <--> spg.path
+ // goal <--> spg.goal
+ protagonist.ontological-category <-- @physicalEntity // hack 10/23/12
+
+general construction Enter // 10/15/13
+ subcase of LexicalVerb
+ meaning: ChangeLocation
+ //evokes BoundedObject as bo
+ constraints
+ //self.m.landmark <--> bo.boundedObject
+ //self.m.goal <--> bo.interior
+ self.m.landmark.ontological-category <-- @container
+ self.m.actionary <-- @enter
+
+construction EnterPast
+ subcase of Enter, PastTense
+ form
+ constraints
+ self.f.orth <-- "entered"
+
+
+
+
+
+
+/*
+general construction PassiveTransitive // 5/14/13
+ subcase of ArgumentStructure
+ constructional
+ constituents
+ v:Verb // inherited
+ optional byPhrase: ByAgentPhrase
+ constraints
+ v.argform <-- Transitive
+ v.voice <-- Passive // 2/1/13
+ form
+ constraints
+ v.f before byPhrase.f
+ meaning: Process
+ evokes A123 as s
+ constraints
+ s.a1 <--> byPhrase.m.landmark
+ s.a2 <--> ed.profiledParticipant
+ v.m.p-features.voice <-- @passive
+
+
+
+/*TRANSITIVE cxns
+ Several different kinds of situations can be described using 'transitive' a-s cxns:
+ -- Trans_Causation -- Different subcases:
+ + a1's actions at least potentially affect the state/location of a2 (e.g. cut, kick)
+ + a2 process (effect) has an external cause (a1) (e.g. move, break)
+ + a2 is effect, verb indicates type of 'cause' (e.g. cause, prevent)
+ -- Trans_Perception: a1 percieves a2 (e.g. see, hear)
+ -- Trans_Possession: a1 posesses a2 (e.g. have, own, possess)
+ -- Trans_Imitiation??: a1's action/state is dependent on a1's action/state (e.g. a1 follows/copies a2)
+ -- Trans_MentalAttitude?? : a1 has mental attitude wrt a2 (e.g. likes, wants, fears)
+ -- Trans_Motion: a1 moves in relation to a2 (e.g. enter, leave)
+ -- Trans_Communication (e.g. tell a lie, say something)
+
+Note that only some of these transitive cxns are in the current grammar.
+
+In the analysis below, different general transitive cxns are defined for these different types
+ of situations/relations between a1 and a2. For each , the general transitive cxn's meaning is identified with a schema
+ that represents the situation type. Meaning constraints indicate how the situation roles are expressed.
+
+ The general Trans_Causation cxn, below, describes a prototypical 'causal' scenario.
+ This meaning is reprsented using the Causation_test schema, shown here as a COMMENTED OUT DUPLICATE:
+
+ schema Causation_test // general causation schema DUPLICATE
+ subcase of ComplexProcess
+ roles
+ causer
+ causalProcess
+ affected
+ affectedProcess
+ outcome // type??
+ //cause: eventRD
+ //effect: eventRD
+ constraints
+ causalProcess <--> process1
+ affectedProcess <--> process2
+ causer <--> protagonist
+ affected <--> protagonist2
+ complexKind <-- @causal// causal relation between proc 1 and 2
+
+ (5/24/13): NOTE that the Causation_test schema does not currently have any constraints
+ on the ontological type of its participants. e.g. does not constrain them to be
+ @physicalEntity. Such constraints could be added to the schema, and/or could be added
+ to specific constructions in which they are relevant.
+
+
+
+
+general construction Trans_Causation //
+ subcase of ArgumentStructure
+ meaning: Causation_test // Process schema
+ evokes A123 as s
+ constraints
+ s.a1 <--> self.m.causer
+ s.a2 <--> self.m.affected
+
+
+
+//SUBCASES of Trans_Causation, for different verb types (grouped by how they elaborate Causation scene)
+//Active and Passive cxns are defined as further subcases
+
+
+//In the central subcase of Trans_Causation, the verb constituent incorporates Causation in its meaning, e.g. cut
+
+general construction Trans_Causation_central
+ subcase of Trans_Causation
+ meaning
+ constraints
+ self.m <--> v.m
+
+construction ActiveTrans_Causation_central //he cut the box
+ subcase of ActiveTransitive, Trans_Causation_central
+
+/*
+construction PassiveTrans_Causation_central // the box was cut (by him)
+ subcase of PassiveTransitive, Trans_Causation_central
+
+
+// In the 'causalAction' subcase, the verb constituent has meaning related to force-application, e.g. push, slap
+general construction Trans_Causation_causalAction
+ subcase of Trans_Causation
+ meaning
+ evokes ForceApplication as fa
+ constraints
+ v.m <--> fa
+ self.m.process1 <--> fa
+ fa.actedUpon <--> self.m.affected
+
+
+construction ActiveTrans_Causation_causalAction // he pushed/slapped the box
+ subcase of ActiveTransitive, Trans_Causation_causalAction
+/*
+construction PassiveTrans_Causation_causalAction // the box was pushed/slapped (by him)
+ subcase of PassiveTransitive, Trans_Causation_causalAction
+
+
+//// In the 'effectProcess' subcase, the verb constituent elaborates affectedProcess, e.g. move
+// ** NOTE: need to add verbKind constraints that block use of this cxn with 'transitive' verbs **
+
+general construction Trans_Causation_effectProcess_test2 // e.g. move
+ subcase of Trans_Causation
+ meaning
+ constraints
+ v.m <--> self.m.affectedProcess
+
+construction ActiveTrans_Causation_effectProcess_test2 //he moved the box
+ subcase of ActiveTransitive, Trans_Causation_effectProcess_test2
+
+ /*
+construction PassiveTrans_Causation_effectProcess_test2 // the box was moved (by him)
+ subcase of PassiveTransitive, Trans_Causation_effectProcess_test2
+*/
+
+
+
+
+// Event Causation
+/*
+general construction Trans_Causation_eventCause //
+ subcase of ArgumentStructure
+ meaning: Causation_test // Process schema
+ evokes A123 as s
+ constraints
+ s.a1 <--> self.m.causalEvent
+ s.a2 <--> self.m.affected
+
+
+general construction Trans_Causation_eventCause_effectProcess // e.g. move
+ subcase of Trans_Causation_eventCause
+ meaning
+ constraints
+ v.m <--> self.m.affectedProcess
+
+//his pushing moved the box
+construction ActiveTrans_Causation_eventCause_effectProcess
+ subcase of ActiveTransitive, Trans_Causation_eventCause_effectProcess
+
+/*
+// the box was moved by his pushing
+construction PassiveTrans_Causation_eventCause_effectProcess
+ subcase of PassiveTransitive, Trans_Causation_eventCause_effectProcess
+
+/*
+construction ActiveAgentEventTransitive // 2/5/13 he caused the crisis
+ subcase of ActiveTransitive
+ meaning: AgentEventCausation
+ constraints
+ np.m <--> self.m.effect
+ self.m.causer <--> ed.profiledParticipant
+
+construction EventEventTransitive // 12/28/12
+ subcase of ActiveTransitive
+ meaning: EventEventCausation
+ constraints
+ np.m <--> self.m.effect
+ self.m.causer <--> ed.profiledParticipant
+
+construction PassiveAgentEventTransitive // 2/5/13 the crisis was caused by J.
+ subcase of PassiveTransitive
+constructional
+ constituents
+ byPhrase: ByAgentPhrase
+ v: Verb
+ form
+ constraints
+ v.f before byPhrase.f
+ meaning: AgentEventCausation
+ constraints
+ byPhrase.m.landmark <--> self.m.causer
+ self.m.effect <--> ed.profiledParticipant
+
+construction PassiveEventEventTransitive // 2/5/13 the crisis was caused by his moving
+ subcase of PassiveTransitive
+constructional
+ constituents
+ byPhrase: ByAgentPhrase
+ v: Verb
+ form
+ constraints
+ v.f before byPhrase.f
+ meaning: EventEventCausation
+ constraints
+ byPhrase.m.landmark <--> self.m.causer
+ self.m.effect <--> ed.profiledParticipant
+*/
+
+// Transitive Perception
+/*
+general construction Trans_Perception_central // 10/7/13
+ subcase of ArgumentStructure
+ meaning: Perception
+ constraints
+ v.verbkind <-- Perceptual // 10/3/13 possibly redundant with meaning
+ s.a1 <--> self.m.thinker // perceiver
+ s.a2 <--> self.m.content // percept
+ self.m <--> v.m
+
+
+construction ActiveTrans_Perception_central //he saw the box
+ subcase of ActiveTransitive, Trans_Perception_central
+
+
+construction PassiveTrans_Perception_central // the box was seen (by him)
+ subcase of PassiveTransitive, Trans_Perception_central
+
+
+general construction TransCat_PresentPart_Perception // 10/7/13
+ subcase of Trans_Perception_central
+ constructional
+ constituents
+ vp: VP
+ constraints
+ vp.features.verbform <-- PresentParticiple
+ meaning: Perception
+ constraints
+ vp.m <--> self.m.perceivedProcess
+
+construction ActiveTrans_TransCat_PresentPart_Perception //he saw the block moving into the box
+ subcase of ActiveTransitive, TransCat_PresentPart_Perception
+
+
+construction PassiveTrans_TransCat_PresentPart_Perception // he was seen moving into the box
+ subcase of PassiveTransitive, TransCat_PresentPart_Perception
+
+
+general construction TransCat_Base_Perception // 10/8/13
+ subcase of Trans_Perception_central
+ constructional
+ constituents
+ vp: VP
+ constraints
+ vp.features.verbform <-- Base
+ meaning: Perception
+ constraints
+ vp.m <--> self.m.perceivedProcess
+
+construction ActiveTrans_TransCat_Base_Perception //he saw the block move into the box
+ subcase of ActiveTransitive, TransCat_Base_Perception
+
+//Note: this construction does not occur with Passive: *the block was seen move into the box.
+
+*/
\ No newline at end of file
diff --git a/first/first.prefs b/first/first.prefs
new file mode 100644
index 0000000..91bf6a9
--- /dev/null
+++ b/first/first.prefs
@@ -0,0 +1,37 @@
+
+GRAMMAR_EXTENSIONS = grm
+
+GRAMMAR_PATHS ::==
+ ./first
+;
+
+ONTOLOGY_PATHS ::==
+ ./first/ontology.ont
+;
+
+ROBUST = FALSE
+BEAM_SIZE = 20
+DEFAULT_OMISSION_PROB = .1
+DEBUG = FALSE
+//DEBUG = TRUE
+ANALYZE_IN_CONTEXT = FALSE
+// ANALYZE_IN_CONTEXT = TRUE
+NUM_ANALYSES_RETURNED = 3
+MULTI_ROOT_PENALTY = -3
+
+EXAMPLE_SENTENCES ::==
+
+the red block
+he moved
+he moved the block
+he saw the block
+the block was red
+was the block red
+he was at the block
+he moved to the block
+he moved into the room
+he was in the room
+was he in the room
+he moved the block into the room
+
+;
diff --git a/first/nominal-nouns.grm b/first/nominal-nouns.grm
new file mode 100644
index 0000000..787cd56
--- /dev/null
+++ b/first/nominal-nouns.grm
@@ -0,0 +1,107 @@
+//
+// Singular Count Nouns
+//
+
+general construction SingularNoun
+ subcase of Noun, Singular
+ constructional
+ constraints
+ self.features.number <-- "singular"
+ meaning
+ constraints
+ self.m.number <-- @singular
+ self.m.bounding <-- @determinate
+
+/*
+construction Block
+ subcase of SingularNoun
+ form
+ constraints
+ self.f.orth <-- "block"
+ meaning
+ constraints
+ self.m.ontological-category <-- @block
+ self.m.scale <-- @size
+ */
+
+ construction BlockLemmaNoun
+ subcase of Noun
+ constructional
+ constraints
+ self.features.number <-- "undetermined"
+ form
+ constraints
+ self.f.lemma <-- "block"
+ self.f.orth <-- "orth" // testing so it doesn't get picked up as lexicalCxn
+ meaning
+ constraints
+ self.m.ontological-category <-- @block
+ self.m.scale <-- @size
+ self.m.number <-- "undetermined"
+
+
+
+construction Room
+ subcase of SingularNoun
+ form
+ constraints
+ self.f.orth <-- "room"
+ meaning
+ constraints
+ self.m.ontological-category <-- @room
+ self.m.scale <-- @size
+
+construction RoomLemma
+ subcase of Noun
+ form
+ constraints
+ self.f.orth <-- "room"
+ self.f.lemma <-- "room"
+ meaning
+ constraints
+ self.m.ontological-category <-- @room
+ self.m.scale <-- @size
+
+//
+// Plural Count Nouns
+//
+general construction PluralNoun
+ subcase of Noun, Plural
+ constructional
+ constraints
+ self.features.number <-- "plural"
+ meaning
+ constraints
+ //self.m.ontological-category <-- @multiplex // might restrict some
+ self.m.number <-- @plural
+ self.m.bounding <-- @indeterminate
+
+/*
+construction Blocks
+ subcase of PluralNoun
+ form
+ constraints
+ self.f.orth <-- "blocks"
+ meaning
+ constraints
+ self.m.ontological-category <-- @block
+*/
+
+// Proper Nouns
+general construction ProperNounNP
+ subcase of NP, Word
+
+ construction JOHN
+ subcase of ProperNounNP, Singular, ThirdPerson
+ constructional
+ form
+ constraints
+ self.f.orth <-- "John"
+ meaning
+ constraints
+ self.m.referent <-- @john-instance
+ self.m.ontological-category <-- @person
+ self.m.number <-- @singular
+ self.m.gender <-- @male
+
+
diff --git a/first/nominal-np.grm b/first/nominal-np.grm
new file mode 100644
index 0000000..214342a
--- /dev/null
+++ b/first/nominal-np.grm
@@ -0,0 +1,147 @@
+/******************************************************************************
+This file contains constructions for kernel noun phrases.
+
+The assumption is that each NP has an RD structure as its meaning.
+This implies that proper nouns, pronouns, and mass/plural nouns make
+RD their meaning. For sake of uniformity, we also assume that common
+count nouns (which are not NPs) also denote an RD.
+
+
+******************************************************************************/
+
+
+/***
+ ***
+ *** The root constructions of the NP, Noun and Nominal hierarchy
+ ***
+ ***/
+
+general construction NP
+ subcase of RootType, HasNominalFeatures
+ meaning: RD
+
+
+
+// This is the root of nouns and noun noun compounds
+
+general construction Nominal
+ subcase of HasNominalFeatures
+ meaning: RD
+
+/* not needed ? 12/24/12
+general construction ProcessNominal
+ subcase of Nominal
+ meaning: ProcessRD
+*/
+general construction Noun
+ subcase of Word, Nominal
+
+/*
+ *
+ * Combining Adjectives and Nouns
+ *
+ */
+
+// Note that Kernel is NOT an NP
+// it is general because we need a supertype to cover the bracketed phrases in
+// 'the [big table]' and 'the [big table and leather chair]'
+
+general construction Kernel // both RD and Nominal
+ subcase of HasNominalFeatures //, RootType // for testing only
+ meaning: RD
+
+construction KernelAdj // literal case
+ subcase of Kernel
+ constructional
+ constituents
+ ap: PropertyAdjective // not optional PropertyAdj 4/26/13
+ n: Nominal
+ constraints
+ self.features <--> n.features
+ form
+ constraints
+ ap.f meets n.f
+ meaning: RD
+ constraints
+ self.m <--> n.m
+ self.m <--> ap.m.modifiedThing
+ //ap.m.property <--> n.m.scale //4/26/13 ***** n.m.scale is implicit, e.g inch
+ //ap.m.domain <--> n.m.ontological-category //constraint
+
+ construction KernelParticiple // 10/16/13
+ subcase of Kernel
+ constructional
+ constituents
+ ap: PresentParticiple
+ n: Nominal
+ constraints
+ self.features <--> n.features
+ form
+ constraints
+ ap.f meets n.f
+ meaning: RD
+ evokes ParticipleModification as pm
+ constraints
+ self.m <--> n.m
+ self.m <--> pm.modifiedThing
+ ap.m <--> pm.modifier
+ //ap.m.property <--> n.m.scale //4/26/13 ***** n.m.scale is implicit, e.g inch
+ //ap.m.domain <--> n.m.ontological-category //constraint NOT here
+
+construction KernelNoAdj // no adjective
+ subcase of Kernel
+ constructional
+ constituents
+ n: Nominal
+ constraints
+ self.features <--> n.features
+ form
+ meaning: RD
+ constraints
+ self.m <--> n.m
+
+
+
+// SpecifierPlusKernel,
+
+
+general construction SpecifierPlusKernel // also subs Specifier3, QuantityNP(2)
+ subcase of NP
+
+general construction Specifier2PlusKernel //also see Determiner, Wh, Possesive PN
+ subcase of SpecifierPlusKernel
+ constructional
+ constituents
+ s: SpecifierPhrase //12/30/12
+ k: Kernel
+ constraints
+ self.features <--> k.features
+ self.features <--> s.features
+ form
+ constraints
+ s.f before k.f
+ meaning
+ constraints
+ self.m <--> k.m
+ self.m <--> s.m
+
+
+construction DeterminerPlusKernel
+ subcase of Specifier2PlusKernel
+ constructional
+ constituents
+ s: Determiner
+
+
+// we now also have "his" as Possessive-NP,
+
+construction PossessivePronounPlusKernel //
+ subcase of Specifier2PlusKernel
+ constructional
+ constituents
+ s: PossessivePronoun // no need to check case
+ k: Kernel
+ meaning
+ constraints
+ s.m <-> k.m
+
diff --git a/first/nominal-pronoun.grm b/first/nominal-pronoun.grm
new file mode 100644
index 0000000..d508e6e
--- /dev/null
+++ b/first/nominal-pronoun.grm
@@ -0,0 +1,64 @@
+/***
+ ***
+ *** Pronouns
+ ***
+ ***/
+
+general construction Pronoun
+ subcase of NP, Word
+ meaning
+ constraints
+ self.m.givenness <-- @inFocus
+ self.m.bounding <-- @determinate
+
+general construction PossessivePronoun // recheck this 12/30/12
+ subcase of Word, Specifier
+ meaning //RD
+ evokes Possession as possession
+ evokes RD as possessor
+ constraints
+ self.m <--> possession.possessed
+ possessor <--> possession.possessor
+
+
+construction His
+ subcase of PossessivePronoun
+ form
+ constraints
+ self.f.orth <-- "his"
+ meaning
+ constraints
+ possessor.ontological-category <-- @person
+ possessor.gender <-- @male
+
+general construction Possessive-NP
+ subcase of NP
+
+
+construction He
+ subcase of Pronoun, Singular, ThirdPerson
+ constructional
+ constraints
+ self.features.case <-- "nom"
+ form
+ constraints
+ self.f.orth <-- "he"
+ meaning
+ constraints
+ self.m.ontological-category <-- @person
+ self.m.number <-- @singular
+ self.m.gender <-- @male
+
+construction I-Pronoun
+ subcase of Pronoun, Singular, FirstPerson
+ constructional
+ constraints
+ self.features.case <-- "nom"
+ form
+ constraints
+ self.f.orth <-- "I"
+ meaning
+ constraints
+ self.m.ontological-category <-- @person
+ self.m.number <-- @singular
+ self.m.gender <-- @genderValues
\ No newline at end of file
diff --git a/first/nominal-specifiers.grm b/first/nominal-specifiers.grm
new file mode 100644
index 0000000..3d792c0
--- /dev/null
+++ b/first/nominal-specifiers.grm
@@ -0,0 +1,36 @@
+/***
+ ***
+ *** Specifiers (Determiners, not RD)
+ ***
+ ***/
+
+general construction SpecifierPhrase
+ subcase of HasNominalFeatures
+ meaning: RD
+
+general construction Specifier
+ subcase of Word, SpecifierPhrase
+ meaning: RD
+
+general construction Determiner
+ subcase of Specifier
+
+construction The
+ subcase of Determiner
+ form
+ constraints
+ self.f.orth <-- "the"
+ meaning
+ constraints
+ self.m.givenness <-- @uniquelyIdentifiable
+
+construction A
+ subcase of Determiner, Singular
+ form
+ constraints
+ self.f.orth <-- "a"
+ meaning
+ constraints
+ self.m.givenness <-- @typeIdentifiable
+ self.m.number <-- @singular
+ self.m.bounding <-- @determinate
diff --git a/first/ontology.ont b/first/ontology.ont
new file mode 100644
index 0000000..1a1d0a1
--- /dev/null
+++ b/first/ontology.ont
@@ -0,0 +1,718 @@
+//
+// ontology.ont
+//
+
+DEFS:
+
+(type shared) // all elements of the shared ontology
+
+(type item) // very top of our lattice, not all shared
+
+// (type countable sub item) no longer needed
+
+(type entity sub item) // possibly shared items; maybe all entities are shared ****
+
+(type hedgeVal sub shared) // 4/8/13
+
+//(type point sub region) // 11//4/13, removed 3/2/14
+
+(type location-concrete sub location ) //3/2/14
+(type location-metaphorical sub location )
+(type physicalEntity sub entity location-concrete )
+
+//(type physicalEntity sub entity location ) // no interior 11//4/13; 3/2/14
+
+(type abstract sub entity)
+
+(type agent sub physicalEntity ) // will include metaphorical agents? 2/5/13
+
+(type effect sub entity) // for EventRD, etc. 12/24/12
+
+(type eventTop sub effect) // 12/28/12 reject event as agent
+
+(type event-kind sub enumeration) // conditional, serial
+
+(type crisis sub eventTop) // 11/26/12
+
+(type money sub entity scale units) // ?? abstract or physical or both
+
+(type prices sub money)
+
+(type moveable sub physicalEntity) // used in animate
+
+
+(type socialProblem sub abstract) // severity scale
+
+(type problem sub socialProblem) // difficulty scale
+
+(type idea sub abstract) // importance, goodness scales
+
+(type abstractState sub abstract)
+
+(type depression sub abstractState) // emotional scale
+
+(type keyword sub shared) // for use in N-tuples; meta-language, not in content ontology
+
+(type enumeration sub item) // these are not sub entity, some in gramamr not shared
+
+(type sharedEnumeration sub enumeration shared)
+
+(type anaphor sub item) // used in "his is red", etc.
+
+(type grouper sub shaped physicalEntity ) // ~boundary, e.g. bunch
+
+(type bunch sub grouper) // hack, needed for Quantity NP***********fix
+
+
+
+// m4 test ontology additions 2/22/14
+
+(type poverty sub socialProblem abstractState)
+
+(type slide sub motion)
+
+
+
+
+// metaphors
+
+(type metaphors sub sharedEnumeration) // names of known metaphors
+
+(type institutionAsPerson sub metaphors )
+
+(type stateAsLocation sub metaphors ) // Region ****
+
+(type SocialProblemsAsAnimateAgents sub metaphors )
+
+(type SocialProblemsAsDiseases sub metaphors )
+
+(type IdeasAsDiseases sub metaphors )
+
+(type MoneyASphysicalEntity sub metaphors )
+
+(type IdeasAsFood sub metaphors )
+
+(type DateAsMoveable sub metaphors )
+
+(type NaturalForcesAsAgents sub metaphors ) // 12/20/12
+
+//(type EntitiesAsAnimateBeings sub metaphors )
+
+//(type sizeAsDifficulty sub metaphors )
+
+// socialEntity
+
+(type socialEntity sub shaped entity ) // count,
+
+(type institution sub socialEntity )
+
+(type group sub socialEntity )
+
+(type city-inst sub institution ) // 2 conceptualizations
+
+(type city-artifact sub artifact )
+
+(type disease sub physicalEntity ) // severity scale
+
+(type infection sub disease )
+
+(type food sub artifact) // other parents and scales
+
+(type initiative sub idea )
+
+(type crime sub socialProblem)
+
+(type corruption sub crime)
+
+(type naturalForce sub physicalEntity ) // 12/29/12
+
+(type wind sub naturalForce )
+
+(type rain sub naturalForce )
+
+(type storm sub naturalForce eventTop )
+
+// modifier types
+
+//(type modifier-type sub item) // not sub entity **************
+
+//(type temporal sub modifier-type)
+
+// super-type and values for role values
+
+(type grammaticalValues sub enumeration) // not sub entity
+
+(type givennessValues sub grammaticalValues)
+
+(type continuityValues sub grammaticalValues)
+
+(type boundingValues sub grammaticalValues)
+
+(type genderValues sub grammaticalValues)
+
+(type male sub genderValues)
+
+(type female sub genderValues)
+
+(type neuter sub genderValues)
+
+(type determinate sub boundingValues)
+
+(type indeterminate sub boundingValues)
+
+(type continuous sub continuityValues )
+
+(type discrete sub continuityValues )
+
+(type givennessValues sub grammaticalValues)
+
+(type RDnumberValues sub grammaticalValues)
+
+(type noNumber sub RDnumberValues) // for mass nouns
+
+(type singular sub RDnumberValues)
+
+(type plural sub RDnumberValues)
+
+(type dual sub plural)
+
+(type typeIdentifiable sub givennessValues)
+
+(type uniquelyIdentifiable sub typeIdentifiable)
+
+(type familiar sub uniquelyIdentifiable)
+
+(type distinct sub typeIdentifiable) // another box, etc. ????????????????
+
+(type activated sub familiar)
+
+(type inFocus sub activated)
+
+
+(type quantifierValues sub grammaticalValues) // for QuantitySchema.values
+
+(type some sub quantifierValues)
+
+(type modifierKinds sub grammaticalValues)
+
+(type comparative sub modifierKinds )
+
+(type superlative sub modifierKinds )
+
+(type unmarked sub modifierKinds) // for adjectives, +
+
+(type deictic sub enumeration) // ?? 11/20/12
+
+(type this sub deictic)
+
+// animate sentient
+
+(type animate sub shaped moveable agent physicalEntity) // can also be numbered, etc.
+
+(type inanimate sub shaped physicalEntity) // 10/23/12
+
+(type generic-person sub person) // needs work - generics in general
+
+(type sheep sub animate)
+
+(type beast sub animate) // for metaphor demo
+
+(type sentient sub physicalEntity agent) // intelligence scale? check against animate 2/6/13 *************
+
+(type person sub animate sentient)
+
+(type robot sub artifact sentient)
+
+ // inanimate stuff
+
+(type shaped sub entity) // contrast with mass
+
+(type artifact sub inanimate)
+
+(type block sub artifact physicalEntity )
+
+(type book sub artifact moveable) // also sub story, which is abstract *****
+
+(type story sub artifact) // 8/18/13 ****** change
+
+(type table sub artifact)
+
+// (type door sub artifact) for HowTo
+
+(type instrument sub physicalEntity)
+
+(type hammer sub instrument artifact moveable)
+
+(type vehicle sub instrument artifact moveable) // 6/2/13
+
+(type car sub vehicle)
+
+(type bodyPart sub shaped physicalEntity) // 11/16/12
+
+(type hand sub bodyPart instrument moveable)
+
+(type head sub bodyPart)
+
+(type arm sub bodyPart instrument moveable)
+
+
+
+// containers
+
+(type container sub artifact location entity) //11/4/1/3
+
+(type box sub container)
+
+(type boxes sub container)
+
+(type room sub container)
+
+// mass
+
+
+(type mass sub physicalEntity ) // contrast with shaped, weight, volume scales
+
+(type discreteAble sub mass)
+
+(type beer sub discreteAble)
+
+(type mud sub mass)
+
+(type material sub mass)
+
+(type steel sub material)
+
+
+//
+// Instances
+//
+
+(type instance)
+
+(type john-instance sub instance person)
+
+(type box1-instance sub instance box) // needs to be done right *************
+
+(type box2-instance sub instance box)
+
+(type block1-instance sub instance block)
+
+(type block2-instance sub instance block)
+
+(type block3-instance sub instance block)
+
+(type robot1-instance sub instance robot)
+
+(type robot2-instance sub instance robot)
+
+
+// Hedges
+
+(type fake sub hedgeVal) //4/8/13
+
+(type none sub hedgeVal)
+
+// Enumerations
+//
+(type EventKind sub enumeration)
+
+(type lexicalORgerund sub EventKind)
+
+(type lexical sub lexicalORgerund)
+
+(type gerund sub lexicalORgerund)
+
+(type infinitive sub EventKind)
+
+(type process-kind sub enumeration) //
+
+(type coprocess sub process-kind) // 10/18/13
+
+(type serial sub process-kind)
+
+(type purpose sub serial ) // do X to do Y
+
+(type causal sub process-kind)
+
+(type interaction sub process-kind)
+
+(type measure sub enumeration) // 11/20/12 shared??
+
+(type space sub measure) // spatial domain
+
+(type time sub measure) // temporal domain
+
+(type date sub time entity)
+
+(type conditional sub event-kind)
+
+(type serial sub event-kind)
+
+(type continuousOrDiscrete sub enumeration) //values for RD role continuity
+
+(type continuous sub continuousOrDiscrete)
+
+(type discrete sub continuousOrDiscrete)
+
+(type possessionKind sub enumeration) // 12/1/12
+
+(type physical sub possessionKind)
+
+(type ownership sub possessionKind)
+
+(type part sub possessionKind)
+
+(type property sub possessionKind)
+
+//
+// Regions
+//
+
+(type region sub space entity)
+
+(type closedCurve sub region)
+
+(type location sub region) // source for stateAsLocation
+
+(type deicticCenter sub location)
+
+
+//
+// directions
+//
+(type heading sub enumeration space)
+
+(type towards sub heading)
+
+(type direction sub heading)
+
+(type straight sub direction)
+
+(type north sub direction)
+
+(type south sub direction)
+
+(type east sub direction)
+
+(type west sub direction)
+
+(type up sub direction)
+
+(type down sub direction)
+
+(type right sub direction)
+
+(type left sub direction)
+
+(type up sub direction)
+
+//================== process stages
+
+(type stage sub process) // rename *************
+
+(type start sub stage shared)
+
+(type stop sub stage shared)
+
+(type continue sub stage shared)
+
+// Voice
+
+(type voice sub item)
+
+(type notPassive sub voice)
+
+(type passive sub voice)
+
+(type active sub notPassive)
+
+//==================
+
+(type process sub entity) // scales ?? 10/18/13 is this right???
+
+(type stasis sub process)
+
+(type be sub stasis)
+
+(type be2 sub be)
+
+// (type inchoativestasis sub stasis)
+
+(type become sub stasis) // 2/14/13
+
+(type complexxnet sub process)
+
+(type routine sub process)
+
+(type motion sub process)
+
+(type see sub process) // 2/7/13 perception
+
+(type change sub statechange) // 2/17/13 ? subtype of ?
+
+(type effectormotion sub complexxnet)
+
+(type forceapplication sub routine) // ?? why needed 2/28/13
+
+(type forcefulmotionaction sub complexxnet)
+
+(type agentiveimpactaction sub forcefulmotionaction)
+
+(type causeEffect sub complexxnet)
+
+// (type cut sub causeEffect)
+
+(type slap sub forcefulmotionaction)
+
+(type hit sub agentiveimpactaction)
+
+(type assault sub agentiveimpactaction)
+
+(type infect sub causeEffect)
+
+(type kick sub agentiveimpactaction)
+
+(type move sub motion)
+
+(type walk sub motion)
+
+(type enter sub motion)
+
+(type run sub motion)
+
+(type drive sub motion) // 5/28/13
+
+(type push sub forceapplication )
+
+(type releasehold sub forceapplication)
+
+(type establishhold sub forceapplication)
+
+(type throw sub complexxnet)
+
+(type objecttransfer sub complexxnet)
+
+(type statechange sub routine) //2/28/13
+
+(type make sub statechange)
+
+(type mentalProcess sub process)
+
+(type say sub mentalProcess)
+
+(type think sub mentalProcess)
+
+(type give sub objecttransfer)
+
+(type give-light sub process)
+
+(type take sub objecttransfer)
+
+(type take-light sub process)
+
+(type possess sub process)
+
+(type tell sub process) // 8/15/13
+
+(type emotionKind sub scale)
+
+(type anger sub emotionKind) // 3/29/13 verb
+
+(type help sub process)
+
+(type want sub process)
+
+(type cause sub process)
+
+(type enlarge sub process)
+
+(type prevent sub process) // 1/22/13
+
+//
+// Distances
+//
+
+(type distance sub space) // relate this to scales ****
+
+(type centimeter sub distance spatial-units)
+
+(type inch sub distance spatial-units)
+
+(type square sub distance spatial-units) // for simple robot world
+
+(type squares sub distance spatial-units)
+
+// Units
+
+(type units sub entity shared)
+
+(type temporal-units sub time units)
+
+(type nontemporal-units sub units)
+
+(type spatial-units sub space nontemporal-units)
+
+//
+// Time
+//
+
+(type hour sub temporal-units)
+
+(type minutes sub temporal-units)
+
+(type seconds sub temporal-units)
+
+(type telicity sub time) // change to temorality 11/26/12
+
+(type ongoing sub telicity) // ????
+
+(type bounded sub telicity)
+
+
+
+//
+// Modifiers and Scales
+//
+
+
+(type modifier) // shared ??
+
+(type quantifier sub modifier) // cf. use in specializer
+
+(type adjective sub modifier)
+
+(type adverb sub modifier)
+
+(type scale sub object-property) //3/2/13
+
+// (type noScale sub scale) // not needed
+
+(type difficultyScale sub scale )
+
+(type intensityScale sub scale )
+
+(type size sub scale ) // revisit 11/12/12 *************
+
+(type fear sub scale) // desperate, etc.
+
+//(type scaleValue sub sharedEnumeration) // not currently used 11/19/12
+
+(type verticality sub scale ) // a basic scale
+
+(type morality sub verticality ) // a basic scale
+
+(type length sub size) // another scale sub of size
+
+(type speed sub scale ) // fast, faster, etc
+
+(type hunger sub scale )
+
+(type distanceScale sub scale ) // near far ??comparatives??
+
+(type amountScale sub scale ) //12/17/12 not yet used
+
+(type few sub amountScale )
+
+// Properties
+
+(type object-property sub shared)
+
+(type color sub object-property ) // cf. size, non-scalar property
+
+(type propValue sub sharedEnumeration ) // non-scale properties are sets
+
+(type colorValue sub propValue)
+
+(type red sub colorValue)
+
+(type blue sub colorValue)
+
+
+// numbers
+
+(type number sub quantifier)
+
+(type one sub number)
+
+(type two sub number)
+
+(type three sub number)
+
+//
+// Verbs
+//
+
+(type verb)
+
+//
+// Temporality
+//
+
+(type temporality)
+
+//(type bounded sub temporality)
+
+//(type ongoing sub temporality)
+
+//(type bounded-ongoing sub temporality)
+
+//
+// Verb Tense
+//
+
+(type tense)
+
+(type present sub tense)
+
+(type past sub tense)
+
+(type future sub tense)
+
+//
+// Mood
+//
+
+(type mood) // all of these are moodValue
+
+(type declarative sub mood)
+
+(type imperative sub mood)
+
+(type wh-question sub mood)
+
+(type yn-question sub mood)
+
+//
+// Modality
+//
+
+(type modality) // all of these are modalityValue
+
+(type can sub modality)
+
+(type cant sub modality)
+
+(type could sub modality)
+
+(type should sub modality)
+
+ //
+ // WH Stuff
+ //
+
+ (type wh-word)
+
+ (type which sub wh-word)
+
+ (type where sub wh-word)
+
+ (type what sub wh-word)
+
+ //
+// Numbers
+//
+
+//(type number sub entity)
+
+
+INSTS:
diff --git a/first/pp.grm b/first/pp.grm
new file mode 100644
index 0000000..d948a77
--- /dev/null
+++ b/first/pp.grm
@@ -0,0 +1,52 @@
+
+general construction PP
+ subcase of RootType // answer to question, etc.
+ constructional
+ constituents
+ prep: Preposition
+ np: NP
+
+// Spatial PPs
+
+general construction Spatial-PP //literal
+ subcase of PP
+ constructional
+ constituents
+ prep: SpatialPreposition
+ //optional np: NP // overkill 11/26/12 *************
+ form
+ constraints
+ prep.f before np.f
+ meaning: TrajectorLandmark
+ constraints
+ self.m <--> prep.m
+ self.m.landmark <--> np.m
+ np.m.ontological-category <-- @region //11/4/13
+
+
+construction Path-PP // central case
+ subcase of PP
+ constructional
+ constituents
+ prep: PathPreposition // e.g. into, to, from, through
+ form
+ constraints
+ prep.f before np.f
+ meaning: SPG
+ constraints
+ // np.m.ontological-category <-- @container
+ self.m <--> prep.m
+ self.m.landmark <--> np.m
+ // self.m.landmark.ontological-category <--> np.m.ontological-category
+
+
+construction Loc-PP // static location
+ subcase of Spatial-PP
+ constructional
+ constituents
+ prep: LocativePreposition // e.g. at, in, inside, on,
+ meaning //: TrajectorLandmark
+ constraints
+ np.m.ontological-category <-- @region //11/4/13
+ // self.m <--> prep.m inherited
+ //self.m.trajector <-- @physicalEntity inherited
diff --git a/first/prep.grm b/first/prep.grm
new file mode 100644
index 0000000..9eb898f
--- /dev/null
+++ b/first/prep.grm
@@ -0,0 +1,67 @@
+
+general construction Preposition
+ subcase of Word
+
+
+ general construction SpatialPreposition
+ subcase of Preposition
+ meaning: TrajectorLandmark
+
+
+general construction PathPreposition
+ subcase of SpatialPreposition
+ meaning: SPG
+
+
+general construction LocativePreposition
+ subcase of SpatialPreposition
+
+
+construction IN-Locative // 11/4/13
+ subcase of LocativePreposition
+ form
+ constraints
+ self.f.orth <-- "in"
+ meaning
+ evokes BoundedObject as bo
+ constraints
+ //self.m.landmark.ontological-category <-- @container // 2/22/14 commented out for m4 test
+ self.m.landmark <--> bo.boundedObject
+ self.m.profiledArea <--> bo.interior
+
+
+ construction AT-Locative
+ subcase of LocativePreposition
+ form
+ constraints
+ self.f.orth <-- "at"
+ meaning
+ evokes Proximity as p
+ constraints
+ self.m.landmark.ontological-category <--@region
+ self.m.profiledArea <--> p.proximalArea
+ self.m.landmark <--> p.center
+
+construction TO-Path
+ subcase of PathPreposition
+ form
+ constraints
+ self.f.orth <-- "to"
+ meaning: SPG
+ constraints
+ self.m.landmark <--> self.m.goal
+
+construction INTO-Path // container 11/5/13
+ subcase of PathPreposition
+ form
+ constraints
+ self.f.orth <-- "into"
+ meaning: SPG
+ evokes BoundedObject as bo
+ constraints
+ self.m.landmark.ontological-category <-- @container // 2/22/14 commented out for m4 test
+ self.m.landmark <--> bo.boundedObject
+ self.m.goal <--> bo.interior
+ self.m.source <--> bo.exterior
+
+
diff --git a/first/root.grm b/first/root.grm
new file mode 100644
index 0000000..fee6f51
--- /dev/null
+++ b/first/root.grm
@@ -0,0 +1,32 @@
+
+
+
+
+construction ROOT
+ constructional
+ constituents
+ rootconstituent: RootType
+ meaning
+ constraints
+ self.m <--> rootconstituent.m
+
+general construction RootType
+
+//A cxn for unknown orthographic strings, i.e. those that don't match
+// the word forms of any of the Word cxns in the current grammar
+
+construction UnknownWord
+ subcase of Word, RootType
+ form
+ constraints
+ self.f.orth <-- "UNKNOWN-ITEM"
+
+
+general construction Word // ? add role for ontological-category
+ subcase of RootType
+ form: WordForm
+
+
+
+//For additional subcases of RootType, see individual files.
+
diff --git a/first/schemas-grammatical.grm b/first/schemas-grammatical.grm
new file mode 100644
index 0000000..1af14ee
--- /dev/null
+++ b/first/schemas-grammatical.grm
@@ -0,0 +1,63 @@
+
+// grammaticalschemas.grm
+//
+// A simple schema for the orthographic form associated with Word cxns
+schema WordForm
+ roles
+ orth
+ lemma
+ constraints
+ lemma <-- "test"
+
+
+// REFERENT DESCRIPTOR (RD) schemas
+
+schema RD // meaning of NP
+ roles
+ ontological-category //: @entity
+ givenness: @givennessValues
+ referent
+ number // : @RDnumberValues
+ gender: @genderValues
+ bounding: @boundingValues
+ scale: @scale //
+ //hedge: @hedgeVal // @fake, etc
+ //continuity: @continuityValues
+ //amount: Amount // schemas for quantifiers, etc.
+ // extensions: Extensions // schemas for affordances, etc
+
+schema EntityRD // 5/5/14 ; replace RD in many places
+ subcase of RD
+ roles
+ ontological-category: @entity
+
+
+schema EventRD // 5/5/14 named event, e.g. crisis & more
+ subcase of RD
+ roles
+ description: EventDescriptor
+ // kind: @EventKind 1/19/13 move to ED.eventForm; lexical, gerund, infinitive,
+ constraints
+ self.ontological-category <-- @eventTop // 6/6/13
+
+
+// EVENT DESCRIPTOR (ED) schemas
+
+schema EventDescriptor // meaning of S
+ roles
+ eventProcess: Process
+ e-features: EventFeatures
+ profiledProcess: Process
+ profiledParticipant: RD
+ eventForm: @EventKind
+
+schema EventFeatures // voice: @voice also in Process - Drop
+ roles
+ subord // subordinating conjunction,
+ telicity // USED in temporal in/for
+ duration // USED in TemporalVP
+ tense: @tense // USED
+ modality: @modality // USED
+ negated // USED
+
+
\ No newline at end of file
diff --git a/first/schemas-image.grm b/first/schemas-image.grm
new file mode 100644
index 0000000..af00f06
--- /dev/null
+++ b/first/schemas-image.grm
@@ -0,0 +1,62 @@
+
+schema TrajectorLandmark
+ roles
+ trajector: RD
+ landmark: RD
+ profiledArea: RD // defined with respect to Landmark
+ constraints
+ trajector.ontological-category <-- @physicalEntity
+ landmark.ontological-category <-- @region // added for 2/22/14 m4 test
+ profiledArea.ontological-category <-- @location
+
+schema SPG
+ subcase of TrajectorLandmark
+ roles
+ source: RD
+ path: RD
+ goal: RD
+ distance // ???*********7/17/13
+
+
+schema BoundedRegion
+ roles
+ boundary: RD
+ interior: RD
+ exterior: RD
+ constraints
+ boundary.ontological-category <-- @closedCurve
+ interior.ontological-category <-- @region
+ exterior.ontological-category <-- @region
+
+schema BoundedObject
+ subcase of BoundedRegion
+ roles
+ boundedObject: RD
+ constraints
+ boundedObject.ontological-category <-- @container
+
+schema SpatialRelation //???????
+
+schema Proximity
+ subcase of SpatialRelation
+ roles
+ center
+ proximalArea
+
+schema Contact // short version
+ subcase of SpatialRelation
+ roles
+ entity1: RD // @entity
+ entity2: RD // @entity
+ constraints
+ entity1.ontological-category <-- @entity
+ entity2.ontological-category <-- @entity
+
+
+schema Possession //revised 11/30/12
+ roles
+ kind:@possessionKind
+ possessor:RD
+ possessed:RD
+
+
\ No newline at end of file
diff --git a/first/schemas-modification.grm b/first/schemas-modification.grm
new file mode 100644
index 0000000..a7f61df
--- /dev/null
+++ b/first/schemas-modification.grm
@@ -0,0 +1,50 @@
+ //
+// Modifier Schemas
+//
+
+
+// A simple modifier schema which is the root of the modifier schema hierarchy
+
+schema Modification
+ roles
+ domain: @entity // constraint on modifier 10/27/12
+ kind // @modifier-type comparative, etc.
+ modifier
+ modifiedThing // could be verb, etc.
+ negated //@yes or blank
+
+schema AdverbModification // 3/3/13
+ subcase of Modification
+ roles
+
+schema AdjectiveModification // modified thing is an RD
+ subcase of Modification
+ roles
+ modifiedThing: RD
+ constraints
+ domain <--> modifiedThing.ontological-category // 3/3/13 only for RD
+
+schema ParticipleModification // 10/16/13
+ subcase of AdjectiveModification
+ roles
+ modifiedThing: RD
+ modifier: Process // meaning of PresentParticiple
+ constraints
+ ignore domain <--> modifiedThing.ontological-category
+
+// A simple modifier schema for properties like "big" or "red"
+schema PropertyModifier
+ subcase of AdjectiveModification // does not use modifier role
+ roles
+ domain: @entity //or below
+ property // becomes scale ?? object-property, other uses ??
+ value //string, number - profiled value
+ constraints
+
+schema ScalarModifier
+ subcase of PropertyModifier // does not use modifier role
+ roles
+ property: @scale
+ constraints
+
+
\ No newline at end of file
diff --git a/first/schemas-process.grm b/first/schemas-process.grm
new file mode 100644
index 0000000..5beaa86
--- /dev/null
+++ b/first/schemas-process.grm
@@ -0,0 +1,164 @@
+
+//
+schema Process
+ roles
+ protagonist: RD
+ actionary: @process
+ p-features: ProcessFeatures
+ ed:EventDescriptor
+
+schema ProcessFeatures // some values are set by Aux cxns
+ roles
+ tense: @tense // one of past, present, future
+ perfect // yes or blank
+ progressive // yes or blank
+ //lexicalAspect // state, punctual, activity, achievement, accomplishment
+ //particle // for particle before or after
+ //timeUnits: @temporal-units //@minutes, @seconds 3/22/13
+ voice: @voice
+ negated // yes or blank
+
+schema Motion
+ subcase of Process
+ roles
+ mover: RD
+ speed // scale
+ heading // untyped, North, towards Box2
+ actionary: @motion
+ constraints
+ mover <--> protagonist
+
+
+schema MotionPath // (bounded) translational motion
+ subcase of Motion
+ evokes SPG as spg
+ roles
+ direction:RD // 10/15/13 source or goal
+ constraints
+ mover <--> spg.trajector
+ mover.ontological-category <-- @physicalEntity
+
+
+schema Perception // "he saw the box"
+ subcase of Process // 10/7/13
+ roles
+ thinker: RD
+ //perceivedProcess: Process for "he saw him running"
+ content : RD // perceivedEntity
+ constraints
+ thinker <--> protagonist
+ thinker.ontological-category <-- @sentient
+ //content <--> perceivedProcess.protagonist
+
+
+schema ComplexProcess // later make sub of CoProcess
+ subcase of Process
+ roles
+ complexKind: @process-kind
+ //actionary//: @complexxnet not used??
+ process1: Process
+ process2: Process
+ protagonist2: RD
+ constraints
+ protagonist <--> process1.protagonist
+ protagonist2 <--> process2.protagonist
+
+
+schema CauseEffectProcess
+ subcase of ComplexProcess
+ roles
+ causer: RD
+ affected: RD
+ causalProcess
+ affectedProcess
+ constraints
+ causer <--> protagonist // binding to inherited role
+ affected <--> protagonist2 // binding to inherited role
+ causalProcess <--> process1 // binding to inherited role
+ affectedProcess <--> process2 // binding to inherited role
+ complexKind <-- @causal
+
+
+// Stasis -- used as the meaning of the copular use of 'be'
+schema Stasis
+ subcase of Process
+ roles
+ protagonist: RD // 4/26/13
+ state // untyped here
+ actionary: @stasis // copula, etc.
+ constraints
+
+
+//TESTING SECTION 2/10/14
+
+schema EmbeddedProcess
+ subcase of Process
+ roles
+ embeddedProcess: Process
+ // actionary: @embeddedProcess ??
+
+schema GeneralCausation // most general or abstract causation schema
+ roles
+ cause // untyped – could be force, process, or event?
+ effect // untyped – event or state (outcome)?
+ fdTag // e.g. cause, prevent, enable. Default value could be ‘cause’
+
+
+// e.g. The explosion caused the damage; His kicking caused the damage
+schema CausalEvent // ‘cause’ is protagonist
+ subcase of GeneralCausation, Process // or ComplexEvent
+ roles
+ cause: RD // or EventRD?
+ effect: RD // or EventRD?
+ constraints
+ cause <--> protagonist
+
+// e.g. The explosion moved the box; The explosion caused the box to move
+schema CausedProcess // elaborated effect, general cause
+ subcase of GeneralCausation, EmbeddedProcess
+ roles
+ affectedEntity: RD // physical entity
+ affectedProcess: Process
+ //causedProcessType:
+ cause: RD // Or EventRD? Or add tighter constraints in cxns?
+ //effect – could define as EventRD and bind aff Entity and process roles
+ constraints
+ affectedProcess <--> embeddedProcess
+ affectedEntity <--> affectedProcess.protagonist
+ cause <--> protagonist
+
+// e.g. He caused the damage
+schema CausalAction // elaborated cause, general effect
+ subcase of GeneralCausation, Process
+ roles
+ causalAgent: RD // in central case, is sentient entity
+ effect: RD // Or EventRD?
+ //causalActionType:
+ constraints
+ causalAgent <--> protagonist
+ // causalAgent.ontologicalType <-- @physicalEntity
+ //cause - could define as EventRD and bind causalAgent and Process roles
+
+
+// e.g. He caused the box to move; He moved the box
+schema CauseEffectAction // prototypical/central case of causation
+ subcase of GeneralCausation, ComplexProcess
+ roles
+ causalAgent: RD
+ affectedEntity: RD
+ causalProcess
+ affectedProcess
+ constraints
+ causalAgent <--> protagonist // binding to inherited role
+ affectedEntity <--> protagonist2 // binding to inherited role
+ causalProcess <--> process1 // binding to inherited role
+ affectedProcess <--> process2 // binding to inherited role
+ complexKind <-- @causal
+ //effect – could define as EventRD and bind aff Entity and process roles
+ //cause - could define as EventRD and bind causalAgent and Process roles
+
+
+
+
+
+
diff --git a/first/sentence.grm b/first/sentence.grm
new file mode 100644
index 0000000..7887ee7
--- /dev/null
+++ b/first/sentence.grm
@@ -0,0 +1,141 @@
+//
+// sentence.grm
+//
+// The general cxn S is the root of most (all?) speech acts /
+
+general construction S
+ subcase of RootType
+ meaning: EventDescriptor
+
+
+// This general cxn does the agreement between subj and verb
+general construction S-With-Subj
+ subcase of S
+ constructional
+ constituents
+ subj: NP
+ fin: HasVerbFeatures // for modals, not VP
+ constraints
+ fin.verbform <-- Finite //features.
+ subj.features.person <--> fin.features.person
+ subj.features.number <--> fin.features.number
+ subj.features.case <-- "nom"
+ meaning
+ constraints
+ subj.m <--> self.m.profiledParticipant
+
+construction Declarative
+ subcase of S-With-Subj
+ constructional
+ constituents
+ fin: VP
+ form
+ constraints
+ subj.f before fin.f
+ meaning
+ constraints
+ self.m <--> fin.ed
+ fin.ed.profiledParticipant.ontological-category <--> subj.m.ontological-category
+
+// Some Question types
+
+general construction Question // both Aux and Finite inversions
+ subcase of S
+
+general construction YN-Question
+ subcase of Question
+
+general construction S-With-Finite-Inversion
+ subcase of S-With-Subj, YN-Question
+
+construction S-With-Copula-Inversion-PP //special case
+ subcase of S-With-Finite-Inversion
+ constructional
+ constituents
+ fin: BeCopula
+ pp: Loc-PP
+ constraints
+
+ form
+ constraints
+ fin.f meets subj.f
+ subj.f before pp.f
+ meaning
+ constraints
+ subj.m <--> self.m.profiledParticipant // from S-With-Subj
+ fin.m.protagonist <--> subj.m
+ pp.m.trajector <--> subj.m
+
+construction S-With-Copula-Inversion-Adj // tested 10/29/12
+ subcase of S-With-Finite-Inversion
+ constructional
+ constituents
+ fin: BeCopula
+ adj: Adjective
+ //optional end: QMark // punctuation ?
+ constraints
+ //fin.features.expectedVerbForm <--> vp.features.verbform
+ form
+ constraints
+ fin.f meets subj.f
+ subj.f before adj.f
+ meaning
+ constraints
+ self.fin.m.actionary <-- @be2
+ self.fin.m.protagonist <--> self.m.profiledParticipant
+ self.adj.m.modifiedThing <--> self.m.profiledParticipant
+ self.adj.m.domain <--> self.m.profiledParticipant.ontological-category
+ self.fin.m.state <--> adj.m
+ self.m.eventProcess <--> fin.m
+
+// Utterance, Discourse Element -- Questions
+// Uncomment all this below to fully analyze "was the block red ? "
+
+
+general construction Utterance
+ subcase of RootType
+ constructional
+ constituents
+ core: S
+ end: EMark // punctuation like . ! ?
+ form
+ constraints
+ core.f meets end.f
+ meaning: DiscourseElement
+ constraints
+ self.m.content <--> core.m
+construction YNQuesUtterance
+ subcase of Utterance
+ constructional
+ constituents
+ core: YN-Question
+ end: QMark
+ form
+ constraints
+ core.f meets end.f
+ meaning
+ constraints
+ self.m.mood <-- "YN-Question" // this is where we want mood
+ self.m.content <--> core.m
+
+general construction EMark
+ subcase of Word
+
+construction QMark
+ subcase of EMark
+ form
+ constraints
+ self.f.orth <-- "?"
+
+schema DiscourseElement //meaning of Utterance
+ roles
+ speaker: RD
+ addressee: RD
+ attentional_focus
+ content: EventDescriptor
+ mood: @mood // one of declarative, imperative, ...
+ constraints
+ speaker.ontological-category <-- @sentient
+ addressee.ontological-category <-- @sentient
+
+
diff --git a/first/verb-copulas.grm b/first/verb-copulas.grm
new file mode 100644
index 0000000..07cbaa1
--- /dev/null
+++ b/first/verb-copulas.grm
@@ -0,0 +1,71 @@
+//
+// copulas.grm
+//
+
+general construction BeCopula // all forms listed
+ subcase of LexicalVerb
+ constructional
+ constraints
+ argform <-- Copula_All
+ meaning: Stasis
+ constraints
+ self.m.actionary <-- @be
+
+
+construction BeCopulaPresentSing
+ subcase of BeCopula, PresentTense, Singular
+ form
+ constraints
+ self.f.orth <-- "is"
+ meaning
+ constraints
+ pf <--> self.m.p-features
+
+construction BeCopulaBase
+ subcase of BeCopula, BaseForm
+ form
+ constraints
+ self.f.orth <-- "be"
+
+
+construction BeCopulaPresentParticple
+ subcase of BeCopula, PresentParticiple
+ form
+ constraints
+ self.f.orth <-- "being"
+
+ construction BeCopulaPastParticple
+ subcase of BeCopula, PastParticiple
+ form
+ constraints
+ self.f.orth <-- "been"
+
+ construction BeCopulaPresentPlural //now evokes ProcessFeatures
+ subcase of BeCopula, PresentTense, Plural
+ form
+ constraints
+ self.f.orth <-- "are"
+
+construction BeCopulaPastSing //now evokes ProcessFeatures
+ subcase of BeCopula, PastTense, Singular
+ form
+ constraints
+ self.f.orth <-- "was"
+
+construction NegBeCopulaPastSing //now evokes ProcessFeatures
+ subcase of BeCopula, PastTense, Singular
+ form
+ constraints
+ self.f.orth <-- "wasn't"
+ meaning
+ constraints
+ pf.negated <-- "yes"
+
+construction BeCopulaPastPlural //now evokes ProcessFeatures
+ subcase of BeCopula, PastTense, Plural
+ form
+ constraints
+ self.f.orth <-- "were"
+
+
+
\ No newline at end of file
diff --git a/first/verb-lexicalverb.grm b/first/verb-lexicalverb.grm
new file mode 100644
index 0000000..306a302
--- /dev/null
+++ b/first/verb-lexicalverb.grm
@@ -0,0 +1,98 @@
+
+
+general construction Verb
+ subcase of HasVerbFeatures
+ meaning: Process
+
+general construction ComplexVerb
+ subcase of Verb
+
+general construction VerbChunk
+ subcase of RootType, ComplexVerb
+
+general construction LexicalVerb
+ subcase of VerbChunk, Word
+ meaning
+ evokes ProcessFeatures as pf
+ constraints
+ pf <--> self.m.p-features
+
+
+general construction Move
+ subcase of LexicalVerb
+ meaning: MotionPath
+ constraints
+ self.m.actionary <-- @move
+
+construction MoveBase
+ subcase of Move, BaseForm
+ form
+ constraints
+ self.f.orth <-- "move"
+
+construction MovePast
+ subcase of Move, PastTense
+ form
+ constraints
+ self.f.orth <-- "moved"
+
+construction MovePastParticiple
+ subcase of Move, PastParticiple
+ form
+ constraints
+ self.f.orth <-- "moved"
+
+
+// testing lemma usage
+construction BlockLemmaVerb
+ subcase of LexicalVerb
+ constructional
+ constraints
+ self.verbform <-- Present
+ form
+ constraints
+ self.f.orth <-- "orth" // testing so it doesn't get picked up as lexicalCxn
+ self.f.lemma <-- "block"
+ meaning
+ constraints
+ self.pf.tense <-- "undetermined"
+
+
+general construction SeeT // 8/21/13 Transitive
+ subcase of LexicalVerb
+ meaning: Perception
+ constraints
+ self.m.actionary <-- @see
+ self.argform <-- Transitive
+ self.verbkind <-- Perceptual // 10/3/13
+
+
+construction SeeBaseT
+ subcase of SeeT, BaseForm
+ form
+ constraints
+ self.f.orth <-- "see"
+
+construction SeePastT
+ subcase of SeeT, PastTense
+ form
+ constraints
+ self.f.orth <-- "saw"
+/*
+general construction Enter
+ subcase of LexicalVerb
+ meaning: ChangeLocation // mover changes location wrt a landmark
+ //evokes BoundedObject as bo
+ constraints
+ //self.m.landmark <--> bo.boundedObject
+ //self.m.goal <--> bo.interior
+ self.m.landmark.ontological-category <-- @container
+ self.m.actionary <-- @enter
+
+construction EnterPast
+ subcase of Enter, PastTense
+ form
+ constraints
+ self.f.orth <-- "entered"
+*/
+
\ No newline at end of file
diff --git a/first/verbform.grm b/first/verbform.grm
new file mode 100644
index 0000000..f74f322
--- /dev/null
+++ b/first/verbform.grm
@@ -0,0 +1,109 @@
+//******** Verb Form Schemas //change to ontology items?
+
+schema FiniteOrNonFinite
+
+schema Finite subcase of FiniteOrNonFinite
+
+schema NonFinite subcase of FiniteOrNonFinite
+
+schema Participle subcase of NonFinite
+
+schema PastParticiple subcase of Participle
+
+schema PresentParticiple subcase of Participle, PresentParticipleOrInfinitive
+
+schema Past subcase of Finite
+
+schema Present subcase of Finite
+
+schema PresentParticipleOrInfinitive subcase of NonFinite
+
+schema Infinitive subcase of PresentParticipleOrInfinitive, BaseOrInfinitive
+
+schema BaseOrInfinitive subcase of NonFinite
+
+schema Base subcase of BaseOrInfinitive
+
+schema FromGerund subcase of NonFinite // 1/20/13, also parents
+
+
+// ************ General Verb constructions
+// genearl construction HasVerbFeatures is in agreement_features-constructions.grm
+
+
+general construction VerbConjugation
+ subcase of HasVerbFeatures
+ meaning
+ evokes ProcessFeatures as pf
+
+general construction PastTense
+ subcase of VerbConjugation
+ constructional
+ constraints
+ self.verbform <-- Past
+ self.voice <-- NotPassive
+ //can put stuff about an action wrt speech time here
+ meaning
+ constraints
+ pf.tense <-- @past
+
+general construction PresentTense
+ subcase of VerbConjugation
+ constructional
+ constraints
+ self.verbform <-- Present
+ self.voice <-- NotPassive
+ meaning
+ constraints
+ pf.tense <-- @present
+
+/*
+general construction BaseOrPresentForm
+ subcase of VerbConjugation
+ constructional
+ constraints
+ self.features.verbform <-- BaseOrPresent
+*/
+
+general construction BaseForm
+ subcase of VerbConjugation
+ constructional
+ constraints
+ self.verbform <-- Base
+ self.voice <-- NotPassive
+
+general construction PresentParticiple
+ subcase of VerbConjugation
+ constructional
+ constraints
+ self.verbform <-- PresentParticiple
+ self.voice <-- NotPassive
+ meaning
+ constraints
+ //pf.temporality <-- @ongoing
+
+general construction PastParticiple
+ subcase of VerbConjugation
+ constructional
+ constraints
+ self.verbform <-- PastParticiple
+ meaning
+ constraints
+ //pf.temporality <-- @bounded
+
+general construction ThirdPersonSingular
+ subcase of ThirdPerson, Singular
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/first/vp.grm b/first/vp.grm
new file mode 100644
index 0000000..238f5cd
--- /dev/null
+++ b/first/vp.grm
@@ -0,0 +1,151 @@
+//
+// vp.grm
+//
+
+general construction VP
+ subcase of HasVerbFeatures //, RootType 8/9/13 *****************
+ meaning: Process
+ evokes EventDescriptor as ed
+ constraints
+ self.m <--> ed.eventProcess
+ self.m.ed <--> ed // pointer from process to EventDescriptor
+
+
+// subcases of ArgumentStructure are in individual argstruct.grm files
+general construction ArgumentStructure
+ subcase of VP
+ constructional
+ constituents
+ v : Verb
+ constraints
+ self.features <--> v.features
+ self.verbform <--> v.verbform
+ self.voice <--> v.voice
+ meaning
+ evokes A123 as s
+ constraints
+ v.m <--> ed.profiledProcess
+ self.m.p-features <--> v.m.p-features
+
+
+// The A123 schema serves as a way to refer to up to 3 argument roles within an Argument Structure cxn.
+//Additional semantic constraints on these roles arise via binding to other schema roles
+
+schema A123 // evoked by ArgumentStructure cxn
+ roles
+ a1:RD
+ a2:RD
+ a3
+
+
+// CopularVP constructions
+ general construction CopularVP
+ subcase of VP
+ constructional
+ constituents
+ cop: Verb
+ constraints
+ cop.argform <-- Copula
+ self.features <--> cop.features
+ meaning: Stasis
+ constraints
+ self.m <--> cop.m
+ self.m.protagonist <--> ed.profiledParticipant
+
+// Used to analyze, e.g. "the block is in the room"
+construction CopularVPLocative
+ subcase of VP
+ constructional
+ constituents
+ cop: Verb
+ pred: Loc-PP
+ constraints
+ self.features <--> cop.features
+ cop.argform <-- Copula_Loc
+ form
+ constraints
+ cop.f before pred.f
+ meaning: Stasis
+ constraints
+ self.m <--> cop.m
+ ed.profiledParticipant <--> pred.m.trajector
+ self.m.protagonist <--> ed.profiledParticipant
+ self.m.state <--> pred.m
+
+//Used to analyze, e.g., "the block is red"
+construction CopularVPAdjective
+ subcase of VP
+ constructional
+ constituents
+ cop: Verb
+ adj: Adjective
+ constraints
+ self.features <--> cop.features
+ cop.argform <-- Copula_Adj
+ form
+ constraints
+ cop.f meets adj.f
+ meaning: Stasis
+ constraints
+ //adj.m.kind <-- @unmarked // 3/5/13
+ self.m <--> cop.m
+ self.m.protagonist <--> ed.profiledParticipant
+ self.m.state <--> adj.m
+ self.adj.m.modifiedThing <--> ed.profiledParticipant // might be enough for Adj-N agreement 10/27/12
+ self.adj.m.domain <--> ed.profiledParticipant.ontological-category // Adj-N agreement 10/27/12
+
+/*
+Nominal copulas (e.g. "it is a box") could be analyzed using a CopuluarVPNominal cxn
+such as the one shown below, whcih is a subcase of the general CopularVP cxn above.
+Note that the current first grammar does not contain the RefIdentity schema referred to by this cxn.
+
+construction CopularVPNominal // 2/14/13
+ subcase of CopularVP
+ constructional
+ constituents
+ nominal: NP
+ form
+ constraints
+ cop.f meets nominal.f
+ meaning: Stasis
+ evokes RefIdentify as ri
+ constraints
+ self.m.state <--> ri
+ ri.first <--> ed.profiledParticipant
+ ri.second <--> nominal.m
+
+
+Sentences such as "he is moving" can potentially be analyzed in various ways.
+One way is through the use of a CopularVPParticiple cxn such as the one shown below.
+Note that while the current grammar has a general PresentParticiple cxn, it does not
+have any specific lexical cxns for present participles. Also, the current first grammar
+does not contain a ParticipleModification schema.
+
+
+construction CopularVPParticiple // 10/16/13
+ subcase of VP
+ constructional
+ constituents
+ cop: Verb
+ pp: PresentParticiple
+ constraints
+ self.features <--> cop.features
+ cop.argform <-- Copula // check this **********
+ form
+ constraints
+ cop.f meets pp.f
+ meaning: Stasis
+ evokes ParticipleModification as pm
+ constraints
+ //adj.m.kind <-- @unmarked // 3/5/13
+ self.m <--> cop.m
+ self.m.protagonist <--> ed.profiledParticipant
+ self.m.state <--> pm
+ pm.modifier <--> pp.m
+ pm.modifiedThing <--> ed.profiledParticipant // might be enough for Adj-N agreement 10/27/12
+ //self.adj.m.domain <--> ed.profiledParticipant.ontological-category // Adj-N agreement 10/27/12
+
+
+ */
+
+
diff --git a/src/main/__pycache__/feature.cpython-34.pyc b/src/main/__pycache__/feature.cpython-34.pyc
new file mode 100644
index 0000000..50253d0
Binary files /dev/null and b/src/main/__pycache__/feature.cpython-34.pyc differ
diff --git a/src/main/__pycache__/utils.cpython-34.pyc b/src/main/__pycache__/utils.cpython-34.pyc
new file mode 100644
index 0000000..e04f61f
Binary files /dev/null and b/src/main/__pycache__/utils.cpython-34.pyc differ
diff --git a/src/main/analyzer.py b/src/main/analyzer.py
new file mode 100755
index 0000000..1cb1259
--- /dev/null
+++ b/src/main/analyzer.py
@@ -0,0 +1,184 @@
+"""
+.. A wrapper for the Analyzer. It runs it as an XML-RPC server to isolate from
+ lengthy grammar-building times.
+
+.. moduleauthor:: Luca Gilardi
+
+"""
+
+import sys
+from utils import Struct, update, display # @UnusedImport
+from xmlrpclib import ServerProxy # @UnresolvedImport
+from SimpleXMLRPCServer import SimpleXMLRPCServer # @UnresolvedImport
+from utils import interpreter
+from pprint import pprint
+from xmlrpclib import Fault
+
+# Possibly change this for your system
+dll = {'linux': '/jre/lib/amd64/server/libjvm.so',
+ 'darwin': '/jre/lib/server/libjvm.dylib',
+ 'win32': '/jre/bin/server/jvm.dll'}
+
+try:
+ import jpype, os # @UnresolvedImport
+ jpype.startJVM(os.environ['JAVA_HOME'] + dll[sys.platform],
+ '-ea', '-Xmx5g', '-Djava.class.path=lib/compling.core.jar')
+ compling = jpype.JPackage('compling')
+ SlotChain = getattr(compling.grammar.unificationgrammar, 'UnificationGrammar$SlotChain')
+ getParses = compling.gui.util.Utils.getParses
+ ParserException = jpype.JException(compling.parser.ParserException) # @UnusedVariable
+ ECGAnalyzer = compling.parser.ecgparser.ECGAnalyzer
+ getDfs = compling.grammar.unificationgrammar.FeatureStructureUtilities.getDfs # @UnusedVariable
+except ImportError:
+ from compling.grammar.unificationgrammar.UnificationGrammar import SlotChain
+ from compling.gui.util.Utils import getParses
+ from compling.parser import ParserException # @UnusedImport
+ from compling.parser.ecgparser import ECGAnalyzer
+ from compling.grammar.unificationgrammar.FeatureStructureUtilities import getDfs # @UnusedImport
+
+
+class Analyzer(object):
+ def __init__(self, prefs):
+ self.analyzer = ECGAnalyzer(prefs)
+ self.grammar = self.analyzer.grammar
+ self.server = None
+
+ def get_parses(self, sentence):
+ try:
+ return getParses(sentence, self.analyzer)
+ except ParserException:
+ raise Fault(-1, u'The sentence "%s" has no valid parses.' % sentence)
+
+ def parse(self, sentence):
+ def root(parse):
+ return parse.analyses[0].featureStructure.mainRoot
+
+ def as_sequence(parse):
+ def desc(slot):
+ return (slot_type(slot), slot_index(slot), slot_typesystem(slot), slot_value(slot))
+
+ slots = dict()
+ root_ = root(parse)
+ seq = [(parent, role) + desc(slots[s_id]) for parent, role, s_id in dfs('', root_, None, slots) if parent != -1]
+ return (-1, '') + desc(root_), seq
+
+ return [as_sequence(p) for p in self.get_parses(sentence)]
+
+
+ def reload(self, prefs):
+ """ Reloads grammar according to prefs file. """
+ self.analyzer = ECGAnalyzer(prefs)
+ self.grammar = self.analyzer.grammar
+
+ def issubtype(self, typesystem, child, parent):
+ """Is a child of ?
+ """
+ _ts = dict(CONSTRUCTION=self.grammar.cxnTypeSystem,
+ SCHEMA=self.grammar.schemaTypeSystem,
+ ONTOLOGY=self.grammar.ontologyTypeSystem)
+ ts = _ts[typesystem]
+ return ts.subtype(ts.getInternedString(child), ts.getInternedString(parent))
+
+ def close(self):
+ self.server.shutdown()
+
+
+def slot_index(slot):
+ return slot.slotIndex
+
+def slot_type(slot):
+ # if not slot.typeConstraint: print '##', slot
+ return slot.typeConstraint.type if slot and slot.typeConstraint else None
+
+def slot_typesystem(slot):
+ return slot.typeConstraint.typeSystem.name if slot and slot.typeConstraint else None
+
+def slot_value(slot):
+ return slot.atom[1:-1] if slot.atom else None
+
+def slot(semspec, path, relative=None):
+ """Returns the slot at the end of , a slot
+ chain (a dot-separated list of role names)."""
+ if relative:
+ return semspec.getSlot(relative, SlotChain(path))
+ else:
+ return semspec.getSlot(SlotChain(path))
+
+def test(args):
+ """Just test the analyzer.
+ """
+ prefs, sent = args
+
+ display('Creating analyzer with grammar %s ... ', prefs, term=' ')
+ analyzer = Analyzer(prefs)
+ display('done.')
+
+ for p in analyzer.parse(sent):
+ pprint(p)
+
+def atom(slot):
+ "Does slot contain an atomic type?"
+ return slot.atom[1:-1] if slot.atom else ''
+
+def dfs(name, slot, parent, seen):
+ slotIndex = slot.slotIndex
+ seen[slotIndex] = slot
+ if slot.features:
+ for e in slot.features.entrySet():
+ # pairs
+ n, s = unicode(e.key).replace('-', '_'), e.value
+ if s.slotIndex not in seen:
+ for x in dfs(n, s, slot, seen):
+ yield x
+ else:
+ yield slotIndex, n, s.slotIndex
+ yield parent.slotIndex if parent else -1, name, slot.slotIndex
+
+def server(obj, host='localhost', port=8090):
+ server = SimpleXMLRPCServer((host, port), allow_none=True, encoding='utf-8')
+ server.register_instance(obj)
+ display('server ready (listening to http://%s:%d/).', host, port)
+ server.serve_forever()
+ return server # Added
+
+def main(args):
+ display(interpreter())
+ display('Starting up Analyzer ... ', term='')
+ analyzer = Analyzer(args[1])
+ serve = server(analyzer)
+ analyzer.server = serve
+ print(analyzer.server)
+
+def test_remote(sentence='Robot1, move to location 1 2!'):
+ from feature import as_featurestruct
+ a = ServerProxy('http://localhost:8090')
+ d = a.parse(sentence)
+ s = as_featurestruct(d[0])
+ return s
+
+# TODO: update this
+def test_local(sentence='Robot1, move to location 1 2!'):
+ from feature import as_featurestruct
+ display('Starting up Analyzer ... ', term='')
+ a = Analyzer('grammar/robots.prefs')
+ display('done.\n', 'analyzing', sentence)
+ d = a.parse(sentence)
+ pprint(d)
+# s = as_featurestruct(d[0])
+# return s
+ return d
+
+def usage():
+ display('Usage: analyzer.py ')
+ sys.exit(-1)
+
+
+if __name__ == '__main__':
+ if '-t' in sys.argv:
+ test(sys.argv[2:])
+ elif '-l' in sys.argv:
+ test_local(*sys.argv[2:3])
+ else:
+ if len(sys.argv) != 2:
+ usage()
+ main(sys.argv)
diff --git a/src/main/feature.py b/src/main/feature.py
new file mode 100644
index 0000000..78855e8
--- /dev/null
+++ b/src/main/feature.py
@@ -0,0 +1,129 @@
+"""
+.. A feature structure class, to encapsulate the SemSpec.
+
+.. moduleauthor:: Luca Gilardi
+
+"""
+
+from utils import update, Struct
+from json.encoder import JSONEncoder
+from collections import namedtuple
+# import pprint
+
+FeatureDesc = namedtuple('FeatureDesc', ['parent', 'role', 'type', 'index', 'typesystem', 'value'])
+
+class FeatureStruct(Struct):
+ def __init__(self, **entries):
+ self.__dict__.update(entries)
+
+ def __setitem__(self, i, item):
+ self.__dict__.__setitem__(i, item)
+
+ def __items__(self):
+ return self.__dict__.items()
+
+class Feature(object):
+ def __init__(self, **entries):
+ """Constructor. It needs the __type__, __typesystem__ and __value__
+ keys be present in **entries.
+ """
+ # We want entries passed in to override those in self.
+ update(self, **entries)
+
+ def type(self):
+ t = self.__type__
+ return t.replace('-', '_') if t else t
+
+ def index(self):
+ return self.__index__
+
+ def typesystem(self):
+ return self.__typesystem__
+
+# def value(self):
+# return self.__value__
+
+ def __dir__(self):
+ d = self.__dict__
+ fs = self.__fs__()
+ v = self.__dict__['__value__']
+ try:
+ return [] if v else list(d.keys()) + (list(fs.__dict__.keys()))
+ except TypeError:
+ print(type(d.keys()), d.keys())
+ print(type(fs.__dict__.keys()), fs.__dict__.keys())
+ raise
+
+ def __getattr__(self, name):
+ try:
+ return getattr(self.__fs__(), name)
+ except KeyError:
+ return getattr(self.__dict__['__value__'], name)
+
+ def __fs__(self):
+ ff = self.__features__
+ return ff[self.__index__]
+
+ def __repr__(self):
+ d = self.__dict__
+ i = self.__index__
+ t = d['__type__']
+ ts = d['__typesystem__']
+ v = d['__value__']
+ if not v and self.__index__ in self.__features__:
+ fs = self.__fs__()
+ return '[%s %s[%s], roles: %s]' % (ts, t, i, ', '.join(fs.__dict__.keys()))
+ else:
+ return str(self)
+
+ def __int__(self):
+ return int(self.__value__)
+
+ def __float__(self):
+ return float(self.__value__)
+
+ def __str__(self):
+ return str(self.__value__)
+
+ def __json__(self):
+ return self.__dict__
+
+
+class StructJSONEncoder(JSONEncoder):
+ def default(self, x):
+ if isinstance(x, Struct):
+ return dict(__JSON_Struct__=x.__json__())
+ elif isinstance(x, Feature):
+ return dict(__JSON_Feature__=x.__json__())
+ else:
+ return JSONEncoder.default(self, x)
+
+ @staticmethod
+ def as_struct(x):
+ if '__JSON_Struct__' in x:
+ return Struct(x['__JSON_Struct__'])
+ elif '__JSON_Feature__' in x:
+ return Feature(x['__JSON_Feature__'])
+ else:
+ return x
+
+
+def as_featurestruct(root_desc, seq):
+ features = dict()
+ for slot_desc in seq:
+ slot = FeatureDesc(*slot_desc)
+ features.setdefault(slot.parent, FeatureStruct())[slot.role] = Feature(__type__=slot.type,
+ __index__=slot.index,
+ __typesystem__=slot.typesystem,
+ __value__=slot.value,
+ __features__=features)
+ root = FeatureDesc(*root_desc)
+ return Feature(__type__=root.type,
+ __index__=root.index,
+ __typesystem__=root.typesystem,
+ __value__=root.value,
+ __features__=features)
+
+
+
+
\ No newline at end of file
diff --git a/src/main/running.py b/src/main/running.py
new file mode 100644
index 0000000..3a80c5b
--- /dev/null
+++ b/src/main/running.py
@@ -0,0 +1,41 @@
+import sys, traceback
+import copy
+from copy import deepcopy
+import pickle
+import time
+import json
+from pprint import pprint
+from feature import as_featurestruct
+from json import dumps
+from utils import flatten
+from itertools import chain
+try:
+ # Python 2?
+ from xmlrpclib import ServerProxy, Fault # @UnresolvedImport @UnusedImport
+except:
+ # Therefore it must be Python 3.
+ from xmlrpc.client import ServerProxy, Fault #@UnusedImport @UnresolvedImport @Reimport
+
+from utils import update, Struct
+from feature import StructJSONEncoder
+from os.path import basename
+
+
+class Analyzer(object):
+ """A proxy for the Analyzer.
+ Note: It assumes the server is running with the right grammar
+ """
+ def __init__(self, url):
+ self.analyzer = ServerProxy(url)
+
+ def parse(self, sentence):
+ return [as_featurestruct(r, s) for r, s in self.analyzer.parse(sentence)]
+
+ def issubtype(self, typesystem, child, parent):
+ return self.analyzer.issubtype(typesystem, child, parent)
+
+analyzer = Analyzer("http://localhost:8090")
+
+
+
+
diff --git a/src/main/utils$py.class b/src/main/utils$py.class
new file mode 100644
index 0000000..ba1b346
Binary files /dev/null and b/src/main/utils$py.class differ
diff --git a/src/main/utils.py b/src/main/utils.py
new file mode 100644
index 0000000..dd893e1
--- /dev/null
+++ b/src/main/utils.py
@@ -0,0 +1,787 @@
+"""
+.. Provide some widely useful utilities. Safe for "from utils import *".
+
+.. moduleauthor:: Peter Norvig, Luca Gilardi
+
+"""
+
+# from __future__ import print_function
+
+import operator, math, random, copy, sys, os.path, bisect
+import collections
+from os.path import basename
+from pprint import pprint
+from itertools import chain
+try:
+ from json import JSONEncoder, JSONDecoder
+except:
+ pass
+
+#from functools import reduce
+
+# ______________________________________________________________________________
+# Compatibility with Python 2.2 and 2.3
+
+# The AIMA code is designed to run in Python 2.2 and up (at some point,
+# support for 2.2 may go away; 2.2 was released in 2001, and so is over
+# 3 years old). The first part of this file brings you up to 2.4
+# compatibility if you are running in Python 2.2 or 2.3:
+
+# try: bool, True, False # # Introduced in 2.3
+# except NameError:
+# class bool(int):
+# "Simple implementation of Booleans, as in PEP 285"
+# def __init__(self, val): self.val = val
+# def __int__(self): return self.val
+# def __repr__(self): return ('False', 'True')[self.val]
+#
+# True, False = bool(1), bool(0)
+
+try: sum # # Introduced in 2.3
+except NameError:
+ def sum(seq, start=0):
+ """Sum the elements of seq.
+ >>> sum([1, 2, 3])
+ 6
+ """
+ return reduce(operator.add, seq, start)
+
+try: enumerate # # Introduced in 2.3
+except NameError:
+ def enumerate(collection):
+ """Return an iterator that enumerates pairs of (i, c[i]). PEP 279.
+ >>> list(enumerate('abc'))
+ [(0, 'a'), (1, 'b'), (2, 'c')]
+ """
+ # # Copied from PEP 279
+ i = 0
+ it = iter(collection)
+ while 1:
+ yield (i, next(it))
+ i += 1
+
+
+try: reversed # # Introduced in 2.4
+except NameError:
+ def reversed(seq):
+ """Iterate over x in reverse order.
+ >>> list(reversed([1,2,3]))
+ [3, 2, 1]
+ """
+ if hasattr(seq, 'keys'):
+ raise ValueError("mappings do not support reverse iteration")
+ i = len(seq)
+ while i > 0:
+ i -= 1
+ yield seq[i]
+
+
+try: sorted # # Introduced in 2.4
+except NameError:
+ def sorted(seq, cmp=None, key=None, reverse=False):
+ """Copy seq and sort and return it.
+ >>> sorted([3, 1, 2])
+ [1, 2, 3]
+ """
+ seq2 = copy.copy(seq)
+ if key:
+ if cmp == None:
+ cmp = __builtins__.cmp
+ seq2.sort(lambda x, y: cmp(key(x), key(y)))
+ else:
+ if cmp == None:
+ seq2.sort()
+ else:
+ seq2.sort(cmp)
+ if reverse:
+ seq2.reverse()
+ return seq2
+
+try:
+ set, frozenset # # set builtin introduced in 2.4
+except NameError:
+ try:
+ import sets # # sets module introduced in 2.3
+ set, frozenset = sets.Set, sets.ImmutableSet
+ except (NameError, ImportError):
+ class BaseSet:
+ "set type (see http://docs.python.org/lib/types-set.html)"
+
+
+ def __init__(self, elements=[]):
+ self.dict = {}
+ for e in elements:
+ self.dict[e] = 1
+
+ def __len__(self):
+ return len(self.dict)
+
+ def __iter__(self):
+ for e in self.dict:
+ yield e
+
+ def __contains__(self, element):
+ return element in self.dict
+
+ def issubset(self, other):
+ for e in list(self.dict.keys()):
+ if e not in other:
+ return False
+ return True
+
+ def issuperset(self, other):
+ for e in other:
+ if e not in self:
+ return False
+ return True
+
+
+ def union(self, other):
+ return type(self)(list(self) + list(other))
+
+ def intersection(self, other):
+ return type(self)([e for e in self.dict if e in other])
+
+ def difference(self, other):
+ return type(self)([e for e in self.dict if e not in other])
+
+ def symmetric_difference(self, other):
+ return type(self)([e for e in self.dict if e not in other] +
+ [e for e in other if e not in self.dict])
+
+ def copy(self):
+ return type(self)(self.dict)
+
+ def __repr__(self):
+ elements = ", ".join(map(str, self.dict))
+ return "%s([%s])" % (type(self).__name__, elements)
+
+ __le__ = issubset
+ __ge__ = issuperset
+ __or__ = union
+ __and__ = intersection
+ __sub__ = difference
+ __xor__ = symmetric_difference
+
+ class frozenset(BaseSet):
+ "A frozenset is a BaseSet that has a hash value and is immutable."
+
+ def __init__(self, elements=[]):
+ BaseSet.__init__(elements)
+ self.hash = 0
+ for e in self:
+ self.hash |= hash(e)
+
+ def __hash__(self):
+ return self.hash
+
+ class set(BaseSet):
+ "A set is a BaseSet that does not have a hash, but is mutable."
+
+ def update(self, other):
+ for e in other:
+ self.add(e)
+ return self
+
+ def intersection_update(self, other):
+ for e in list(self.dict.keys()):
+ if e not in other:
+ self.remove(e)
+ return self
+
+ def difference_update(self, other):
+ for e in list(self.dict.keys()):
+ if e in other:
+ self.remove(e)
+ return self
+
+ def symmetric_difference_update(self, other):
+ to_remove1 = [e for e in self.dict if e in other]
+ to_remove2 = [e for e in other if e in self.dict]
+ self.difference_update(to_remove1)
+ self.difference_update(to_remove2)
+ return self
+
+ def add(self, element):
+ self.dict[element] = 1
+
+ def remove(self, element):
+ del self.dict[element]
+
+ def discard(self, element):
+ if element in self.dict:
+ del self.dict[element]
+
+ def pop(self):
+ key, val = self.dict.popitem()
+ return key
+
+ def clear(self):
+ self.dict.clear()
+
+ __ior__ = update
+ __iand__ = intersection_update
+ __isub__ = difference_update
+ __ixor__ = symmetric_difference_update
+
+
+
+
+# ______________________________________________________________________________
+# Simple Data Structures: infinity, Dict, Struct
+
+infinity = 1.0e400
+
+def Dict(**entries):
+ """Create a dict out of the argument=value arguments.
+ >>> Dict(a=1, b=2, c=3)
+ {'a': 1, 'c': 3, 'b': 2}
+ """
+ return entries
+
+class DefaultDict(dict):
+ """Dictionary with a default value for unknown keys.
+ """
+ def __init__(self, default):
+ self.default = default
+
+ def __getitem__(self, key):
+ if key in self: return self.get_ontology(key)
+ return self.setdefault(key, copy.deepcopy(self.default))
+
+ def __copy__(self):
+ copy = DefaultDict(self.default)
+ copy.update(self)
+ return copy
+
+class Struct(object):
+ """Create an instance with argument=value slots.
+ This is for making a lightweight object whose class doesn't matter.
+ """
+ def __init__(self, *maps, **entries):
+ for m in maps:
+ entries.update(m)
+ self.__dict__.update(entries)
+
+ def __cmp__(self, other):
+ if isinstance(other, Struct):
+ return cmp(self.__dict__, other.__dict__)
+ else:
+ return cmp(self.__dict__, other)
+
+ def __repr__(self):
+ args = ["%s=%s" % (k, repr(v)) for (k, v) in list(vars(self).items())]
+ return "Struct(%s)" % ", ".join(args)
+
+ def __len__(self):
+ return self.__dict__.__len__()
+
+ def __getitem__(self, key):
+ return self.__dict__.__getitem__(key)
+
+ def __iter__(self):
+ return self.__dict__.__iter__()
+
+ def __json__(self):
+ return self.__dict__
+
+
+
+def update(x, *maps, **entries):
+ """Update a dict or an object with slots according to entries.
+
+ >>> update({'a': 1}, a=10, b=20)
+ {'a': 10, 'b': 20}
+ >>> update(Struct(a=1), a=10, b=20)
+ Struct(a=10, b=20)
+ """
+ for m in maps:
+ if isinstance(m, dict):
+ entries.update(m)
+ else:
+ entries.update(m.__dict__)
+
+ if isinstance(x, dict):
+ x.update(entries)
+ else:
+ x.__dict__.update(entries)
+ return x
+
+# ______________________________________________________________________________
+# Functions on Sequences (mostly inspired by Common Lisp)
+# NOTE: Sequence functions (count_if, find_if, every, some) take function
+# argument first (like reduce, filter, and map).
+
+def removeall(item, seq):
+ """Return a copy of seq (or string) with all occurences of item removed.
+ >>> removeall(3, [1, 2, 3, 3, 2, 1, 3])
+ [1, 2, 2, 1]
+ >>> removeall(4, [1, 2, 3])
+ [1, 2, 3]
+ """
+ if isinstance(seq, str):
+ return seq.replace(item, '')
+ else:
+ return [x for x in seq if x != item]
+
+def unique(seq):
+ """Remove duplicate elements from seq. Assumes hashable elements.
+ >>> unique([1, 2, 3, 2, 1])
+ [1, 2, 3]
+ """
+ return list(set(seq))
+
+def product(numbers):
+ """Return the product of the numbers.
+ >>> product([1,2,3,4])
+ 24
+ """
+ return reduce(operator.mul, numbers, 1)
+
+def count_if(predicate, seq):
+ """Count the number of elements of seq for which the predicate is true.
+ >>> count_if(callable, [42, None, max, min])
+ 2
+ """
+ f = lambda count, x: count + (not not predicate(x))
+ return reduce(f, seq, 0)
+
+def find_if(predicate, seq):
+ """If there is an element of seq that satisfies predicate; return it.
+ >>> find_if(callable, [3, min, max])
+
+ >>> find_if(callable, [1, 2, 3])
+ """
+ for x in seq:
+ if predicate(x): return x
+ return None
+
+def every(predicate, seq):
+ """True if every element of seq satisfies predicate.
+ >>> every(callable, [min, max])
+ 1
+ >>> every(callable, [min, 3])
+ 0
+ """
+ for x in seq:
+ if not predicate(x): return False
+ return True
+
+def some(predicate, seq):
+ """If some element x of seq satisfies predicate(x), return predicate(x).
+ >>> some(callable, [min, 3])
+ 1
+ >>> some(callable, [2, 3])
+ 0
+ """
+ for x in seq:
+ px = predicate(x)
+ if px: return px
+ return False
+
+def isin(elt, seq):
+ """Like (elt in seq), but compares with is, not ==.
+ >>> e = []; isin(e, [1, e, 3])
+ True
+ >>> isin(e, [1, [], 3])
+ False
+ """
+ for x in seq:
+ if elt is x: return True
+ return False
+
+# ______________________________________________________________________________
+# Functions on sequences of numbers
+# NOTE: these take the sequence argument first, like min and max,
+# and like standard math notation: \sigma (i = 1..n) fn(i)
+# A lot of programing is finding the best value that satisfies some condition;
+# so there are three versions of argmin/argmax, depending on what you want to
+# do with ties: return the first one, return them all, or pick at random.
+
+
+def argmin(seq, fn):
+ """Return an element with lowest fn(seq[i]) score; tie goes to first one.
+ >>> argmin(['one', 'to', 'three'], len)
+ 'to'
+ """
+ best = seq[0]; best_score = fn(best)
+ for x in seq:
+ x_score = fn(x)
+ if x_score < best_score:
+ best, best_score = x, x_score
+ return best
+
+def argmin_list(seq, fn):
+ """Return a list of elements of seq[i] with the lowest fn(seq[i]) scores.
+ >>> argmin_list(['one', 'to', 'three', 'or'], len)
+ ['to', 'or']
+ """
+ best_score, best = fn(seq[0]), []
+ for x in seq:
+ x_score = fn(x)
+ if x_score < best_score:
+ best, best_score = [x], x_score
+ elif x_score == best_score:
+ best.append(x)
+ return best
+
+def argmin_random_tie(seq, fn):
+ """Return an element with lowest fn(seq[i]) score; break ties at random.
+ Thus, for all s,f: argmin_random_tie(s, f) in argmin_list(s, f)"""
+ best_score = fn(seq[0]); n = 0
+ for x in seq:
+ x_score = fn(x)
+ if x_score < best_score:
+ best, best_score = x, x_score; n = 1
+ elif x_score == best_score:
+ n += 1
+ if random.randrange(n) == 0:
+ best = x
+ return best
+
+def argmax(seq, fn):
+ """Return an element with highest fn(seq[i]) score; tie goes to first one.
+ >>> argmax(['one', 'to', 'three'], len)
+ 'three'
+ """
+ return argmin(seq, lambda x:-fn(x))
+
+def argmax_list(seq, fn):
+ """Return a list of elements of seq[i] with the highest fn(seq[i]) scores.
+ >>> argmax_list(['one', 'three', 'seven'], len)
+ ['three', 'seven']
+ """
+ return argmin_list(seq, lambda x:-fn(x))
+
+def argmax_random_tie(seq, fn):
+ "Return an element with highest fn(seq[i]) score; break ties at random."
+ return argmin_random_tie(seq, lambda x:-fn(x))
+# ______________________________________________________________________________
+# Statistical and mathematical functions
+
+def histogram(values, mode=0, bin_function=None):
+ """Return a list of (value, count) pairs, summarizing the input values.
+ Sorted by increasing value, or if mode=1, by decreasing count.
+ If bin_function is given, map it over values first."""
+ if bin_function: values = list(map(bin_function, values))
+ bins = {}
+ for val in values:
+ bins[val] = bins.get_ontology(val, 0) + 1
+ if mode:
+ return sorted(list(bins.items()), key=lambda v: v[1], reverse=True)
+ else:
+ return sorted(bins.items())
+
+def log2(x):
+ """Base 2 logarithm.
+ >>> log2(1024)
+ 10.0
+ """
+ return math.log10(x) / math.log10(2)
+
+def mode(values):
+ """Return the most common value in the list of values.
+ >>> mode([1, 2, 3, 2])
+ 2
+ """
+ return histogram(values, mode=1)[0][0]
+
+def median(values):
+ """Return the middle value, when the values are sorted.
+ If there are an odd number of elements, try to average the middle two.
+ If they can't be averaged (e.g. they are strings), choose one at random.
+ >>> median([10, 100, 11])
+ 11
+ >>> median([1, 2, 3, 4])
+ 2.5
+ """
+ n = len(values)
+ values = sorted(values)
+ if n % 2 == 1:
+ return values[n / 2]
+ else:
+ middle2 = values[(n / 2) - 1:(n / 2) + 1]
+ try:
+ return mean(middle2)
+ except TypeError:
+ return random.choice(middle2)
+
+def mean(values):
+ """Return the arithmetic average of the values."""
+ return sum(values) / float(len(values))
+
+def stddev(values, meanval=None):
+ """The standard deviation of a set of values.
+ Pass in the mean if you already know it."""
+ if meanval == None: meanval = mean(values)
+ return math.sqrt(sum([(x - meanval) ** 2 for x in values]) / (len(values) - 1))
+
+def dotproduct(X, Y):
+ """Return the sum of the element-wise product of vectors x and y.
+ >>> dotproduct([1, 2, 3], [1000, 100, 10])
+ 1230
+ """
+ return sum([x * y for x, y in zip(X, Y)])
+
+def vector_add(a, b):
+ """Component-wise addition of two vectors.
+ >>> vector_add((0, 1), (8, 9))
+ (8, 10)
+ """
+ return tuple(map(operator.add, a, b))
+
+def vector_mul(k, a):
+ """Multiplication of a vector by a scalar.
+ >>> vector_mul((1, 2), 2)
+ (2, 4)
+ """
+ return tuple(map(lambda x: k * x, a))
+
+def probability(p):
+ "Return true with probability p."
+ return p > random.uniform(0.0, 1.0)
+
+def num_or_str(x):
+ """The argument is a string; convert to a number if possible, or strip it.
+ >>> num_or_str('42')
+ 42
+ >>> num_or_str(' 42x ')
+ '42x'
+ """
+ if isnumber(x): return x
+ try:
+ return int(x)
+ except ValueError:
+ try:
+ return float(x)
+ except ValueError:
+ return str(x).strip()
+
+def normalize(numbers, total=1.0):
+ """Multiply each number by a constant such that the sum is 1.0 (or total).
+ >>> normalize([1,2,1])
+ [0.25, 0.5, 0.25]
+ """
+ k = total / sum(numbers)
+ return [k * n for n in numbers]
+
+# # OK, the following are not as widely useful utilities as some of the other
+# # functions here, but they do show up wherever we have 2D grids: Wumpus and
+# # Vacuum worlds, TicTacToe and Checkers, and markov decision Processes.
+
+orientations = [(1, 0), (0, 1), (-1, 0), (0, -1)]
+
+def turn_right(orientation):
+ return orientations[orientations.index(orientation) - 1]
+
+def turn_left(orientation):
+ return orientations[(orientations.index(orientation) + 1) % len(orientations)]
+
+def distance(xxx_todo_changeme, xxx_todo_changeme1):
+ "The distance between two (x, y) points."
+ (ax, ay) = xxx_todo_changeme
+ (bx, by) = xxx_todo_changeme1
+ return math.hypot((ax - bx), (ay - by))
+
+def distance2(xxx_todo_changeme2, xxx_todo_changeme3):
+ "The square of the distance between two (x, y) points."
+ (ax, ay) = xxx_todo_changeme2
+ (bx, by) = xxx_todo_changeme3
+ return (ax - bx) ** 2 + (ay - by) ** 2
+
+def clip(vector, lowest, highest):
+ """Return vector, except if any element is less than the corresponding
+ value of lowest or more than the corresponding value of highest, clip to
+ those values.
+ >>> clip((-1, 10), (0, 0), (9, 9))
+ (0, 9)
+ """
+ return type(vector)(list(map(min, list(map(max, vector, lowest)), highest)))
+
+# ______________________________________________________________________________
+# Misc Functions
+
+def printf(format, *args):
+ """Format args with the first argument as format string, and write.
+ Return the last arg, or format itself if there are no args."""
+ sys.stdout.write(str(format) % args)
+ return if_(args, args[-1], format)
+
+def caller(n=1):
+ """Return the name of the calling function n levels up in the frame stack.
+ >>> caller(0)
+ 'caller'
+ >>> def f():
+ ... return caller()
+ >>> f()
+ 'f'
+ """
+ import inspect
+ return inspect.getouterframes(inspect.currentframe())[n][3]
+
+def memoize(fn, slot=None):
+ """Memoize fn: make it remember the computed value for any argument list.
+ If slot is specified, store result in that slot of first argument.
+ If slot is false, store results in a dictionary."""
+ if slot:
+ def memoized_fn(obj, *args):
+ if hasattr(obj, slot):
+ return getattr(obj, slot)
+ else:
+ val = fn(obj, *args)
+ setattr(obj, slot, val)
+ return val
+ else:
+ def memoized_fn(*args):
+ if args not in memoized_fn.cache:
+ memoized_fn.cache[args] = fn(*args)
+ return memoized_fn.cache[args]
+ memoized_fn.cache = {}
+ return memoized_fn
+
+def if_(test, result, alternative):
+ """Like C++ and Java's (test ? result : alternative), except
+ both result and alternative are always evaluated. However, if
+ either evaluates to a function, it is applied to the empty arglist,
+ so you can delay execution by putting it in a lambda.
+ >>> if_(2 + 2 == 4, 'ok', lambda: expensive_computation())
+ 'ok'
+ """
+ if test:
+ if isinstance(result, collections.Callable): return result()
+ return result
+ else:
+ if isinstance(alternative, collections.Callable): return alternative()
+ return alternative
+
+def name(object):
+ "Try to find some reasonable name for the object."
+ return (getattr(object, 'name', 0) or getattr(object, '__name__', 0)
+ or getattr(getattr(object, '__class__', 0), '__name__', 0)
+ or str(object))
+
+def isnumber(x):
+ "Is x a number? We say it is if it has a __int__ method."
+ return hasattr(x, '__int__')
+
+def issequence(x):
+ "Is x a sequence? We say it is if it has a __getitem__ method."
+ return hasattr(x, '__getitem__')
+
+# def print_table(table, header=None, sep=' ', numfmt='%g'):
+# """Print a list of lists as a table, so that columns line up nicely.
+# header, if specified, will be printed as the first row.
+# numfmt is the format for all numbers; you might want e.g. '%6.2f'.
+# (If you want different formats in differnt columns, don't use print_table.)
+# sep is the separator between columns."""
+# justs = [if_(isnumber(x), 'rjust', 'ljust') for x in table[0]]
+# if header:
+# table = [header] + table
+# table = [[if_(isnumber(x), lambda: numfmt % x, x) for x in row]
+# for row in table]
+# maxlen = lambda seq: max(list(map(len, seq)))
+# sizes = list(map(maxlen, list(zip(*[list(map(str, row)) for row in table]))))
+# for row in table:
+# for (j, size, x) in zip(justs, sizes, row):
+# print(getattr(str(x), j)(size), sep=' ')
+# print()
+
+def AIMAFile(components, mode='r'):
+ "Open a file based at the AIMA root directory."
+ import utils # @UnresolvedImport
+ dir = os.path.dirname(utils.__file__)
+ return open(os.path.join(*[dir] + components), mode)
+
+def DataFile(name, mode='r'):
+ "Return a file in the AIMA /data directory."
+ return AIMAFile(['..', 'data', name], mode)
+
+
+# ______________________________________________________________________________
+# Queues: Stack, FIFOQueue, PriorityQueue
+
+class Queue:
+ """Queue is an abstract class/interface. There are three types:
+ Stack(): A Last In First Out Queue.
+ FIFOQueue(): A First In First Out Queue.
+ PriorityQueue(lt): Queue where items are sorted by lt, (default <).
+ Each type supports the following methods and functions:
+ q.append(item) -- add an item to the queue
+ q.extend(items) -- equivalent to: for item in items: q.append(item)
+ q.pop() -- return the top item from the queue
+ len(q) -- number of items in q (also q.__len())
+ Note that isinstance(Stack(), Queue) is false, because we implement stacks
+ as lists. If Python ever gets interfaces, Queue will be an interface."""
+
+ def __init__(self):
+ abstract # @UndefinedVariable
+
+ def extend(self, items):
+ for item in items: self.append(item)
+
+def Stack():
+ """Return an empty list, suitable as a Last-In-First-Out Queue."""
+ return []
+
+class FIFOQueue(Queue):
+ """A First-In-First-Out Queue."""
+ def __init__(self):
+ self.A = []; self.start = 0
+ def append(self, item):
+ self.A.append(item)
+ def __len__(self):
+ return len(self.A) - self.start
+ def extend(self, items):
+ self.A.extend(items)
+ def pop(self):
+ e = self.A[self.start]
+ self.start += 1
+ if self.start > 5 and self.start > len(self.A) / 2:
+ self.A = self.A[self.start:]
+ self.start = 0
+ return e
+
+class PriorityQueue(Queue):
+ """A queue in which the minimum (or maximum) element (as determined by f and
+ order) is returned first. If order is min, the item with minimum f(x) is
+ returned first; if order is max, then it is the item with maximum f(x)."""
+ def __init__(self, order=min, f=lambda x: x):
+ update(self, A=[], order=order, f=f)
+ def append(self, item):
+ bisect.insort(self.A, (self.f(item), item))
+ def __len__(self):
+ return len(self.A)
+ def pop(self):
+ if self.order == min:
+ return self.A.pop(0)[1]
+ else:
+ return self.A.pop()[1]
+
+def flatten(iterable):
+ return chain.from_iterable(iterable)
+
+def display(message, *args, **kw):
+ out = kw.get('out', sys.stdout)
+ term = kw.get('term', '\n')
+ try:
+ out.write(message if not args else message % args)
+ out.write(term)
+ out.flush()
+ except:
+ pprint(args)
+
+DEBUG = False
+
+def debug(fmt, *args):
+ global DEBUG
+ if DEBUG:
+ display(fmt, args)
+
+class Unimplmented(Exception): pass
+
+def abstract():
+ raise Unimplmented()
+
+def interpreter():
+ return '%s %s' % (basename(sys.executable or sys.platform).capitalize(), sys.version)
+