Sha256: 9a1ac4c79a6461c5587c7ba599b351a591ba58c030bb876bd2af5fcaaa68c708
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
module English # TODO before_function :next_word def sentence subject = required_phrase do noun_phrase end verb = required_phrase do verb_phrase end return tag_phrase("S", subject + verb) end alias :root :sentence def noun_phrase next_word # TODO remove these determiner = "" adjective = "" preposition = "" if Pronoun == @star.part_of_speech noun = tag("N", @star) else determiner = optional Determiner do |word| next_word tag("D", word) end adjective = optional Adjective do # TODO convert to optional_phrase adjective_phrase end noun = required Noun do |word| tag("N", word) end preposition = optional_phrase do prepositional_phrase end end return tag_phrase("NP", determiner + adjective + noun + preposition) end def adjective_phrase adjective = "" while Adjective == @star.part_of_speech adjective += tag("A", @star) next_word end # tag_phrase ? return adjective end def prepositional_phrase # next_word # # preposition = "" # object = "" # # required Preposition do |word| # preposition = tag("P", word) # end # # required_phrase do # object = noun_phrase # end # # return tag_phrase("PP", preposition + object) # if Preposition == Word.new(@words[0]).part_of_speech next_word preposition = tag("P", @star) output = tag_phrase("PP", preposition + noun_phrase) else output = "" end return output end def verb_phrase next_word verb = required Verb do |word| tag("V", word) end object = optional_phrase do noun_phrase end return tag_phrase("VP", verb + object) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
odin-0.0.4 | lang/en/atn.rb |
odin-0.1.0.alpha.1 | lang/en/atn.rb |