Ejemplo n.º 1
0
        private static Sentence EstablishAFact(KeyValuePair <string, string> pair)
        {
            string[] nameParts = pair.Key.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);

            Word jan  = Words.jan;
            Word name = new Word(nameParts[1]);

            Word nanpa   = Words.nanpa;
            Word fiveEtc = new Word(pair.Value);

            ComplexChain subject = ComplexChain.SinglePiEnChainFactory(new HeadedPhrase(jan, new WordSet {
                name
            }));
            VerbPhrase   verb    = new VerbPhrase(Words.jo);
            ComplexChain directs = ComplexChain.SingleEPiChainFactory(new HeadedPhrase(nanpa, new WordSet {
                fiveEtc
            }));

            TpPredicate predicate = new TpPredicate(Particles.li, verb, directs);
            Sentence    fact      = new Sentence(subject, new PredicateList {
                predicate
            }, SentenceDiagnostics.NotFromParser,
                                                 new SentenceOptionalParts
            {
                Punctuation = new Punctuation(".")
            });

            return(fact);
        }
Ejemplo n.º 2
0
        private TpPredicate GeneratePredicate()
        {
            bool isTransitive = random.Next(0, 100) < 50;

            VerbPhrase   verbPhrase = RandomVerbPhrase(isTransitive ? "vt" : "vi");
            ComplexChain nominal    = RandomEnPiChain();

            TpPredicate p;

            if (random.Next(0, 100) < 75)
            {
                PrepositionalPhrase[] prepositionals = null;
                if (random.Next(0, 100) < 35)
                {
                    prepositionals = RandomPrepChain();
                }

                ComplexChain directs = null;
                if (isTransitive)
                {
                    directs = RandomEChain();
                }

                p = new TpPredicate(Particles.li, verbPhrase, directs, prepositionals);
            }
            else
            {
                p = new TpPredicate(Particles.li, nominal);
            }
            return(p);
        }
        public void ProcessSingletonPredicate()
        {
            Dialect     c  = Dialect.LooseyGoosey;
            ParserUtils pu = new ParserUtils(c);

            TpPredicate predicate = pu.ProcessPredicates("li soweli lili");

            Assert.AreEqual("soweli", predicate.VerbPhrase.HeadVerb.Text);
            Assert.AreEqual("lili", predicate.VerbPhrase.Adverbs.First().Text);
        }
Ejemplo n.º 4
0
        public void CreateTpPredicateAfterSplitingEChain()
        {
            Dialect     c  = Dialect.LooseyGoosey;
            ParserUtils pu = new ParserUtils(c);

            const string ePhrase   = "li moku e soweli suli mute";
            TpPredicate  predicate = pu.ProcessPredicates(ePhrase);

            Console.WriteLine(predicate.ToString("b"));
            Assert.IsTrue(predicate.Directs != null);
        }
Ejemplo n.º 5
0
        private static Sentence CreateQuestion()
        {
            Word jan     = Words.seme;
            Word nanpa   = Words.nanpa;
            Word fiveEtc = new Word("555-1234");

            ComplexChain subject = ComplexChain.SinglePiEnChainFactory(new HeadedPhrase(jan));
            VerbPhrase   verbs   = new VerbPhrase(Words.jo);

            ComplexChain directs = ComplexChain.SingleEPiChainFactory(new HeadedPhrase(nanpa, new WordSet {
                fiveEtc
            }));
            TpPredicate predicate = new TpPredicate(Particles.li, verbs, directs);
            Sentence    fact      = new Sentence(subject, new PredicateList {
                predicate
            }, SentenceDiagnostics.NotFromParser);

            return(fact);
        }