UNPKG

universal_bot

Version:

Taking the principles of aiml - but allowing a dynamic and extendable *.js environment

96 lines (67 loc) 2.94 kB
this.tidy = function() { debugt("TIDY"); // debugt( self.act ); var act = { phrase: self.phrase } if (self.act.subject) { act.subject = Object.assign( self.act.subject ); delete act.subject.object; delete act.subject.subject; delete act.subject.prepositional_object; delete act.subject.adjective; } if (self.act.adverbial_clause) { act.adverbial_clause = Object.assign( self.act.adverbial_clause ); } if (self.act.predicate) { act.predicate = Object.assign( self.act.predicate ); act.predicate.type = "verb"; // delete act.predicate.predicate; delete act.predicate.object; delete act.predicate.subject; delete act.predicate.genitive; delete act.predicate.prepositional_object; delete act.predicate.numerus; delete act.predicate.predicate; delete act.predicate.noun; act.predicate.tempus = self.get_predicate_time(); var mode = self.genus_verbi(); if ( mode ) { debugt( mode ); act.predicate.genus = mode.genus; act.predicate.tempus = mode.tempus; if (mode.modal) act.predicate.modal = mode.modal; if (mode.subjunctive) act.predicate.subjunctive = true; } var adv = self.assign_adverbs(act.predicate.position); if (adv) act.predicate.adverb = adv; //debugt( act ); } if (self.act.prepositional_object) { debugt("EIN PRÄPOSITIONALES OBJEKT"); act.prepositional_object = Object.assign( self.act.prepositional_object ); delete act.prepositional_object.object.object; self.clean_null_elements( act.prepositional_object.object); } debugt("INFINITIVE ====================") if (self.act.infinitive_construction) { act.infinitive_construction = Object.assign( self.act.infinitive_construction ); act.infinitive_construction.verb.type = "verb"; delete act.infinitive_construction.verb.noun; self.clean_null_elements( act.infinitive_construction.verb); debugt("CLEANUP ====================") if ( act.infinitive_construction.object) { debugt("TIDY ====================") debugt("Hier gibt es ein Objekt"); self.clean_null_elements( act.infinitive_construction.object); } } // debugt(self.act); if (self.act.predicate) { debugt("ANALYSE"); debugt( act ); } debugt (" Das gesäuberte Objekt "); debugt( act ); }