[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lojban] CFG handling of terminators
- To: lojban-list@lojban.org
- Subject: [lojban] CFG handling of terminators
- From: "Jorge Llambías" <jjllambias@gmail.com>
- Date: Sun, 4 Jan 2009 15:58:49 -0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=etayyjZBn6zhoXjMVgfn+xArvHQqsn/4uckpfTDCbsY=; b=xvSfAbmJ6A9+GAYsx5vZHN8ZAnte7SX8tYTPbzBbx3hEsSIn9R64/7kTPlNmnCefQD I6UnhbWuL4SUajIGlhWqPXyS/lnCNeqeojrGhC4dGXqGSnC1jBpMhZN/20p0HQg4+tJy 3pkN3y9V9KKjyFeyoU50cZ+rC5L2p2BEbCeVU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=x97+bmJ9TSwYHofNN6/ts0d1KOo3zi5SJYGaai9k8/Nwi3G1SMDu3sCAOUwBk+gp7j /9tGar8szn0RbJTyh4qDC+Fyi1MrAEH3Gjc82qIrbEfvYweMutp9r75GDR+O67DPZjuk dRyAcqn3zNWiG5Q7Q8XQ8qdHYb0p9H1nyk/YQ=
- Reply-to: lojban-list@lojban.org
- Sender: lojban-list-bounce@lojban.org
Consider this small subset of Lojban, with elidable terminators /VAU/,
/KU/ and /KEI/:
----------------------------------
text = sentence
sentence = [terms [CU]] selbri [terms] /VAU/
terms = [terms] sumti
sumti = KOhA | LE selbri /KU/
selbri = [selbri] tanru-unit
tanru-unit = BRIVLA | NU sentence /KEI/
-------------------------------------
Here is a way to handle those terminators with a CFG. The same
principles can be applied to the whole grammar (but the result will be
thousands and thousands of rules):
-----------------------------------
text = sentence | sentence-no-VAU | sentence-no-VAU-no-KU |
sentence-no-VAU-no-KU-no-KEI | sentence-no-VAU-no-terms |
sentence-no-VAU-no-terms-no-KEI |
sentence-no-VAU-no-terms-no-KEI-no-KU
sentence = [head-terms] (selbri | selbri-no-KEI) [terms | terms-no-KU
| terms-no-KU-no-KEI | terms-no-KU-no-KEI-no-terms] VAU
sentence-no-VAU = [head-terms] (selbri | selbri-no-KEI) terms
sentence-no-VAU-no-KU = [head-terms] (selbri | selbri-no-KEI) terms-no-KU
sentence-no-VAU-no-KU-no-KEI = [head-terms] (selbri | selbri-no-KEI)
(terms-no-KU-no-KEI | terms-no-KU-no-KEI-no-VAU)
sentence-no-VAU-no-terms = [head-terms] selbri
sentence-no-VAU-no-terms-no-KEI = [head-terms] (selbri-no-KEI |
selbri-no-KEI-no-VAU)
sentence-no-VAU-no-terms-no-KEI-no-KU = [head-terms]
(selbri-no-KEI-no-VAU-no-KU | selbri-no-KEI-no-VAU-no-terms-no-KU)
head-terms = terms [CU] | (terms-no-KU | terms-no-KU-no-KEI |
terms-no-KU-no-KEI-no-VAU | terms-no-KU-no-KEI-no-terms) CU
terms = [terms | terms-no-KU] sumti
terms-no-KU = [terms | terms-no-KU] sumti-no-KU
terms-no-KU-no-KEI = [terms | terms-no-KU] sumti-no-KU-no-KEI
terms-no-KU-no-KEI-no-VAU = [terms | terms-no-KU] sumti-no-KU-no-KEI-no-VAU
terms-no-KU-no-KEI-no-terms = [terms | terms-no-KU] sumti-no-KU-no-KEI-no-terms
sumti = KOhA | LE (selbri | selbri-no-KEI | selbri-no-KEI-no-VAU |
selbri-no-KEI-no-VAU-no-terms) KU
sumti-no-KU = LE selbri
sumti-no-KU-no-KEI = LE selbri-no-KEI
sumti-no-KU-no-KEI-no-VAU = LE (selbri-no-KEI-no-VAU |
selbri-no-KEI-no-VAU-no-KU)
sumti-no-KU-no-KEI-no-terms = LE (selbri-no-KEI-no-VAU-no-terms |
selbri-no-KEI-no-VAU-no-terms-no-KU)
selbri = [selbri | selbri-no-KEI | selbri-no-KEI-no-VAU |
selbri-no-KEI-no-VAU-no-KU] tanru-unit
selbri-no-KEI = [selbri | selbri-no-KEI | selbri-no-KEI-no-VAU |
selbri-no-KEI-no-VAU-no-KU] tanru-unit-no-KEI
selbri-no-KEI-no-VAU = [selbri | selbri-no-KEI | selbri-no-KEI-no-VAU
| selbri-no-KEI-no-VAU-no-KU] tanru-unit-no-KEI-no-VAU
selbri-no-KEI-no-VAU-no-KU = [selbri | selbri-no-KEI |
selbri-no-KEI-no-VAU | selbri-no-KEI-no-VAU-no-KU]
tanru-unit-no-KEI-no-VAU-no-KU
selbri-no-KEI-no-VAU-no-terms = [selbri | selbri-no-KEI |
selbri-no-KEI-no-VAU | selbri-no-KEI-no-VAU-no-KU]
tanru-unit-no-KEI-no-VAU-no-terms
selbri-no-KEI-no-VAU-no-terms-no-KU = [selbri | selbri-no-KEI |
selbri-no-KEI-no-VAU | selbri-no-KEI-no-VAU-no-KU]
tanru-unit-no-KEI-no-VAU-no-terms-no-KU
tanru-unit = BRIVLA | NU (sentence | sentence-no-VAU |
sentence-no-VAU-no-KU | sentence-no-VAU-no-terms) KEI
tanru-unit-no-KEI = NU sentence
tanru-unit-no-KEI-no-VAU = NU sentence-no-VAU
tanru-unit-no-KEI-no-VAU-no-KU = NU sentence-no-VAU-no-KU
tanru-unit-no-KEI-no-VAU-no-terms = NU (sentence-no-VAU-no-terms |
sentence-no-VAU-no-terms-no-KEI)
tanru-unit-no-KEI-no-VAU-no-terms-no-KU = NU
(sentence-no-VAU-no-terms-no-KU |
sentence-no-VAU-no-terms-no-KEI-no-KU)
-------------------------
mu'o mi'e xorxes
To unsubscribe from this list, send mail to lojban-list-request@lojban.org
with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, or if
you're really stuck, send mail to secretary@lojban.org for help.