[Ometa] preventing left recursion, Grow-LR

Justin Chase justin.m.chase at gmail.com
Sat Dec 5 10:40:29 PST 2009


RHIuIFdhcnRoLAoKSSB3YXMganVzdCByZWFkaW5nIHlvdXIgUEhEIGRpc3NlcnRhdGlvbiBvbiBP
TWV0YSBvbiB0aGUgY2hhcHRlciByZWdhcmRpbmcKdGhlIHByZXZlbnRpb24gb2YgbGVmdCByZWN1
cnNpb24uIEluIGZpZ3VyZSAzLjMgeW91IGdpdmUgcHN1ZWRvIGNvZGUgZm9yIGEKR3Jvdy1MUiBm
dW5jdGlvbiBidXQgbGVhdmUgb3V0IGEgZmV3IGxpbmVzIHNheWluZyB0aGF0IHRoZXkgY2FuIGJl
IGlnbm9yZWQKZm9yIHRoZSBtb21lbnQuIExhdGVyIHlvdSBleHBsYWluIGhvdyB0byByZWZpbmUg
dGhlIEFwcGx5LVJ1bGUgZnVuY3Rpb24gdG8Kc3VwcG9ydCBpbmRpcmVjdCBsZWZ0LXJlY3Vyc2lv
biBidXQgaW4gZmlndXJlIDMuOCB5b3UgcmVmZXJlbmNlIHRoZSBHcm93LUxSCmZ1bmN0aW9uIHdp
dGhvdXQgcHJvdmlkaW5nIGFuIHVwZGF0ZWQsIGNvbXBsZXRlIEdyb3ctTFIuCgpBbSBJIG1pc3Np
bmcgc29tZXRoaW5nIHRoZXJlPyBXaGF0IGFyZSB0aGUgbWlzc2luZyBsaW5lcyBmcm9tIEdyb3ct
TFIgb3Igd2h5Cndhc24ndCBhbiB1cGRhdGVkIHZlcnNpb24gcHJvdmlkZWQgYWxvbmcgd2l0aCBm
aWd1cmUgMy44PwoKCkJ1dCBhcyBmb3IgdGhlIGNoYXB0ZXIgaW4gZ2VuZXJhbCBJJ20gaW5jcmVk
aWJseSBpbXByZXNzZWQuIEkgd2FzIGxpdHRlcmFsbHkKanVzdCB0aGlua2luZyBhYm91dCBob3cg
dG8gc29sdmUgdGhpcyBwcm9ibGVtIGFuZCByZWFkIHRoaXMgY2hhcHRlciBhbmQgSQp1bmRlcnN0
b29kIGFsbW9zdCBldmVyeXRoaW5nIHVwIHRvIHRoZSBlbmQuIFRoaXMgaXMgYSBzZXJpb3VzbHkg
YnJpbGxpYW50CnBpZWNlIG9mIHdvcmsgYW5kIGl0IHdpbGwgc2F2ZSBtZSBhIGxvdCBvZiB0aW1l
IHNpbmNlIEkgZG9uJ3QgaGF2ZSB0bwpyZS1maWd1cmUgaXQgYWxsIG91dC4gVGhhbmsgeW91IHZl
cnkgbXVjaC4KCkluIGNhc2UgeW91J3JlIHdvbmRlcmluZyB3aGF0IEknbSB3b3JraW5nIG9uLCBJ
J3ZlIGJlZW4gd29ya2luZyBvbiBhIHByb2plY3QKZm9yIGEgd2hpbGUgbm93IGNhbGxlZCBNZXRh
U2hhcnAgd2hpY2ggd2FzIGZvcm1lcmx5IGEgdG9vbCB0byBjb21wbGltZW50IHRoZQpuZXcgTWlj
cm9zb2Z0IE1HcmFtbWFyIHRvb2xzLiBBZnRlciBkb2luZyBzb21lIHJlc2VhcmNoIGFuZCByZWFk
aW5nIGFib3V0Ck9NZXRhIEkgaGF2ZSByZWFsaXplZCB0aGF0IE9NZXRhIGlzIGFjdHVhbGx5IHRo
ZSBsb2dpY2FsIGNvbmNsdXNpb24gdG8gdGhlCmNvcmUgY29uY2VwdHMgSSBoYXZlIGJlZW4gaW5k
ZXBlbmRlbnRseSBjb21pbmcgdXAgd2l0aCBhcyB3ZWxsLiBNeSByZWxpYW5jZQpvbiBNR3JhbW1h
ciBob3dldmVyIHdhcyBwcmV2ZW50aW5nIG1lIGZyb20gZ29pbmcgYWxsIHRoZSB3YXkgZG93biB0
aGUgcmFiYml0CmhvbGUgYW5kIHJlYWxpemluZyB0aGUgZnVsbCBpbXBsaWNhdGlvbnMgbGlrZSB5
b3UgaGF2ZS4gUmVhZGluZyB5b3VyCmRpc3NlcnRhdGlvbiBoYXMgYmVlbiByZXZlbGF0b3J5LgoK
SW4geW91ciBkb2N1bWVudCB5b3Ugc2F5ICJPTWV0YeKAmXMga2V5IGluc2lnaHQgaXMgdGhlIHJl
YWxpemF0aW9uIHRoYXQgYWxsIG9mCnRoZSBwYXNzZXMgaW4gYSB0cmFkaXRpb25hbCBjb21waWxl
ciBhcmUgZXNzZW50aWFsbHkgcGF0dGVybiBtYXRjaGluZwpvcGVyYXRpb25zIi4gSSB0aGluayB0
aGlzIGlzIHRoZSBtb3N0IGltcG9ydGFudCBzdGF0ZW1lbnQgaW4gdGhlIHdob2xlCmRvY3VtZW50
LiBXaGF0IHlvdSBoYXZlIGJlZW4gY2FsbGluZyBQYXR0ZXJuIE1hdGNoaW5nIEkgaGF2ZSBiZWVu
IGNhbGxpbmcKVHJhbnNmb3JtYXRpb24uIFlvdSBoYXZlIG1hZGUgbWUgcmVhbGl6ZSB0aGF0IHRo
ZSBUcmFuc2Zvcm1hdGlvbiBwYXR0ZXJuIGlzCmEgc3VwZXIgc2V0IG9mIHRoZSBTdGF0ZSBNYWNo
aW5lIGFuZCBWaXNpdG9yIHBhdHRlcm5zIGFzIHlvdSBleHBsYWluZWQuIFRoaXMKY29tcGxldGVs
eSBibGV3IG15IG1pbmQuIEkgaGFkIGJlZW4gcmVseWluZyBvbiBNR3JhbW1hciB0byBkbyBhbGwg
b2YgbXkKdGV4dHVhbCBwYXJzaW5nIGJ1dCB0aGF0IHN0aWxsIGxlYXZlcyB0aGUgcHJvY2VzcyBv
ZiB0cmFuc2Zvcm1pbmcgdGhlCnJlc3VsdGluZyBBU1QgaW50byBzb21ldGhpbmcgbWVhbmluZ2Z1
bC4gUmVhZGluZyB0aGF0IHNlbnRlbmNlIG9mIHlvdXJzCnN1ZGRlbmx5IG1hZGUgbWUgcmVhbGl6
ZSB0aGF0IHRyYW5zZm9ybWluZyB0ZXh0IHdhcyBsaXR0ZXJhbGx5IHRoZSBleGFjdApzYW1lIGNv
bmNlcHQgYXMgdHJhbnNmb3JtaW5nIG9iamVjdHMgYW5kIHRoYXQgSSBjb3VsZCBjcmVhdGUgb25l
IGNvcmUKbGlicmFyeSB0aGF0IHdhcyB0aGUgYmFzaXMgZm9yIGFsbCBvZiB0aGUgcGhhc2VzIG9m
IHRoZSBjb21waWxlci4KCkFuZCB3aGF0IGlzIHJlYWxseSBibG93aW5nIG15IG1pbmQgaXMgdGhl
IHJlYWxpemF0aW9uIHRoYXQgd2l0aCB0aGVzZSB0b29scwppbiBoYW5kIHlvdSBjYW4gZXhwcmVz
cyBvdGhlciBkZXNpZ24gcGF0dGVybnMgYXMgRFNMcywgdGhlcmVmb3JlIHdpdGggdGhpcwpvbmUg
cGF0dGVybiB5b3UgY2FuIGV4cHJlc3MgYW55IGFwcGxpY2F0aW9uIGFzIGxheWVycyBvZiBhYnN0
cmFjdGlvbnMuLi4KY29tcGxldGVseSBnZW5lcmF0aXZlIGRvbWFpbiBkcml2ZW4gYXBwbGljYXRp
b25zLiBJIGRvbid0IHRoaW5rIGl0cyBhbgpleGFnZ2VyYXRpb24gdG8gc2F5IHRoYXQgdGhlIGlk
ZWFzIHB1dCBmb3J0aCBoZXJlIGluIE9NZXRhIGFyZSBhIHVuaWZ5aW5nCnRoZW9yeSBvZiBjb21w
aWxhdGlvbi4gSSBoYXZlIG5vdCBiZWVuIGZvcm1hbGx5IHRyYWluZWQgaW4gY29tcGlsZXJzIHNv
Cm1heWJlIEknbSBsZXR0aW5nIG15IGV4Y2l0ZW1lbnQgZ2V0IGF3YXkgd2l0aCBtZSBidXQgcmVh
ZGluZyB5b3VyIHdvcmsgaGFzCmJlZW4gcmV2ZWxhdG9yeSBmb3IgbWUsIHNvIGF0IHRoZSB2ZXJ5
IGxlYXN0IHlvdSBzaG91bGQgYmUgcHJvdWQgdG8gaGF2ZQppbnNwaXJlZCBvbmUgcGVyc29uLiBJ
IGhvcGUgSSdtIG1ha2luZyBzb21lIHNlbnNlIGhlcmUsIHRob3VnaCBJJ20gc3VyZQp5b3UndmUg
Y29tZSB0byBzaW1pbGFyIGNvbmNsdXNpb25zIGxvbmcgYWdvLiBUaGFuayB5b3UgdmVyeSBtdWNo
IGZvciB5b3VyCndvcmshCgotLSAKSnVzdGluIENoYXNlCmh0dHA6Ly93d3cuanVzdG5idXNpbmVz
cy5jb20KLS0tLS0tLS0tLS0tLS0gbmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tCkFuIEhUTUwgYXR0
YWNobWVudCB3YXMgc2NydWJiZWQuLi4KVVJMOiBodHRwOi8vdnByaS5vcmcvcGlwZXJtYWlsL29t
ZXRhL2F0dGFjaG1lbnRzLzIwMDkxMjA1L2UzMGZkZWVjL2F0dGFjaG1lbnQuaHRtCg==


More information about the OMeta mailing list