[Ometa] Direct left recursion with specific ending

Justin Chase justin.m.chase at gmail.com
Wed May 25 16:31:58 PDT 2011


VmVyeSBpbnRlcmVzdGluZyEgSSBkaWQgbm90IHJlYWxpemUgdGhhdCB5b3UgY291bGQgcGFzcyB0
aGUgcHJvZHVjdGlvbnMgb2YKcHJldmlvdXMgcnVsZXMgaW50byBvdGhlciBydWxlcyBsaWtlIGlu
IE0yLCB0aGF0IGlzIHZlcnkgY29vbC4gSSBsaWtlIHRoYXQKc29sdXRpb24gdmVyeSBtdWNoLiBD
YW4geW91IGdpdmUgbWUgYW4gZXhhbXBsZSBvZiBhIHJpZ2h0IHJlY3Vyc2l2ZQpzb2x1dGlvbiwg
ZGVzcGl0ZSB0aGUgcmVzdWx0aW5nIHRyZWU/IEknbSBoYXZpbmcgYSBoYXJkIHRpbWUgZW52aXNp
b25pbmcgaXQuCgoKCk9uIFdlZCwgTWF5IDI1LCAyMDExIGF0IDQ6MjIgUE0sIEFsZXNzYW5kcm8g
V2FydGggPGFsZXh3YXJ0aEBnbWFpbC5jb20+d3JvdGU6Cgo+IEhpIEp1c3RpbiwKPgo+IFRoYXQn
cyBhbiBpbnRlcmVzdGluZyBxdWVzdGlvbi4uLiB0aGUga2luZCBvZiBwcm9wZXJ0eSB5b3UncmUg
dHJ5aW5nIHRvCj4gZXhwcmVzcyB3b3VsZCBiZSBlYXN5IHRvIGVuZm9yY2UgdXNpbmcgYSByaWdo
dC1yZWN1cnNpdmUgcnVsZSwgYnV0IHRoYXQKPiB3b3VsZCBzY3JldyB1cCB0aGUgc2hhcGUgb2Yg
eW91ciBwYXJzZSB0cmVlLgo+Cj4gVGhlIHNpbXBsZXN0IHNvbHV0aW9uIEkgY2FuIHRoaW5rIG9m
IG9mZiB0aGUgdG9wIG9mIG15IGhlYWQgaXMgdG8gY29uc3VtZQo+IHRoZSBlbnRpcmUgZXhwcmVz
c2lvbiB3aXRoIGEgbGVmdC1yZWN1cnNpdmUgcnVsZSwgd2l0aG91dCB3b3JyeWluZyBhYm91dAo+
IHdoaWNoIHBhdHRlcm4gc2hvd3MgdXAgbGFzdCwgYW5kICp0aGVuKiBpbnNwZWN0IHRoZSByZXN1
bHRpbmcgcGFyc2UgdHJlZSB0bwo+IHNlZSBpZiBpdCBvYmV5cyB0aGUgcHJvcGVydHkgeW91IGNh
cmUgYWJvdXQuIEhlcmUncyBob3cgeW91IG1pZ2h0IGRvIHRoYXQgaW4KPiBPTWV0YS9KUzoKPgo+
IG9tZXRhIE0gPDogUGFyc2VyIHsKPiAgIGlkZW50ID0gPGxldHRlciAobGV0dGVyIHwgZGlnaXQp
Kj4sCj4gICBleHByID0gZXhwcjp4ICIuIiBpZGVudDpmIC0+IFsnRmllbGRBY2Nlc3MnLCB4LCBm
XQo+ICAgICAgICB8IGV4cHI6eCAiKCIgIikiIC0+IFsnQ2FsbCcsIHhdCj4gICAgICAgIHwgaWRl
bnQ6eCAtPiBbJ1ZhcicsIHhdCj4gfQo+Cj4gTS5tYXRjaEFsbCgneC55LnooKScsICJleHByIikK
PiBNLm1hdGNoQWxsKCd4LnkoKS56JywgImV4cHIiKQo+IE0ubWF0Y2hBbGwoJ3goKS55LnonLCAi
ZXhwciIpCj4KPgo+IG9tZXRhIE0yIDw6IE0gewo+ICAgZXhwcjIgPSBleHByOmUgdmFsaWRhdGUo
ZSkgLT4gZSwKPiAgIHZhbGlkYXRlID0gWydGaWVsZEFjY2VzcycgOnggOmZdCj4gfQo+Cj4gTTIu
bWF0Y2hBbGwoJ3gueS56KCknLCAiZXhwcjIiKQo+IE0yLm1hdGNoQWxsKCd4LnkoKS56JywgImV4
cHIyIikKPiBNMi5tYXRjaEFsbCgneCgpLnkueicsICJleHByMiIpCj4KPiBNJ3MgZXhwciBydWxl
IG1hdGNoZXMgYWxsIHRocmVlIGlucHV0cywgd2hlcmVhcyBNMidzIGV4cHIyIHJ1bGUgb25seQo+
IG1hdGNoZXMgdGhlIGxhc3QgdHdvLiBZb3UgY2FuIHRyeSB0aGlzIGZvciB5b3Vyc2VsZiBoZXJl
Ogo+IGh0dHA6Ly93d3cudGlubGl6emllLm9yZy9vbWV0YS1qcy8janVzdGluCj4KPiBDaGVlcnMs
Cj4gQWxleAo+Cj4KPiBPbiBXZWQsIE1heSAyNSwgMjAxMSBhdCA2OjE1IEFNLCBKdXN0aW4gQ2hh
c2UgPGp1c3Rpbi5tLmNoYXNlQGdtYWlsLmNvbT53cm90ZToKPgo+PiBTdXBwb3NlIEknbSB1c2lu
ZyBkaXJlY3QgbGVmdCByZWN1cnNpb24gdG8gcGFyc2UgZXhwcmVzc2lvbiB0cmVlcy4gSSdsbAo+
PiBwcm92aWRlIHNvbWUgcHNldWRvIHBhdHRlcm5zOgo+Pgo+PiBSZWZlcmVuY2VFeHByZXNzaW9u
ID0gImEiLi4ieiIrCj4+IEludm9rZUV4cHJlc3Npb24gPSBSZWZlcmVuY2VFeHByZXNzaW9uICIo
IiAiKSIKPj4gQ2FsbGFibGVFeHByZXNzaW9uID0gSW52b2tlRXhwcmVzc2lvbiB8IFJlZmVyZW5j
ZUV4cHJlc3Npb24KPj4KPj4gRXhwcmVzc2lvbiA9IEV4cHJlc3Npb24gIi4iIENhbGxhYmxlRXhw
cmVzc2lvbiB8IENhbGxhYmxlRXhwcmVzc2lvbgo+Pgo+PiBUaGlzIHdpbGwgcGFyc2UgYWxsIG9m
IHRoZSBmb2xsb3dpbmc6Cj4+ICJ4LnkueigpIgo+PiAieC55KCkueiIKPj4gIngoKS55LnoiCj4+
IGV0Yy4KPj4KPj4gQnV0IHRoZSB0cm91YmxlIEknbSBoYXZpbmcgaXMgaW4gdHJ5aW5nIHRvIHNw
ZWNpZnkgZXhhY3RseSB3aGljaCBwYXR0ZXJuCj4+IHNob3VsZCBiZSBsYXN0LiBTdXBwb3NlIHlv
dSB3YW50ZWQgYW4gZXhwcmVzc2lvbiB0aGF0IGlzIHJlcXVpcmVkIHRvIGVuZAo+PiB3aXRoIGEg
UmVmZXJlbmNlRXhwcmVzc2lvbiBzbyB0aGF0IG9ubHkgdGhlc2Ugd291bGQgcGFyc2U6Cj4+ICJ4
LnkueiIKPj4gIngueSgpLnoiCj4+ICJ4KCkueS56Igo+PiBldGMuCj4+Cj4+IEkgdHJpZWQgZXhw
ZXJpbWVudGluZyB3aXRoIHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4+Cj4+IEV4cHJlc3Npb24oZW5k
KSA9IEV4cHJlc3Npb24oZW5kKSAiLiIgZW5kIHwgRXhwcmVzc2lvbihlbmQpICIuIgo+PiBFeHBy
ZXNzaW9uKGVuZCkgfCBDYWxsYWJsZUV4cHJlc3Npb24KPj4gUmVmZXJlbmNlRXhwcmVzc2lvbldp
dGhUYXJnZXQgPSBFeHByZXNzaW9uKFJlZmVyZW5jZUV4cHJlc3Npb24pCj4+Cj4+IEJ1dCB0aGF0
IGRvZXNuJ3Qgd29yay4gSXQgc2VlbXMgdGhhdCB0aGUgR3JvdyBMUiBmdW5jdGlvbiB3aWxsIGVz
c2VudGlhbGx5Cj4+IGNhdXNlIHRoZSAybmQgY2xhdXNlIHRvIGNvbnN1bWUgYWxsIG9mIHRoZSBp
bnB1dCBhbmQgcmV0dXJuIHN1Y2Nlc3NmdWxseS4KPj4KPj4gSSBhbHNvIHRyaWVkOgo+Pgo+PiBF
eHByZXNzaW9uKGVuZCkgPSAoRXhwcmVzc2lvbihlbmQpICIuIiBDYWxsYWJsZUV4cHJlc3Npb24g
fAo+PiBDYWxsYWJsZUV4cHJlc3Npb24pICIuIiBlbmQKPj4gUmVmZXJlbmNlRXhwcmVzc2lvbldp
dGhUYXJnZXQgPSBFeHByZXNzaW9uKFJlZmVyZW5jZUV4cHJlc3Npb24pCj4+Cj4+IEJ1dCB0aGF0
IGFsc28gZG9lc24ndCB3b3JrIGJlY2F1c2UgdGhlIGZpcnN0IHBhcnQgd2lsbCBhbHNvIGNvbnN1
bWUgYWxsIG9mCj4+IHRoZSBpbnB1dCBhbmQgdGhlICIuIiBlbmQgd2lsbCBoYXZlIG5vdGhpbmcg
bGVmdCB0byByZWFkLiBXaGF0IGlzIHRoZSBwcm9wZXIKPj4gd2F5IHRvIHdvcmsgd2l0aCB0aGUg
R3JvdyBMUiBzdWNoIHRoYXQgaXQgZW5kcyB3aXRoIGEgc3BlY2lmaWMgcGF0dGVybj8KPj4KPj4K
Pj4gLS0KPj4gSnVzdGluIENoYXNlCj4+IGh0dHA6Ly93d3cuanVzdGlubWNoYXNlLmNvbQo+Pgo+
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBPTWV0
YSBtYWlsaW5nIGxpc3QKPj4gT01ldGFAdnByaS5vcmcKPj4gaHR0cDovL3Zwcmkub3JnL21haWxt
YW4vbGlzdGluZm8vb21ldGEKPj4KPj4KPgoKCi0tIApKdXN0aW4gQ2hhc2UKaHR0cDovL3d3dy5q
dXN0aW5tY2hhc2UuY29tCi0tLS0tLS0tLS0tLS0tIG5leHQgcGFydCAtLS0tLS0tLS0tLS0tLQpB
biBIVE1MIGF0dGFjaG1lbnQgd2FzIHNjcnViYmVkLi4uClVSTDogaHR0cDovL3Zwcmkub3JnL3Bp
cGVybWFpbC9vbWV0YS9hdHRhY2htZW50cy8yMDExMDUyNS80NTM4Y2FkZS9hdHRhY2htZW50Lmh0
bQo=


More information about the OMeta mailing list