! " # $ % & '( ) *' ' +, -. /) /) 0 # /) %, %, 1 2



Benzer belgeler
BAĞLAMDAN BAĞIMSIZ (CONTEXT-FREE) GRAMERLER (CFG) VE DİLLER (CFL)

! " # $ % & '( ) *' ' +, -. /.,

1 $/ " {ww R : w {a, b} * } ## S asa, S bsb S e#(3 * 5 $(6 )# (2 #$,(- (25 #5

YZM Biçimsel Diller ve Otomata Teorisi. Ders#06

BAĞLAMDAN BAĞIMSIZ VE BAĞLAMDAN BAĞIMSIZ OLMAYAN DİLLER (CONTEXT-FREE AND NON-CONTEXT-FREE LANGUAGES)

! " # $ % & '( ) *' ' +, -. / $ 2 (.- 3( 3 4. (

,$( -./(,$( 0$0$ (,$(

! " # $ % & '( ) *' ' +, $ $ - $ (. $- $ ( / $ % / $ 0 -( 1( $ (2- -(

Otomata Teorisi (BİL 2114)

Syntax Analysis. 4/5/2004 Formal Diller 4.1

+,- #'. L = {a, b, c, d} a, b, c, d kümenin elemanları veya üyeleridir

#$% &'#(# Konular. B-Tree and Derivatives. B-Trees B#-Trees B+-Trees Deerlendirme

BM312 Ders Notları

Bil 2114 Otomata Teorisi Çalışma Soruları ve Cevapları III (Hafta 7,8,9)

#$% &'#(# Konular. Direct File Organization. Progressive Overflow Buckets Linear Quotient Brent s Method Binary Tree

#$% &'#(# Konular. Binary Tree Structures. Binary Search Trees AVL Trees Internal Path Reduction Trees Deerlendirme

#$% &'#(# Konular. Bits of Information. Binary Özellikler Superimposed Coding Signature Formation Deerlendirme

Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks ve semantik bir dilin tanımı sağlar

#$% &'#(# Konular. Direct File Organization. Computed Chaining Comparison of Collision Resolution Methods Perfect Hashing Cichelli s Algorithm

Context-Free Grammars and Languages

Formal Diller Ve Otomat Teorisi

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Soruları A KİTAPÇIĞI

Regular Expression vs. Context-Free Grammars. Ambiguity. NFA to CFG. Neden RE ler kullanilir?

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Örnek Soruları A0 KİTAPÇIĞI

BÖLÜM 2 Biçimsel Dillerin Matematiksel Temelleri

Dilbilgisi ve Diller

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 3

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 1



Otomata Teorisi (BİL 2114)

#$% &'#(# Konular. Hashing Techniques and Expandable Files. Background Extendible Hashing Dynamic Hashing Linear Hashing Deerlendirme

DERLEYİCİ TASARIMI ÖDEV-2 RAPORU

ndirgenme Boyutu Üç Olan Fibonacci Simetrik Sayısal Yarıgruplarının Bir Sınıfı

Sonlu Durum ve Turing Makineleri

Bölüm 4. Sözcüksel ve Sözdizimsel Analiz ISBN

BLM210 HAFTA 2 FORMAL METHODS OF SYNTAX DESCRIPTION (SÖZDİZİM TARİFİNİN BİÇİMSEL YÖNTEMLERİ)

TÜLN OTBÇER. Seminer Raporu Olarak Hazırlanmıtır.

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114)

statistiksel Proses Kontrol -Uygulamalar -

Tokenlarin Taninmasi

Ağaçlar (Trees) Ağaçlar (Trees)

T I M U R K A R A Ç AY - H AY D A R E Ş C A L C U L U S S E Ç K I N YAY I N C I L I K A N K A R A

MUSK MUALLM MEKTEBNDEN GÜNÜMÜZE MÜZK ÖRETMEN YETTRME PROGRAMLARINDAK YAYLI ÇALGI ÖRETMNE LKN SINAMA-ÖLÇME-DEERLENDRME DURUMLARININ NCELENMES

Konular. Sequential File Organization. Direct File Organization #$% &'#(# Binary Search Interpolation Search Self-Organizing Sequential Search

Bölüm 3. Sentaks ve semantik tarifi ISBN

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 2

10. DİREKT ÇARPIMLAR

Konular. Hafta 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

L SANS YERLE T RME SINAVI 1

BM312 Ders Notları 2014

IRROMETER NASIL ÇALIIR...

Derleyici Kuramı (Compiler Theory)

Üç Temel Kavram: Diller, Dilbilgisi ve Otomatlar Alfabe ve Dizgiler Tanım Örnek Tanım Tanım Tanım Tanım Örnek Diller

BASINÇ DÜÜRME VE EMNYET STASYONU CHAZLARI SSTEMLER

SAYI BASAMAKLARI. çözüm

LEM KURALLARI BLDRM FORMU. Önemli Açıklama

GÖRÜNÜM CM 707 KULLANIM KILAVUZU. Tanım. Özellikler

03. En Muhtemel Sayı (EMS) Yöntemi (5 li EMS) EMS Yönteminde Dilüsyon Kavramı

Yazılım Yapısal Kapsama Analizi

! " #$$% & ' ( ) ) ' *+ + & &, ( (-,, ) &!!. ' )' - " ) & Özel Tüketim Vergisi Genel Teblii. (SeriNo: 22)

Sentaks (Syntax): ifadelerin (statements), deyimlerin (expressions), ve program birimlerinin biçimi veya yapısı

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

En Muhtemel Sayı (EMS) Yöntemi ( 3 lü EMS)

MATEMATK ÖRETMNDE BULMACA ETKNLNN ÖRENC BAARISINA ETKS

1. BÖLÜM DÜZLEM GEOMETRİNİN TEMEL KAVRAMLARI İÇİNDEKİLER

1. Satı ve Daıtım lemleri " # $ "!!

MAT223 AYRIK MATEMATİK

T.C. ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ

Çalışma_Sayfası1. - Grammar ( English Verb Tenses - Time Clauses - Tense Agreement - Passive Voice)

Bölüm 4 Aritmetik Devreler

8.Konu Vektör uzayları, Alt Uzaylar

BLGSAYAR DESTEKL TASARIM HAFTA 4 SOLIDWORKS LE KATI MODELLEME

e.t.t.e tüketim endeksi

HESAP. (kesiklik var; süreklilik örnekleniyor) Hesap sürecinin zaman ekseninde geçtiği durumlar

PARAMETRK OLMAYAN STATSTKSEL TEKNKLER. Prof. Dr. Ali EN ÖLÇEKLER

ÇUKUROVA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır.

Bina Yangın Algılama ve Uyarı Sistemleri

Ağaç (Tree) Veri Modeli

SMULNK KULLANARAK BR PNÖMATK SSTEMN SMÜLASYONU

! " #$! "# $$ $! " % % # $ &&& " '( % )* " '(

HLA Tabanlı Bileenler ile Otomatik Uygulama Gelitirme

Kafes Yapıları. Hatırlatma

LETME SORUMLULUU HZMET SÖZLEMES

Properties of Regular Languages. Mart 2006 Ankara Üniversitesi Bilgisayar Mühendisliği - TY 1

İngilizce. Brackets- Ayraçlar Base Form- Kök Biçim

Java Tabanlı Akıı Sisteminin Gelitirilmesi


Chomsky Hiyerarşisi. Düzenli Diller ve Đfadeler 03/09/2014. Doç.Dr.Banu Diri

Borsa : Vadeli lem ve Opsiyon Borsası A.. ni,

Mantıksal İşlemler. 7.1 true, false, nil

SORU 1: X bir sonsuz küme ve A da X kümesinin tüm sonlu alt kümelerinin. A := {B P (X) : B sonlu} SORU 2: X sayılamayan bir küme

T.C. ADIYAMAN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRİK MAKİNALARI LABORATUVARI I DENEY FÖYLERİ

e.t.t.e tüketim endeksi

Veri Taban ve Visual Basic

DÜZGÜN ÖLÇÜM. Ali DÖNMEZ Doğuş Üniversitesi, Fen Bilimleri Bölümü. Halit ORHAN Atatürk Üniversitesi, Matematik Bölümü

Transkript:

!"#$ %& '()*' ' +,-./) /) 0 #/) %,%, 12

$$(/3#/ " '$$(/34" '$$(//44 / 4 /4/ 4# ##4" 5-6/'$##/" 7#! a(a * b * )b regular expression ile önce bir a üretilir. Ardından iki durumdan birisine göre devam edilir. stenen sayıda a üretilir veya b üretilir. Son olarakta bir b üretilir.,-.%,-.8 3#(# 4#'/" 7#! a(a * b * )b regular expression ön kısım, orta kısım ve son kısım olarak ayrıtırılabilir. S dilde bir string ve M ise orta kısım olmak üzere S ambeklinde bir kural yazılabilir. Burada M, a lardan veya b lerden oluturulabilir. M A ve M B yeni iki kural, A ve B dile ait stringlerdir. A e, A aa ve B e, B bb a(a * b * )b regular expression tarafından oluturulan dil yukarıdaki kurallarla oluturulabilir. aaab string i aaıdaki gibi oluturulur; S amb, S aab (MA), S aaab (AaA), S aaab

+)4 4 0$)4$# /' 6*'## # /# " '$-.8#" S, A, B, M 0a, b, e # " 2' 3$ 4/" + / -63 / /" 2!,-.% Bir context-free grammar G = ( V,, R, S ) eklinde tanımlanır. V alfabe (terminal ve nonterminaller) terminaller ( V ) R kurallar ( V ) x V * S balangıç sembolü ( S ( V )) A V ve u V * için (A, u) R ise A G u yazabiliriz. u, v V * için u G v yazabiliriz sadece ve sadece x, y V * ve A V ve u= xay ve v= xv3y ve A G v3 ise

* G, G ilikisinin reflexive, transitive, closure udur. G grammar i tarafından oluturulan dil L(G) = {w * : S * G w} eklindedir. Kurallar uygulanarak dile ait tüm string ler elde edilebilir. Oluturulan L(G) dili context-free language olarak adlandırılır. A G u ve u G v yerine A u ve u v yazılabilir. w 0 G w 1 G... G w n derivation (türetme) olarak adlandırılır. w n string i w 0 dan türetilmitir. w 0,...,w n V * olabilir. n derivation length (türetme uzunluu) olarak adlandırılır.,-.% 7#! G = (V,, R, S) grammar i için V = {S, a, b}, ={a, b} ve R kümesi S asb ve S e olmak üzere iki tane kurala sahip olsun. Örnek bir derivation aaıdaki gibi olabilir: S asb aasbb aabb lk iki adımda S asb ve son olarak S e uygulanmıtır. Oluturulan dil L(G) = {a n b n : n 0} olmutur. Bazı context-free diller regular deildir, ancak tüm regular diller context-free dildir.

7#! G = ( W,, R, S ) grammar i için W = { S, A, N, V, P }, = { Jim, big, green, cheese, ate }, R = { P N, S = sentence P AP, A = adjective S PVP, V = verb A big, N = noun A green, P = phrase N cheese, N Jim, V ate } L(G) deki grammar olarak doru bazı string ler aaıdadır; Jim ate cheese big Jim ate green cheese big cheese ate Jim Bazı string ler anlamsız olabilir; big cheese ate green green big green big cheese green Jim ate green big Jim,-.% 9 (// 6 4 / 6 0 )/ ## #" 9 +4 #/#6 ))# # $-.8 3#/" 9 7#6-6 4 #8 " 9 6 /# -638/06 6 /# 6$-.8 388 /"

Örnek: Bütün programlama dillerindeki ortak bir kısmı oluturan bir dil tanımlayalım. Bu dil doru yazılmı aritmetik ifadeleri göstersin. id * (id * id + id) yazımı doru ancak * id + ( ve + * id yanlıtır. (id deiken adlarıdır) G = (V,, R, E) V = {+, *, (, ), id, T, F, E }, = {+, *, (, ), id}, R = { E E + T, (R1) E = expression E T, (R2) T = term T T * F, (R3) F = factor T F, (R4) F (E), (R5) F id } (R6),-.% Örnek: (devam) G grammar i (id * id + id) * (id + id) string ini aaıdaki gibi oluturur; E T (R2) T * F (R3) T * (E) (R5) T * (E + T) (R1) T * (T + T) (R2) T * (F + T) (R4) T * (id + T) (R6) T * (id + F) (R4) T * (id + id) (R6) F * (id + id) (R4) (E) * (id + id) (R5) (E + T) * (id + id) (R1) (E + F) * (id + id) (R4) (E + id) * (id + id) (R6) (T + id) * (id + id) (R2) (T * F + id) * (id + id) (R3) (F * F + id) * (id + id) (R4) (F * id + id) * (id + id) (R6) (id * id + id) * (id + id) (R6)

Örnek: Düzgün daılımlı sa ve sol parantezleri üreten bir grammar oluturalım. G = ( V,, R, S ) V = { S, (, ) }, = { (, ) }, R = { S e, S SS S (S)} Aaıdaki türetmeleri G grammar i oluturur; S SS S(S) S((S)) S(( )) ( )(( )) S SS (S)S ( )S ( )(S) ( )(( )),-.% Örnek: Bir DFA M = (K,, δ, s, F ) tarafından tanınan regular dil L(M), G(M) = (V,, R, S) grammar i tarafından oluturulabilir. Burada, V = K, S = s, R = { q ap : δ(q, a) = p} {q e : q F} Nonterminaller otomatın durumları ve a girii için yapılan q dan p ye geçi R içinde q ap eklinde bir kural olarak alınır. Yandaki otomat için oluturulan kurallar; S as, S ba, A ba, A ab, B as, B ba, B e.

9 5 $-.8" 9 $#/''$-.8" 9 5φ {a}/$-.8"+ $S a 4## " 9,-.80$$+ 4 #6" 9,-.86(: 8 "1(: 8 4 44#" 9 8 / 6#6(: #'4'''" 12 9 %$-.8 " /34 8#4#/" 9 6'/$-.84)#8#4# 3'" S SS S(S) (S)(S) (S)( ) ( )( ) S SS (S)S ( )S ( )(S) ( )( ) 9 ;#' 4)#4#*/" 4##" 9 </ /'" 9 =6# / /'" 9 =6#)$$)4'"

12 Bir context-free grammar G = ( V,, R, S ) için parse tree, roots, leaves aaıdaki gibi tanımlanır. 1. a Her a Σ için bu bir parse tree dir. Tek node hem root hemde yapraktır ve a oluturur. 2. A e, R içinde bir kural ise bu bir parse tree dir. A root ve e yapraktır. Sadece e üretir. 3. 12 Hepsi parse tree dir. n 1 için A 1,, A n root ve y 1,, y n üretilir. A A 1,,A n, R içinde kural ise aaıdaki parse tree dir. Üretilen string y 1 y n olur. 4. Bunların dıında hiçbir ey parse tree deildir.

12 Örnek: Aritmetik ifadeleri oluturan grammar in id * (id + id) için oluturduu parse tree aaıdaki gibidir. 12 Bir context-free grammar G = ( V,, R, S ) için D = x 1 x 2... x n ve D3 = x3 1 x3 2... x3 n iki farklı türetmedir. Burada x i, x3 i V * ve x 1, x3 1 V ve x n, x3 n * ki türetmede bir nonterminalden terminal string leri türetilir. D türetmesi D3 türetmesinden öncedir ve D D3eklinde gösterilir eer; n > 2 için 1 < k < n olacak ekilde bir k deeri varsa ve; 1. Tüm i k için x i = x3 i 2. x k-1 = x3 k-1 = uavbw burada u, v, w V * ve A, B V 3. x k = uyvbw, burada A y R 4. x3 k = uavzw, burada B z R 5. x k+1 = x3 k+1 = uyvzw En soldaki nonterminali deitiren türetme dierinden önce gelir.

12 Örnek: Herhangi bir grammar için aaıdaki üç türetmenin önceliklerini çıkaralım. D 1 = S SS (S)S ((S))S (( ))S (( ))(S) (( ))( ) D 2 = S SS (S)S ((S))S ((S))(S) (( ))(S) (( ))( ) D 3 = S SS (S)S ((S))S ((S))(S) ((S))( ) (( ))( ) Burada D 1 D 2 ve D 2 D 3 olur. D 1 D 3 olamaz çünkü birden fazla ara string te farklılık vardır. Bütün türetmeler aynı parse tree ye sahiptir. 12 Örnek: devam D 4 = S SS (S)S (S)(S) ((S))(S) (( ))(S) (( ))( ) D 5 = S SS (S)S (S)(S) ((S))(S) ((S))( ) (( ))( ) D 6 = S SS (S)S (S)(S) (S)( ) ((S))( ) (( ))( ) D 7 = S SS S(S) (S)(S) ((S))(S) (( ))(S) (( ))( ) D 8 = S SS S(S) (S)(S) ((S))(S) ((S))( ) (( ))( ) D 9 = S SS S(S) (S)(S) (S)( ) ((S))( ) (( ))( ) D 10 = S SS S(S) S( ) (S)( ) ((S))( ) (( ))( ) Buradaki tüm öncelik ilikileri aaıdaki ekille gösterilebilir.

12 Bir parse tree üzerinde leftmost derivation ve rightmost derivation elde edilebilir. Leftmost derivation için aacın root node undan balanır ve sürekli ensoldaki nonterminal deitirilir. Rightmost derivation için aacın root node undan balanır ve sürekli ensadaki nonterminal deitirilir. Önceki örnekte D 1 leftmost D 10 ise rightmost derivation yapar. 12 Leftmost derivation için x L y ve rightmost derivation için x R y kullanılır. x L y yazabiliriz eer sadece ve sadece x = wa, y = w, ise ve burada w * ve, V * ve A V ve A kuralı grammar de varsa. x 1 L x 2 L... L x n tüm leftmost türetme sırasını ifade eder.

7 1/ *''">">/0">">$0">">$ 8>? 1/ *''">"?0">" 8>? 1/ *''">"@ 8>?> 1/ *''"?"A 8>?B