Die Anerkennung der macht der "moderne" regexes

Welche Klasse von Sprachen, für die wirkliche moderne regexes eigentlich erkennen?

Wann immer es gibt eine unbegrenzte Länge erfassende Gruppe mit einem back-Referenz (z.B. (.*)_\1) ein regex ist jetzt matching eine nicht-reguläre Sprache. Aber dies alleine ist nicht genug, zu entsprechen, so etwas wie S ::= '(' S ')' | ε — Kontext-freie Sprache von passenden Paare von Klammern.

Rekursive regexes (die sind mir neu, aber ich bin sicher existieren in Perl und PCRE) erkennt zumindest die meisten Energiesparlampen.

Hat jemand gemacht, oder Lesen Sie keine Forschung in diesem Bereich? Was sind die Einschränkungen dieser "modernen" regexes? Erkennen Sie streng mehr oder weniger streng als die CFGs, LL-oder LR-Grammatiken? Oder tun es existieren beide Sprachen erkannt werden kann durch ein regex aber nicht eine CFG und das Gegenteil?

Links zu relevanten Papiere wäre sehr geschätzt werden.

  • Ich weiß nicht, einer formellen Arbeit, in der die Berechenbarkeit Klasse der Probleme, die lösbar durch rekursive Muster. Ich weiß, dass Ihre rekursive Produktion oben ist ziemlich leicht genug, kodiert als eine rekursive Muster in PCRE oder Perl.
  • Wäre das besser geeignet, um cstheory.stackexchange.com ?
  • Möchten Sie vielleicht einen Blick auf diese links (sind alle von der Perl-community, sondern enthalten auch nützliche Informationen): perl.plover.com/yak/regex/samples/slide083.html perlmonks.org/?node_id=660316 perlmonks.org/?node_id=308283
  • ich weiß nicht wirklich halten dies für eine "Forschung-level-Frage", wie es wahrscheinlich ist, gewesen getan zu Tode... ich könnte versuchen, stellen Sie es dort, wenn ich nicht alles hören...
  • Nur damit alle informiert sind... nur die 2. Referenz die Sie gab, deckt rekursive regexes mit Gruppe Rekursion statt über den code einfügt, das ist schade, weil die 3. ref ist die Art von Diskussion, die @tobyodavies sucht. Jedoch, es könnte immer noch gelten.
  • sicher, aber es ist eine theoretische Frage, und die Gemeinschaft an cstheory ist eine viel speziellere Zielgruppe. Es Lautstärke ist auch niedriger, so dass es weniger Chancen, Ihre Frage verloren zu gehen in der Flut von leichter beantwortbar lieben. Ich will einfach nur, um zu sehen, Ihre Frage eine Antwort bekommen.
  • Alter post, aber ich habe nach diesem link mehrmals: nikic.github.io/2012/06/15/...

InformationsquelleAutor tobyodavies | 2011-01-30
Schreibe einen Kommentar