Perbezaan Antara Ungkapan Biasa dan Tatabahasa Bebas Konteks

Isi kandungan:

Anonim

The perbezaan utama antara ungkapan biasa dan tatabahasa bebas konteks adalah bahawa ungkapan biasa membantu menggambarkan semua rentetan bahasa biasa sementara tatabahasa bebas konteks membantu menentukan semua rentetan kemungkinan bahasa bebas konteks.

Tatabahasa menunjukkan peraturan sintaksis untuk perbualan dalam bahasa semula jadi. Sains Komputer banyak menggunakan teori bahasa formal. Pada tahun 1956, Noam Chomsky memberikan model tatabahasa matematik untuk menulis bahasa komputer. Apabila mungkin untuk memperoleh sekumpulan semua rentetan dari tatabahasa, dikatakan bahawa bahasa itu dihasilkan dari tatabahasa itu. Dua jenis tatabahasa adalah tatabahasa biasa dan tatabahasa bebas konteks. Setiap bahasa yang dapat digambarkan oleh ungkapan biasa adalah bahasa biasa. Tatabahasa bebas konteks adalah generalisasi ungkapan biasa. Anda boleh menggunakan ungkapan biasa untuk menulis bahasa biasa dan tatabahasa bebas konteks untuk menulis tatabahasa konteks.

Ungkapan Biasa, Tatabahasa Bebas Konteks

Apa itu Ungkapan Biasa

Tatabahasa biasa menghasilkan bahasa biasa. Tatabahasa ini mempunyai satu bukan terminal tunggal di sebelah kiri dan sisi kanan yang terdiri daripada satu terminal atau terminal tunggal diikuti oleh satu bukan terminal. Ini boleh mempunyai peraturan pengeluaran seperti berikut.

X -> a atau X -> a Y

Di mana X, Y ϵ N (bukan terminal) dan ϵ T (terminal)

Ungkapan biasa membantu menulis tatabahasa biasa untuk menerangkan bahasa biasa.

Ungkapan biasa mewakili sekumpulan rentetan tertentu secara algebra. Beberapa peraturan penting yang harus dipatuhi semasa menulis ungkapan biasa adalah seperti berikut.

  1. Simbol terminal, simbol nol dan simbol kosong adalah ungkapan biasa.
  2. Penyatuan dua ungkapan biasa adalah ungkapan biasa.
  3. Gabungan dua ungkapan biasa adalah ungkapan biasa.
  4. Pengulangan atau penutupan adalah ungkapan biasa.

Ungkapan biasa untuk set {0, 1, 2} adalah seperti berikut.

R = 0 + 1 + 2

Set {abb, a, b, bba} dapat diwakili oleh ungkapan biasa berikut.

R = abb + a + b + bba

Pertimbangkan setnya, {ϵ, 0, 00, 000,…}

Ε ialah rentetan kosong. Ungkapan biasa ialah R = 0 *. Ini mewakili penutupan simbol termasuk simbol kosong.

Dalam kumpulan {1, 11, 111, 1111,…..}

Ungkapan biasa ialah R = 1 +. Ini + menunjukkan penutupan simbol tidak termasuk simbol kosong.

Apa itu Tatabahasa Bebas Konteks

Dalam teori bahasa formal, Context Free Language (CFL) adalah bahasa yang dihasilkan oleh Context Free Grammar. Empat parameter menentukan tatabahasa bebas konteks (G).

G = {V, ∑, S, P}

V: Set Simbol Berubah atau Tidak Terminal.

∑: Set simbol terminal

S: Mula Simbol

P: Peraturan Pengeluaran

Tatabahasa Konteks Bebas mempunyai format berikut untuk aturan produksi.

A -> a di mana a = {V, ∑} * dan A ϵ V

Salah satu contoh Tatabahasa Bebas Konteks adalah seperti berikut. Setiap produksi terdiri daripada simbol bukan terminal dan ungkapan biasa.

Untuk menghasilkan bahasa yang menghasilkan bilangan a dan b yang sama adalah dalam format a b . Tatabahasa bebas konteks adalah seperti berikut.

G = {(S, A), (a, b), (S -> aAb, A -> aAb | ϵ)}

Memandangkan simbol permulaan,

S -> a A b

Dengan menggunakan A -> aAb

→ a a A b b

Dengan menggunakan A -> aAb sekali lagi,

→ a a a A b b b

Dengan menggunakan A -> ϵ (Simbol ini menunjukkan tali kosong)

→ a a b b b

→ a 3 b 3

Semasa mempertimbangkan keluaran, bilangan a sama dengan bilangan b. Ia mempunyai a b bentuk.

Hubungan Antara Ekspresi Biasa dan Tatabahasa Bebas Konteks

Perbezaan Antara Ungkapan Biasa dan Tatabahasa Bebas Konteks

Definisi

Ungkapan biasa adalah konsep dalam teori bahasa formal yang merupakan urutan watak yang menentukan corak pencarian. Grammar Bebas Konteks adalah sejenis tatabahasa formal dalam teori bahasa formal, yang merupakan sekumpulan peraturan produksi yang menggambarkan semua kemungkinan rentetan dalam bahasa formal tertentu.

Penggunaan

Ungkapan biasa membantu mewakili kumpulan rentetan tertentu secara algebra. Ia membantu mewakili bahasa biasa. Tatabahasa bebas konteks membantu menentukan semua rentetan kemungkinan bahasa bebas konteks.

Kesimpulannya

Ungkapan biasa adalah kaedah untuk pemadanan corak. Ini adalah kaedah yang fleksibel untuk menyediakan cara yang fleksibel dan ringkas untuk memadankan rentetan teks. Ia menentukan semua rentetan dalam bahasa biasa. Sebaliknya, tatabahasa bebas konteks membolehkan menentukan semua rentetan kepunyaan bahasa bebas konteks. Perbezaan antara ungkapan biasa dan tatabahasa bebas konteks adalah bahawa ungkapan biasa membantu menggambarkan semua rentetan bahasa biasa sementara tatabahasa bebas konteks membantu menentukan semua rentetan kemungkinan bahasa bebas konteks.

Rujukan:

1. "Ungkapan Biasa." Www.tutorialspoint.com, Tutorials Point, 8 Jan 2018, Terdapat di sini.2. "Pengenalan Tatabahasa Bebas Konteks." Www.tutorialspoint.com, Tutorials Point, 8 Jan 2018, Terdapat di sini.

Gambar Kesopanan:

1. “Toolbaricon RegEx” Oleh M0tty - Karya sendiri (CC BY-SA 4.0) melalui Wikimedia Commons

Perbezaan Antara Ungkapan Biasa dan Tatabahasa Bebas Konteks