Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Σχετικά έγγραφα
Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 5 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Απάντηση: (func endfunc)-([a-za-z])+

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Θέματα Μεταγλωττιστών

Κεφάλαιο 2: Τυπικές γλώσσες

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ.

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Συντακτική Ανάλυση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση II

Μεταγλωττιστές. Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

Μεταγλωττιστές. Ενότητα 8: Συντακτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Γλώσσες Χωρίς Συμφραζόμενα

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση IV. Εαρινό Εξάμηνο Lec 12 01/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Θέματα Μεταγλωττιστών

Top Down Bottom Up. Συντακτική Ανάλυση. Συντακτική Ανάλυση για Γραµµατικές χωρίς Συµφραζόµενα (top-down - Earley)

Θέματα Μεταγλωττιστών

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

. visual basic. int sum(int a, int b){ return a+b;} : : :

Κεφάλαιο 4: Συντακτική ανάλυση

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση με το Εργαλείο BISON

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες

Μεταγλωττιστές. μια φοιτητική προσέγγιση

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση VIΙ. Εαρινό Εξάμηνο Lec 15 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Σειρά Προβλημάτων 3 Λύσεις

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII. Εαρινό Εξάμηνο Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

Α Β (ΟΧΙ Α) Η Β Α ΚΑΙ Β Α Η Β ΨΕΥ ΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΨΕΥ ΗΣ

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Σειρά Προβλημάτων 3 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις

Μεταγλωττιστές. Εργαστήριο 5. Εισαγωγή στο BISON. Γεννήτρια Συντακτικών Αναλυτών. 2 η Φάση Μεταγλώττισης Συντακτική Ανάλυση

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Λογισμικό Συστήματος. Κλειώ Σγουροπούλου

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Σειρά Προβλημάτων 3 Λύσεις

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Συντακτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Λεκτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

Παραδείγματα Απαλοιφή Gauss Απαλοιφή Gauss-Jordan Παραγοντοποίηση LU, LDU

ΗΥ101: Εισαγωγή στην Πληροφορική

Α Β (ΟΧΙ Α) Η Β Α ΚΑΙ Β Α Η Β ΨΕΥ ΗΣ ΑΛΗΘΗΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα

Σειρά Προβλημάτων 3 Λύσεις

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Σημασιολογική Ανάλυση

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

Σειρά Προβλημάτων 3 Λύσεις

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Γλώσσες Χωρίς Συμφραζόμενα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Δομές Δεδομένων & Αλγόριθμοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

aab aabb aaabb aaaabb aaaabb aaaabb

Εργαλείο Μετατροπής Αρχείων

Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών (Κοζάνη) Χειμ. Εξ '15

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

Μη γράφετε στο πίσω μέρος της σελίδας

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

Transcript:

Γιώργος Δημητρίου Μάθημα 4 ο

Συντακτική Ανάλυση Επαλήθευση της σύνταξης του προγράμματος Κατασκευή συντακτικού δέντρου Η κεντρική φάση της Μετάφρασης Οδηγούμενης από τη Σύνταξη Από εδώ ξεκινά η παραγωγή ενδιάμεσου κώδικα Μηνύματα ελέγχου λαθών Εισαγωγή/Προσθήκη πληροφορίας στον ΠΣ

Μέθοδοι Συντακτικής Ανάλυσης Ντετερμινιστικές / Μη ντετερμινιστικές μέθοδοι Διφορούμενες γραμματικές Από πάνω προς τα κάτω ΣΑ πρόβλεψης της επόμενης λεκτικής μονάδας Από κάτω προς τα πάνω ΣΑ ολίσθησης/ελάττωσης

Ορισμοί: Σύνολο FIRST G = (T, N, P, S) Έστω (T N)* Το σύνολο FIRST( ) Τ { } ορίζεται ως εξής: Εάν * a, a T, (T N)* τότε a FIRST( ) Εάν *, τότε FIRST( )

Ορισμοί: Σύνολο FOLLOW G = (T, N, P, S) Έστω A N Το σύνολο FOLLOW(A) Τ {EOF} ορίζεται ως εξής: Εάν S * Aa,, (T N)*, a T, τότε a FOLLOW(A) Εάν S * A, (T N)* τότε EOF FOLLOW(A)

Υπολογισμός Συνόλων FIRST Αρχικοποίηση FIRST(A), για κάθε Α N Αρχικοποίηση FIRST( ), για κάθε επίθεμα (T N)* δεξιών μελών των κανόνων της G Επανάλαβε Α : FIRST(A) := FIRST(A) FIRST( ) επίθεμα = Α, όπου (T N)* : FIRST( ) := FIRST( ) (FIRST(A) - { }) Αν FIRST(A) : FIRST( ) := FIRST( ) FIRST( ) μέχρι να μην υπάρχει μεταβολή στα σύνολα

Υπολογισμός Συνόλων FOLLOW Αρχικοποίηση FOLLOW(A), για κάθε Α N Επανάλαβε A B, όπου A,B N,, (T N)* : FOLLOW(B) := FOLLOW(B) (FIRST( ) - { }) Αν FIRST( ) : FOLLOW(B) := FOLLOW(B) FOLLOW(A) μέχρι να μην υπάρχει μεταβολή στα σύνολα

Παράδειγμα Για τη γραμματική: E T E E + T E ε T F T T * F T ε F ( E ) id

Παράδειγμα Σύνολα FIRST: Αρχικοποίηση 1η επανάληψη 2 η επανάληψη 3η επανάληψη 4η επανάληψη E { (, id } E { +, ε } T { (, id } T { *, ε } F { (, id } T E { (, id } + T E { + } F T { (, id } * F T { * } ( E ) { ( } E ) { (, id } ) { ) } id { id }

Παράδειγμα Σύνολα FOLLOW: Αρχικοποίηση 1 η επανάληψη 2 η επανάληψη E { EOF } { EOF, ) } E { EOF, ) } T { +, EOF, ) } T { +, EOF, ) } F { *, +, EOF, ) }

ΣΑ από Πάνω προς τα Κάτω Ξεκίνημα με το αρχικό σύμβολο της γραμματικής Επίλεξε έναν κανόνα με αριστερό μέλος το τρέχον σύμβολο ανάλογα με την είσοδο Κατασκεύασε ένα δέντρο με ρίζα το σύμβολο αυτό και παιδιά τα σύμβολα του δεξιού μέλους του κανόνα Επανάλαβε για κάθε μη τερματικό από τα σύμβολα αυτά

ΣΑ LL(k) Σειρά επεξεργασίας των μη τερματικών συμβόλων από το δεξιό μέλος Από αριστερά προς τα δεξιά Επιλογή κανόνα Με βάση τις επόμενες k λεκτικές μονάδες Ανάγνωση εισόδου από αριστερά προς τα δεξιά

Γραμματικές LL(1) Για να είναι μια γραμματική LL(1), πρέπει να μην έχει συγκρούσεις FIRST/FIRST και FIRST/FOLLOW : Για δύο κανόνες Α και Α, : FIRST( ) FIRST( ) = Για ένα μη τερματικό σύμβολο Α * : FIRST(A) FOLLOW(A) =

Γραμματικές LL(1) Συγκρούσεις FIRST/FIRST και FIRST/FOL- LOW προκύπτουν συνήθως από: Αριστερή αναδρομή (άμεση ή έμμεση) Δύο εναλλακτικούς κανόνες με κοινό πρόθεμα στα δεξιά μέλη τους Δύο εναλλακτικούς κανόνες τα δεξιά μέλη των οποίων παράγουν την κενή συμβολοσειρά

Μετατροπή Γραμματικής σε LL(1) Μια γραμματική που δεν είναι LL(1) πιθανά να μπορεί να μετατραπεί σε LL(1) με μια σειρά μετασχηματισμών: Αριστερή παραγοντοποίηση Απαλοιφή αριστερής αναδρομής Αντικατάσταση Η μετατροπή δεν είναι εφικτή για όλες τις γραμματικές που δεν είναι LL(1)

Αριστερή Παραγοντοποίηση Εάν υπάρχουν κανόνες της μορφής: Α 1 n τότε οι κανόνες μετασχηματίζονται ως εξής: Α Β Β 1 n Μη προφανή κοινά προθέματα φανερώνονται με αντικατάσταση

Απαλοιφή Αριστερής Αναδρομής Αν υπάρχουν κανόνες της μορφής: Α Α 1 A n 1 m τότε η αναδρομή μετασχηματίζεται ως εξής: Α 1 B m B B 1 B n B Έμμεση αναδρομή μετασχηματίζεται εύκολα σε άμεση με αντικατάσταση

ΣΑ Αναδρομικής Κατάβασης Μια ρουτίνα για την ανάλυση κάθε μη τερματικού συμβόλου Α με Α α 1... α n : i = 1,, n: αν token FIRST(α i ) τότε κώδικας για την αναγνώριση της α i αλλιώς αν ε FIRST(α 1 )... FIRST(α n ) συντακτικό σφάλμα αλλιώς αν token FOLLOW(A) συντακτικό σφάλμα

ΣΑ Αναδρομικής Κατάβασης Ο κώδικας αναγνώρισης μιας συμβολοσειράς (από αριστερά προς τα δεξιά) περιλαμβάνει: Κλήση ρουτίνας για μη τερματικό σύμβολο Έλεγχο ταύτισης με την επόμενη λεκτική μονάδα (ΛΜ) στην είσοδο για τερματικό σύμβολο Τίποτα (έλεγχο με το FOLLOW του αριστερού μέλους) για κενή συμβολοσειρά Παράθεση κώδικα για παράθεση συμβόλων Εύκολος χειρισμός τελεστή * σε κανόνες

Παράδειγμα Για τη γραμματική: E T (+ T)* T F (* F)* F ( E ) id καλούμε το ΣΑ ως εξής: token := επόμενη ΛΜ κάλεσε τη ρουτίνα για το Ε αν token EOF τότε συντακτικό σφάλμα

Παράδειγμα Για τον κανόνα: Ε Τ (+ Τ)* η ρουτίνα ΣΑ θα είναι: κάλεσε τη ρουτίνα για το Τ όσο token = + κάνε token := επόμενη ΛΜ κάλεσε τη ρουτίνα για το Τ τέλος βρόχου

Παράδειγμα Για τον κανόνα: T F (* F)* η ρουτίνα ΣΑ θα είναι: κάλεσε τη ρουτίνα για το F όσο token = * κάνε token := επόμενη ΛΜ κάλεσε τη ρουτίνα για το F τέλος βρόχου

Παράδειγμα Για τους κανόνες: F ( E ) id η ρουτίνα ΣΑ θα είναι: αν token = ( τότε token := επόμενη ΛΜ κάλεσε τη ρουτίνα για το Ε αν token = ) τότε token := επόμενη ΛΜ αλλιώς συντακτικό σφάλμα αλλιώς αν token = id τότε token := επόμενη ΛΜ αλλιώς συντακτικό σφάλμα

ΣΑ LL(1) με χρήση ΑΣ συμβολοσειρά εισόδου a 1 a 2... a n EOF x m... Πίνακας ΣΑ LL(1) x 2 x 1 στοίβα Συντακτικός Αναλυτής LL(1)

Πίνακας ΣΑ LL(1) Αρχικοποίηση Μ Για κάθε κανόνα Α a FIRST( ) : M(A,a) := Α Εάν FIRST( ) τότε: a FOLLOW(A) : M(A,a) := Α Εάν EOF FOLLOW(A) : M(A,EOF) := Α

Λειτουργία ΑΣ LL(1) Η = N T, h 0 = S Κινήσεις ΑΣ: Αν η κορυφή της στοίβας περιέχει το ίδιο σύμβολο με το επόμενο σύμβολο εισόδου, τότε αυτό αφαιρείται και προχωράμε κατά ένα σύμβολο Αν η κορυφή της στοίβας περιέχει το μη τερματικό σύμβολο Α, το επόμενο σύμβολο εισόδου είναι το a, και ορίζεται το στοιχείο Μ(Α,a), τότε το Α αντικαθίσταται με το δεξί μέλος του κανόνα Μ(Α,a), το οποίο εισάγεται στη στοίβα αντίστροφα Σε κάθε άλλη περίπτωση έχουμε σφάλμα

Παράδειγμα Για τη γραμματική: E T E E + T E ε T F T T * F T ε F ( E ) id

Παράδειγμα Πίνακας ΣΑ LL(1): id + * ( ) EOF E E T E E T E E E + T E E ε E ε T T F T T F T T T ε T * F T T ε T ε F F id F ( E )

Παράδειγμα Αναγνώριση συμβολοσειράς id + id * id : βήμα στοίβα είσοδος κίνηση 0 E id + id * id $ κανόνας E T E 1 E T id + id * id $ κανόνας T F T 2 E T F id + id * id $ κανόνας F id 3 E T id id + id * id $ απορρόφηση id 4 E T + id * id $ κανόνας T ε 5 E + id * id $ κανόνας E + T E 6 E T + + id * id $ απορρόφηση + 7 E T id * id $ κανόνας T F T 8 E T F id * id $ κανόνας F id 9 E T id id * id $ απορρόφηση id 10 E T * id $ κανόνας T * F T 11 E T F * * id $ απορρόφηση * 12 E T F id $ κανόνας F id 13 E T id id $ απορρόφηση id 14 E T $ κανόνας T ε 15 E $ κανόνας E ε 16 $ αποδοχή