Was ist los mit dieser LL-Grammatik? (sehr kurze)

  •  S --> Ta | b | Sc
    T --> Tc | λ
     

    Dies ist keine LL-Grammatik, aber ich brauche es, damit ich eine Analysetabelle machen kann. Das Problem ist, dass es mir egal ist, wie sehr ich es auch versuche, es zu einer LL-Grammatik zu machen. Kann jemand bitte helfen, indem er eine LL-Grammatik macht? Es ist nicht so groß und ich bin sehr verwirrt.

    14 August 2012
    Kaveh
1 answer
  • Beachten Sie zunächst, dass $ T = c ^ * $ (unter Verwendung der Syntax regulärer Ausdrücke). Wir können Ihre Grammatik also umschreiben in:

     S --> c*a | b | Sc
     

    Nochmals umschreibend können wir sagen, dass $ S = (c ^ * a | b) c ^ * $, also ist $ S $ regulär. Es ist nicht schwer, eine Grammatik für diese Sprache zu entwickeln:

     S --> T a T | b T
    T --> c T | λ
     

    Allgemeiner beim Versuch Grammatiken in $ LL $ -Form umschreiben, zuerst wird die linke Rekursion mit Standardtechniken entfernt (z. B. hier ). . Dann versucht man, alle verbleibenden Konflikte zu entfernen, für die keine allgemeinen Techniken bekannt sind - versuchen Sie einfach herauszufinden, was der Konflikt bedeutet, und versuchen Sie, ihn entsprechend zu lösen.

    07 October 2012
    Justin Standard