MODUL 11: PUSHDOWN AUTOMATON

dokumen-dokumen yang mirip
MODUL 6: TEOREMA KLEENE

MODUL 3: Finite Automata

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

Teori Bahasa Formal dan Automata

MODUL 4: Nondeterministic Finite Automata

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

MODUL 7: MINIMISASI FA

MODUL 5: Nondeterministic Finite Automata dengan

PushDown Automata(PDA) Definisi : PDA adalah pasangan 7 tuple M = (Q,, q 0. ), dimana :

MODUL 1: PENGANTAR TEORI BAHASA

MODUL 12: BENTUK-BENTUK SEDERHANA DAN BENTUK-BENTUK NORMAL

Teori Bahasa dan Otomata 1

Pendahuluan. Push Down Atomata. Perbedaan FA dan PDA [7] 4/25/2012 IF-UTAMA 1. Grammar-machine equivalence [3] Latar belakang munculnya konsep PDA

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

Teori Bahasa Formal dan Automata

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rir"l, r;t. .j"s*l!&,. '":*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd

BAB I TEORI BAHASA DAN AUTOMATA

Deterministic Finite Automata

Teori Bahasa Formal dan Automata

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

Contents.

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

2. Review TeoriBahasaFormal danotomata

Non-deterministic Finite Automata Dengan -Move

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

PALINDROM CONTEXT FREE GRAMMAR PADA MESIN PUSH DOWN AUTOMATA

Operasi FA dan Regular Expression

Teori Bahasa Formal dan Automata

anggota alfabet dinamakan simbol terminal atau token.

Teori Bahasa Formal dan Automata

TEORI BAHASA DAN AUTOMATA

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

POHON PENURUNAN Context Free Grammar

DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

DIKTAT TEORI BAHASA DAN OTOMATA

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa & Otomata

TEORI BAHASA DAN OTOMATA [TBO]

8 April 2015 Teori Bahasa dan Otomata

IF-UTAMA 1. Definisi. Grammar. Definisi

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

TEORI BAHASA DAN AUTOMATA

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. dengan perangkat yang digunakan. Beberapa kriteria standar ditentukan agar sistem

TEORI BAHASA DAN OTOMATA [TBO]

Reduksi DFA [Deterministic Finite Automata]

FINITE STATE MACHINE / AUTOMATA

Aplikasi Simulator Mesin Turing Pita Tunggal

PEMODELAN PERANGKAT LUNAK UNTUK PENGERTIAN DETERMINISTIC FINITE AUTOMATA DAN NON-DETERMINISTIC FINITE AUTOMATA

KONSEP GRAMMAR DAN BAHASA

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

PERTEMUAN 9 TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA PENGANTAR

FINITE STATE AUTOMATA

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

Amir Hamzah AKPRIND PRESS 2009

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata

Non-Deterministic Finite Automata

Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner

TEORI BAHASA DAN AUTOMATA

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA)

MODUL 2: Bahasa Regular dan Ekspresi Regular

TEORI BAHASA DAN OTOMATA

GRAMMAR AND LANGUAGE

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

KOSET. Yus Mochamad Cholily Jurusan Pendidikan Matematika Universitas Muhammadiyah Malang

Dasar Teori Bahasa & Grammar

TEORI BAHASA DAN OTOMATA [TBO]

Grammar dan Tingkat Bahasa

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna.

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

PENYEDERHANAAN Context Free Grammar

MODUL TEORI BAHASA DAN AUTOMATA

PENGANTAR GRUP. Yus Mochamad Cholily Jurusan Pendidikan Matematika Universitas Muhammadiyah Malang

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN AUTOMATA

BAB I PENDAHULUAN 1-1

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar

BAHASA REGULER 1. Ekspresi Regular

TEORI BAHASA & OPERASI MATEMATIS (2)

TEORI BAHASA DAN OTOMATA [TBO]

BAB II LANDASAN TEORI

BAB III AUTOMATA HINGGA NON-DETERMINISTIK DAN EKUIVALENSI AHN AHD - GR

Komponen sebuah Kompilator

TEKNIK KOMPILASI Bahasa Regular

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA

Transkripsi:

MODUL 11: PUSHDOWN AUTOMATON Pengantar Pushdown Automaton Dalam pembahasan bahasa regular telah diperkenalkan pula suatu mesin dengan jumlah status yang terbatas atau dikenal dengan nama mesin FA. Karena keterbatasan tempat penyimpanan informasi yang telah terjadi pada string masukan yang sedang dibaca maka bahasa yang dapat dikenalinya pun memiliki sifat yang amat terbatas yaitu bahasa regular. Apabila mesin FA itu dilengkapi oleh suatu storage tak terhingga kapasitasnya serta dengan struktur stack (yaitu struktur dengan aturan FIFO) maka mesin ini mampu menyimpan sejumlah informasi yang disimpan pada saat pembacaan simbol-simbol di bagian depan string, dan dapat dipergunakan pada saat pembacaan simbol-simbol berikutnya dari string. Mekanisme stack yang dimiliki menyebabkan mesin dinamakan Pushdown Automaton (PDA). Untuk dapat mengenali bahasa L = {a i b j i, j 0} maka suatu mesin FA cukup untuk dapat mengenali bahasa ini karena hal yang penting perlu diingat adalah apabila setelah simbol b di baca maka selanjutnya tidak boleh ada lagi simbol a. Keserhanaan pengenalannya terlihat dari jumlah status minimal yang diperlukan untuk mengenalinya. Sementara, tidak ada suatu mesin FA pun yang mengenali L = {a i b j i j 0} karena diperlukan suatu cara yang tidak dimiliki oleh FA untuk menyimpan berapa banyak simbol a yang telah dibaca. Kita ingat bahasa ini merupakan suatu CFL. PDA sanggup mengenali bahasa tersebut karena dengan stack yang tak terbatas kapasitasnya itu setiap simbol a dapat disimpan dan kemudian dipasangkan pada setiap pembacaan b. Jika seluruh simbol dalam string telah dibaca dan tersisa simbol a dalam stack atau setidaknya stack kosong maka string diterima. Jadi dengan stack ini kemampuan mesin menjadi bertambah, dalam arti kelas bahasa yang dapat dikenalinya meningkat. Definisi: Suatu pushdown automaton (PDA) adalah 7-tuple M = (Q, Σ, Γ, q 0, Z 0, A, δ) di mana Q himpunan berhingga status-status Σ himpunan alfabet masukan Γ himpunan alfabet stack q 0 status inisial q 0 Q Z 0 simbol inisial dari stack A himpunan status menerima A Q δ fungsi transisi dengan δ: Q (Σ {Λ}) (subset berhingga dari Q Γ * ). Notasi dan Terminologi Konfigurasi. Setiap saat PDA dinyatakan oleh status, substring yang belum diproses, dan isi stack, yang mana ketiganya disebut konfigurasi mesin saat yang sedang berlangsung. Dari satu konfigurasi mesin bergerak (move) ke konfigurasi lain dengan mengaplikasikan suatu aturan produksi. Pada mesin M, move ini dinotasikan dengan simbol M memperantarai konfigurasi sebelum dan sesudah move. Jika mesin yang mana secara implisit sudah diketahui maka pada identitas mesin tersebut bisa dihilangkan sehingga notasi menjadi. (p, x, α) M (q, y, β) Jika terjadi dalam beberapa ( 0) move maka penulisan dapat dipersingkat dengan simbol * M (atau * jika sudah jelas pada mesin mana). (p, x, α) M M M (q, y, β) dapat dituliskan dengan (p, x, α) * M (q, y, β) Dengan notasi ini maka bahwa suatu string diterima oleh suatu PDA M = (Q, Σ, Γ, q 0, Z 0, A, δ) apabila terdapat sejumlah ( 0) move sehingga ( q 0, x, Z 0 ) * M (q, Λ, α), dengan q A dan α Γ *. Update Version 1.2.1, printed at 10:02 AM, 10/29/01 page 1 of 5

Suatu bahasa L dikatakan diterima oleh mesin M apabila L adalah himpunan seluruh string yang dapat diterima oleh M (kita tulis bahwa L = L(M)). Konfigurasi menerima (accepting configuration) menyatakan konfigurasi dengan statusnya adalah status menerima. Jadi disini tidak peduli bagaimana isi stack-nya; oleh sebab itu situasi ini dikatakan penerimaan dengan status final. Apabila isi stack dipentingkan sementara status tidak maka situasi ini disebut penerimaan dengan stack kosong. Kedua situasi ini ekivalen, dalam arti jika suatu string diterima dengan stack kosong maka juga akan ada mesin M yang dapat menerima string tersebut dengan status final. PDA Deterministik Definisi: Jika M = (Q, Σ, Γ, q 0, Z 0, A, δ) merupakan PDA, M dikatakan PDA deterministik (DPDA) jika tidak terdapat konfigurasi dimana M memiliki sejumlah pilihan kemana ia akan berpindah satu langkah. Dpl, M deterministik jika ia memenuhi dua kondisi berikut. 1. untuk q Q, dan a Σ {Λ}, serta X Γ, maka himpunan δ(q, a, X) paling banyak hanya berisi satu anggota himpunan. 2. Untuk q Q, dan X Γ, maka bila δ(q, Λ, X) maka δ(q, a, X) = untuk setiap a Σ. DCFL Suatu bahasa L disebut CFL Deterministik (DCFL) bila terdapat suatu DPDA yang dapat menerima L. Saat pembahasan bahasa regular, setiap bahasa regular yang dikenali oleh NFA dapat pula dikenali oleh suatu FA, dan sebaliknya, setiap bahasa regular yang dikenali oleh FA dapat pula dikenali oleh suatu NFA. Sifat ini tidak berlaku pada CFL. Setiap bahasa DCFL dapat dibentuk oleh CFG nondeterministik tetapi sebaliknya tidak semua CFL dapat dibentuk oleh DCFG. PDA dari suatu CFG Ide dasar dari pembentukan PDA dari CFG ini adalah memanfaatkan stack yang dimiliki PDA sebagai ruang untuk mengsimulasikan penurunan-penurunan berdasar aturan-aturan produksi grammar. Jadi mesin PDA sebelum membaca string masukan, m Jika G = (V, Σ, S, P) suatu CFG, maka dapat dicari suatu PDA M = (Q, Σ, Γ, q 0, Z 0, A, δ) sehingga L(M) = L(G). M = (Q, Σ, Γ, q 0, Z 0, A, δ) dengan Q = {q 0, q 1, q 2 } Γ = V Σ {Z 0 }, Z 0 (V Σ ) A = {q 2 } δ adalah fungsi transisi yang didefinisikan sebagai berikut. (1) δ(q 0, Λ, Z 0 ) = {(q 1, SZ 0 )} (2) u/ setiap A V, δ(q 1, Λ, A) = {(q 1, α) setiap A α adalah aturan produksi dalam G} (3) u/ setiap a Σ, δ(q 1, a, a) = {(q 1, Λ)} (4) δ(q 1, Λ, Z 0 ) = {(q 2, Z 0 )} Λ,Z 0 /SZ 0 Λ,A/α, untuk setiap (A α) P a,a/λ, untuk setiap a Σ Λ,Z 0 /Z 0 q0 q1 q2 L = {x {a, b} * n a (x) > n b (x)} adalah CFL yang berdasarkan CFG dengan aturan produksi sbb. S a as bss SSb SbS Berdasarkan bukti teorema di atas maka dapat dibuat suatu PDA M = ({q 0, q 1, q 2 }, {a, b}, {S, a, b, Z 0 }, Z 0, {q 2 }, δ) dan fungsi δ dinyatakan dalam tabel berikut. Update Version 1.2.1, printed at 10:02 AM, 10/29/01 page 2 of 5

δ(q 0, Λ, Z 0 ) = {(q 1, SZ 0 )} δ(q 0, Λ, S) = {(q 1, a), (q 1, as), (q 1, bss), (q 1, SSb), (q 1, SbS)} δ(q 1, a, a) = {(q 1, Λ)} δ(q 1, b, b) = {(q 1, Λ)} δ(q 1, Λ, Z 0 ) = {(q 2, Z 0 )} Jika string abbaaa L hendak dikenali oleh PDA ini maka akan terjadi konfigurasi-konfigurasi sbb. δ(q 0, abbaaa, Z 0 ) δ(q 1, abbaaa, SZ 0 ) δ(q 1, abbaaa, SbSZ 0 ) δ(q 1, abbaaa, absz 0 ) δ(q 1, bbaaa, bsz 0 ) δ(q 1, baaa, SZ 0 ) δ(q 1, baaa, bssz 0 ) δ(q 1, aaa, SSZ 0 ) δ(q 1, aaa, asz 0 ) δ(q 1, aa, SZ 0 ) δ(q 1, aa, asz 0 ) δ(q 1, a, SZ 0 ) δ(q 1, a, az 0 ) δ(q 1, Λ, Z 0 ) δ(q 2, Λ, Z 0 ) Untuk string ini PDA berhenti di status menerima q 2 dengan stack kosong (berisi Z 0 ). CFG dari suatu PDA Jika M = (Q, Σ, Γ, q 0, Z 0, A, δ) merupakan PDA yang menerima bahasa L dengan stack kosong, alias L = L e (M)., maka akan terdapat suatu CFG G = (V, Σ, S, P) dengan L(G) = L. Spesifikasi G diperoleh dari M sebagai berikut. V adalah variabel-variabel yang dibentuk sebagai berikut. Pertama adalah suatu variabel awal S. kemudian variabel-variabel lainnya dibuat dengan penamaan tertentu yang merupakan bentukan dari semua kemungkinan tiga harga: p, A, q (untuk setiap p dan q Q dan untuk setiap A Γ) sebagai berikut. V = {S} {[ p, A, q] A Γ, dan p,q Q} P adalah produksi-produksi yang dibentuk tepatnya hanya menggunakan aturan pembentukan berikut ini. 1. Untuk setiap status q Q, dibuat produksi S [q 0, Z 0, q]. 2. Untuk setiap status-status q, q 1 Q, setiap simbol a Σ {Λ}, dan setiap simbol stack A Γ, apabila dalam δ(q, a, A) terdapat (q 1, Λ), maka dibuat produksi-produksi berbentuk [q, A, q 1 ] a. 3. Untuksetiap status-status q, q 1 Q, setiap simbol a Σ {Λ}, dan setiap simbol stack A Γ, apabila dalam δ(q, a, A) terdapat (q 1, B 1 B 2 B m ) dengan m 1, maka untuk setiap kemungkinan status-status q 2,, q m+1 Q dibuat produksi-produksi berbentuk [q, A, q m+1 ] a[q 1, B 1, q 2 ][ q 2, B 2, q 2 ] [q m, B m, q m+1 ]. : Berikut ini tabel transisi dari suatu PDA untuk mengenali bahasa L = {xcx r x {a, b} * } (di samping tabel dituliskan nomor dari masing-masing aturan move untuk memudahkan penunjukkan nanti). Status Input Simbol stack move q 0 a Z 0 (q 0, AZ 0 ) (1) q 0 b Z 0 (q 0, BZ 0 ) (2) q 0 a A (q 0, AA) (3) q 0 b A (q 0, BA) (4) q 0 b B (q 0, BB) (5) q 0 a B (q 0, AB) (6) q 0 c Z 0 (q 1, Z 0 ) (7) q 0 c A (q 1, A) (8) q 0 c B (q 1, B) (9) q 1 a A (q 1, Λ) (10) q 1 b B (q 1, Λ) (11) q 1 Λ Z 0 (q 1, Λ) (12) Berdasarkan aturan pertama maka dibuat S [q 0, Z 0, q 0 ] S [q 0, Z 0, q 1 ] Update Version 1.2.1, printed at 10:02 AM, 10/29/01 page 3 of 5

Berdasarkan aturan kedua dan aturan move ke (10) dan ke (11) diperoleh [q 1, A, q 1 ] a [q 1, B, q 1 ] b Berdasarkan aturan kedua dan aturan move ke (12) diperoleh [q 1, Z 0, q 1 ] Λ Berdasarkan aturan ke tiga dan aturan move ke (8) diperoleh [q 0, Z 0, q 0 ] c[q 1, Z 0, q 0 ] [q 0, Z 0, q 1 ] c[q 1, Z 0, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (9) diperoleh [q 0, A, q 0 ] c[q 1, A, q 0 ] [q 0, A, q 1 ] c[q 1, A, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (10) diperoleh [q 0, B, q 0 ] c[q 1, B, q 0 ] [q 0, B, q 1 ] c[q 1, B, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (1) diperoleh [q 0, Z 0, q 0 ] a[q 0, A, q 0 ][q 0, Z 0, q 0 ] [q 0, Z 0, q 0 ] a[q 0, A, q 1 ][q 1, Z 0, q 0 ] [q 0, Z 0, q 1 ] a[q 0, A, q 0 ][q 0, Z 0, q 1 ] [q 0, Z 0, q 1 ] a[q 0, A, q 1 ][q 1, Z 0, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (2) diperoleh [q 0, Z 0, q 0 ] b[q 0, B, q 0 ][q 0, Z 0, q 0 ] [q 0, Z 0, q 0 ] b[q 0, B, q 1 ][q 1, Z 0, q 0 ] [q 0, Z 0, q 1 ] b[q 0, B, q 0 ][q 0, Z 0, q 1 ] [q 0, Z 0, q 1 ] b[q 0, B, q 1 ][q 1, Z 0, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (3) diperoleh [q 0, A, q 0 ] a[q 0, A, q 0 ][q 0, A, q 0 ] [q 0, A, q 0 ] a[q 0, A, q 1 ][q 1, A, q 0 ] [q 0, A, q 1 ] a[q 0, A, q 0 ][q 0, A, q 1 ] [q 0, A, q 1 ] a[q 0, A, q 1 ][q 1, A, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (4) diperoleh [q 0, A, q 0 ] b[q 0, B, q 0 ][q 0, A, q 0 ] [q 0, A, q 0 ] b[q 0, B, q 1 ][q 1, A, q 0 ] [q 0, A, q 1 ] b[q 0, B, q 0 ][q 0, A, q 1 ] [q 0, A, q 1 ] b[q 0, B, q 1 ][q 1, A, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (5) diperoleh [q 0, B, q 0 ] b[q 0, B, q 0 ][q 0, B, q 0 ] [q 0, B, q 0 ] b[q 0, B, q 1 ][q 1, B, q 0 ] [q 0, B, q 1 ] b[q 0, B, q 0 ][q 0, B, q 1 ] [q 0, B, q 1 ] b[q 0, B, q 1 ][q 1, B, q 1 ] Berdasarkan aturan ke tiga dan aturan move ke (6) diperoleh [q 0, B, q 0 ] a[q 0, A, q 0 ][q 0, B, q 0 ] [q 0, B, q 0 ] a[q 0, A, q 1 ][q 1, B, q 0 ] [q 0, B, q 1 ] a[q 0, A, q 0 ][q 0, B, q 1 ] [q 0, B, q 1 ] a[q 0, A, q 1 ][q 1, B, q 1 ] Menghasilkan total 35 aturan produksi. Aturan-aturan produksi di atas bisa ditulis ulang dengan penamaan variabel yang lebih sederhana, sbb. S M N M arm atp bum bvp cp N arn atq bun bvq cq R arr atw bur bvw cw T art atx but bvx cx U aru aty buu bvy cy V arv atz buv bvz cz Q Λ X a Z b Tampak adanya sejumlah variabel yang tidak berlanjut: P, W, dan Y. Bisa terjadi terdapat sejumlah variabel yang tidak akan tercapai dari S sehingga variabelvariabel berikut aturan produksi ybs bisa dieliminasi. Untuk masukan bacab maka PDA akan menerima masukan ini melalui beberapa move sbb. (q 0, bacab, Z 0 ) (q 0, acab, BZ 0 ) (q 0, cab, ABZ 0 ) (q 1, ab, ABZ 0 ) Update Version 1.2.1, printed at 10:02 AM, 10/29/01 page 4 of 5

(q 1, b, BZ 0 ) (q 1, Λ, Z 0 ) (q 1, Λ, Λ) Menurut grammar yang dihasilkan akan diperoleh penurunan kiri (leftmost derivation) sbb. S [q 0, Z 0, q 1 ] b[q 0, B, q 1 ][q 1, Z 0, q 1 ] ba[q 0, A, q 1 ][q 1, B, q 1 ][q 1, Z 0, q 1 ] bac[q 1, A, q 1 ][q 1, B, q 1 ][q 1, Z 0, q 1 ] baca[q 1, B, q 1 ][q 1, Z 0, q 1 ] bacab[q 1, Z 0, q 1 ] bacab Update Version 1.2.1, printed at 10:02 AM, 10/29/01 page 5 of 5