# daar is 3 moontlikhede # verb # verb directobject # verb directobject preposition indirect-object $preposition = [ 'with','using', 'at','to', 'in front of', 'in','inside','into', 'on top of','on','onto','upon', 'out of','from inside','from', 'over', 'through', 'under','underneath','beneath', 'begind','beside', 'for','about', 'is', 'as', 'off of','off'] def parse(str) # first word is the verb # eintlik moet ons " " ook handle words = str.split(' ') verb = words[0] directobject = words[1] index = 2 for prep in $preposition: prepwords = prep.split(' ') found = false if prepwords[0] == words[index] found = true i = index+1 for k in 1...prepwords.size if prepwords[k]!=words[i] found = false break end i += 1 end if found preposition = prep break end end end indirectobject = words[-1] puts "verb = #{verb}" puts "direct object = #{directobject}" puts "prep = #{preposition}" puts "indirect object = #{indirectobject}" end parse("throw cd off of shelf")