Pagkakaiba sa Pagitan ng Regular na Pagpapahayag at Libreng Gramatika ng Context

Talaan ng mga Nilalaman:

Anonim

Ang pangunahing pagkakaiba sa pagitan ng regular na pagpapahayag at konteksto ng libreng gramatika ay ang makakatulong ang mga regular na expression na ilarawan ang lahat ng mga string ng isang regular na wika habang ang konteksto ng libreng gramatika ay tumutulong upang tukuyin ang lahat ng posibleng mga string ng isang malayang wika ng konteksto.

Ang Grammar ay tumutukoy sa mga syntactical na panuntunan para sa pag-uusap sa mga likas na wika. Ginagamit ng Agham ng Computer ang teorya ng mga pormal na wika nang malaki. Sa taong 1956, nagbigay si Noam Chomsky ng isang modelo ng matematika ng gramatika para sa pagsulat ng mga wika sa computer. Kung posible na makakuha ng isang hanay ng lahat ng mga string mula sa isang balarila, sinasabing ang wika ay nabuo mula sa gramatika na iyon. Dalawang uri ng gramatika ang regular na gramatika at libreng gramatika sa konteksto. Anumang wika na maaaring ilarawan ng isang regular na pagpapahayag ay isang regular na wika. Ang libreng gramatika ng konteksto ay isang paglalahat ng regular na pagpapahayag. Posibleng gumamit ng mga regular na expression upang sumulat ng mga regular na wika at walang bayad na gramatika upang sumulat ng libreng gramatika sa konteksto.

Regular na Pagpapahayag, Libreng Gramatika ng Context

Ano ang Regular na Pagpapahayag

Ang regular na balarila ay bumubuo ng mga regular na wika. Ang grammar na ito ay may isang solong non-terminal sa kaliwang bahagi at isang kanang bahagi na binubuo ng isang solong terminal o solong terminal na sinusundan ng isang solong hindi terminal. Maaari itong magkaroon ng panuntunan sa produksyon tulad ng sumusunod.

X -> a o X -> isang Y

Kung saan X, Y ϵ N (non-terminal) at isang ϵ T (terminal)

Ang regular na mga expression ay makakatulong upang magsulat ng regular na grammar upang ilarawan ang mga regular na wika.

Ang isang regular na expression ay kumakatawan sa isang tiyak na hanay ng mga string sa isang algebraic fashion. Ang ilang mahahalagang tuntunin na sinusunod kapag ang pagsusulat ng isang regular na pagpapahayag ay ang mga sumusunod.

  1. Ang mga simbolo ng terminal, simbolo null at walang laman na simbolo ay regular na expression.
  2. Ang unyon ng dalawang regular na expression ay isang regular na expression.
  3. Ang pagsasanib ng dalawang regular na expression ay isang regular na expression.
  4. Ang Iteration o pagsasara ay isang regular na pagpapahayag.

Ang regular na expression para sa itinakdang {0, 1, 2} ay ang mga sumusunod.

R = 0 + 1 + 2

Ang itinakdang {abb, a, b, bba} ay maaaring kinatawan ng sumusunod na regular na pagpapahayag.

R = abb + a + b + bba

Isaalang-alang ang hanay, {ϵ, 0, 00, 000,…}

Ang ϵ ay ang walang laman na string. Ang regular na Pagpapahayag ay R = 0 *. Kinakatawan nito ang pagsasara ng simbolo kabilang ang walang laman na simbolo.

Sa itinakdang {1, 11, 111, 1111,…..}

Ang regular na expression ay R = 1 +. Ito ay tumutukoy sa pagsasara ng isang simbolo na hindi kasama ang walang laman na simbolo.

Ano ang Context Free Grammar

Sa pormal na teorya ng wika, ang Context Free Language (CFL) ay isang wikang nabuo ng Context Free Grammar. Tinutukoy ng apat na mga parameter ang konteksto ng libreng gramatika (G).

G = {V, ∑, S, P}

V: Ang hanay ng mga Simbolo na Variable o Non Terminal.

∑: Itakda ng mga simbolo ng terminal

S: Simulan ang Simbolo

P: Panuntunan sa Produksyon

Ang Context Free Grammar ay may sumusunod na format para sa panuntunan sa produksyon.

A -> a kung saan ang isang = {V, ∑} * at A ϵ V

Ang isang halimbawa ng Context Free Grammar ay ang mga sumusunod. Ang bawat produksyon ay binubuo ng isang di-terminal na simbolo at isang regular na pagpapahayag.

Para sa pagbuo ng isang wika na bumubuo ng pantay na bilang ng mga a at ang nasa format ng a b . Ang konteksto ng libreng gramatika ay ang mga sumusunod.

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

Isinasaalang-alang ang simbolo ng pagsisimula,

S -> a A b

Sa pamamagitan ng paglalapat ng A -> aAb

→ a a A b b

Sa pamamagitan ng paglalapat muli ng A -> aAb,

→ a a a b b b

Sa pamamagitan ng paglalapat ng A -> ϵ (Ang simbolo na ito ay nangangahulugang isang walang laman na string)

→ a a b b b

→ a 3 b 3

Kapag isinasaalang-alang ang output, ang bilang ng mga a ay katumbas ng bilang ng mga b. Mayroon itong a b form

Pakikipag-ugnay sa Pagitan ng Regular na Pagpapahayag at Libreng Gramatika ng Context

Pagkakaiba sa Pagitan ng Regular na Pagpapahayag at Libreng Gramatika ng Konteksto

Kahulugan

Ang isang regular na expression ay isang konsepto sa pormal na teorya ng wika na isang pagkakasunud-sunod ng mga character na tumutukoy sa isang pattern ng paghahanap. Ang Context Free Grammar ay isang uri ng pormal na balarila sa pormal na teorya ng wika, na kung saan ay isang hanay ng mga patakaran sa paggawa na naglalarawan sa lahat ng posibleng mga string sa isang naibigay na pormal na wika.

Paggamit

Ang regular na mga expression ay tumutulong upang kumatawan sa ilang mga hanay ng mga string sa isang algebraic fashion. Nakakatulong ito upang kumatawan sa mga regular na wika. Nakakatulong ang libreng gramatika ng konteksto upang tukuyin ang lahat ng mga posibleng string ng isang libreng wika ng konteksto.

Konklusyon

Ang isang regular na expression ay isang pamamaraan para sa pagtutugma ng pattern. Ito ay isang nababaluktot na pamamaraan ng pagbibigay ng isang nababaluktot at maigsi na paraan upang tumugma sa mga string ng teksto. Tinutukoy nito ang lahat ng mga string sa regular na wika. Sa kabilang banda, pinapayagan ng konteksto na libreng gramatika ang pagtukoy sa lahat ng mga string na kabilang sa isang konteksto na walang bayad na wika. Ang pagkakaiba sa pagitan ng regular na pagpapahayag at libreng gramatika ng konteksto ay ang mga regular na expression na makakatulong upang ilarawan ang lahat ng mga string ng isang regular na wika habang ang konteksto ng libreng gramatika ay tumutulong upang tukuyin ang lahat ng posibleng mga string ng isang malayang wika ng konteksto.

Sanggunian:

1. "Mga Regular na Pagpapahayag." Www.tutorialspoint.com, Tutorials Point, 8 Enero 2018, Magagamit dito.2. "Context-Free Grammar Panimula." Www.tutorialspoint.com, Tutorials Point, 8 Enero 2018, Magagamit dito.

Kagandahang-loob ng Larawan:

1. "Toolbaricon RegEx" Ni M0tty - Sariling gawain (CC BY-SA 4.0) sa pamamagitan ng Wikimedia Wikimedia

Pagkakaiba sa Pagitan ng Regular na Pagpapahayag at Libreng Gramatika ng Context