
English: 
If you look back on the car-park video, you'll see 
it's very handy
Everything's cut and dried
Every possible combination of 20s, 10s and 5s
will work
get us to twenty-five,
deliver a ticket.
If we turn to what we were talking about briefly
at the end of that video
something like... I'm in a program language and I want
to declare an identifier name for my integers.
I want to call my integers 'sean' and 'dave', or even
'k9' as I said last time.
Well, they're fine. But if you want arbitrary-length
variable names,
How do you say
"I don't know whether it's going to be three letters long,  
five letters long,
or even sixty letters long" ?
Maybe the compiler has an external limit anyway.
But, in general, how can we keep going around
without knowing how many?
And the answer, of course, is: Recursion.
I'm now going to draw you
a finite-state automaton diagram

Turkish: 
Otopark videosuna bakarsanız, 
çok kullanışlı
Her şey kesilmiş ve kurutulmuş
20'li, 10lu ve 5'li her olası kombinasyon
çalışacak
bizi yirmi beşe çıkar,
bir bilet teslim et.
Kısaca bahsettiğimiz şeye dönersek
bu videonun sonunda
gibi bir şey ... Ben bir program dilinde yaşıyorum ve istiyorum
tamsayılarım için bir tanımlayıcı adı bildirmek için.
Tam sayılarıma 'sean' ve 'dave' veya hatta demek
'K9' dediğim gibi.
Onlar iyi. Ama keyfi uzunluk istiyorsanız
değişken isimleri
Nasıl söylersin
“Üç harf uzunluğunda mı olacağını bilmiyorum.  
beş harf uzunluğunda,
hatta altmış harf uzunluğunda "?
Belki de derleyicinin zaten bir dış sınırı vardır.
Ancak, genel olarak, nasıl dolaşabiliriz
kaç tane bilmeden?
Ve elbette cevabı şudur: Özyineleme.
 
Şimdi seni çizeceğim
sonlu durumlu otomat diyagramı

English: 
for a programming identifier, yeah?
And those of you from Electronics Engineering 
departments, you can say:
"Yes! We've known about these for years! 
They're just state-machines."
So here comes a state machine for...
identifiers.
You have to have a starting point, we had 
one in the car park
and we have to have one here, now.
And then, what I'm going to do
is to say
"Well, in order to get started on a programming 
language identifier,
the rule is, you MUST start with a letter -
not a digit."
And i'll just denote any letter, for the moment, by L
This state here, which I'm calling the 'tailpiece' of the identifier,
is to take care of the fact
eventually,
that identifiers could just be a single letter.
Its perfectly possible to say "int i;" 
[in the C language]
It's just a single-letter identifier.
So we've got to allow for that, it could be just one letter long,
or, it can be a letter
followed by ANY mix of letters and digits

Turkish: 
bir programlama tanımlayıcısı için, evet?
Ve sizler Elektronik Mühendisliğinden 
bölümler diyebilirsiniz:
“Evet! Bunları yıllardır biliyoruz! 
Onlar sadece devlet makineleri. "
Yani burada bir devlet makinesi geliyor ...
 
tanımlayıcılar.
Bir başlangıç ​​noktanız olmalı, 
Biri araba parkında
ve şimdi burada bir tane olmalı.
Ve sonra ne yapacağım
demek ki
"Programlamaya başlamak için 
dil tanımlayıcısı
Kural şudur, bir harfle başlamalısınız -
rakam değil. "
Ve şu an için L ile herhangi bir harfi göstereceğim.
Buradaki, tanımlayıcının 'başyapıtı' olarak adlandırdığım bu durum,
gerçeğe dikkat etmek
sonunda,
Bu tanımlayıcılar sadece tek bir harf olabilir.
"İnt i" demek tamamen mümkün; 
[C dilinde]
Sadece bir tek harfli tanımlayıcı.
Yani buna izin vermeliyiz, sadece bir harf uzunluğunda olabilir,
ya da bir mektup olabilir
ardından HERHANGİ bir harf ve rakam karışımı

English: 
in ANY order.
But eventually there has to be an end-marker.
And of course, typically, in the C programming language,
the end-marker is ; (semicolon).
Okay; how do we do that 'any-mixutre-of-letters-and-digits' stuff
Well, here's something new:
inside this 'tailpiece' state, I am saying
"You can go back into yourself...
by accepting more letters."
Down at the bottom I can say:
"Accept a digit..."
I'll call any digit just D at the moment.
So can you see whats happening here?
You go in, you MUST have an initial letter
but once you're in the "T" state
can come back into yourself!
And that is recursion.
But as you go back and come back into yourself,
you must accept a letter, or you must find a digit on 
the input stream.
Eventually, the party's got to end;
you can't keep recurring for ever...
No good at all, you will crash!
You will run out of memory.
So eventually there's gotta be a way out of all this 
morass.

Turkish: 
herhangi bir sırada.
Ama sonunda bir son işaretleyici olmak zorunda.
Ve elbette, tipik olarak, C programlama dilinde,
son işaretleyici; (noktalı virgül).
Tamam; 'Harflerin Harfli-Harfli-Her Harfleri' işlerini nasıl yaparız?
İşte yeni bir şey var:
Ben bu 'tailpiece' devlet içinde diyorum
"Kendine geri dönebilirsin ...
daha fazla mektup kabul ederek. "
Aşağıdan aşağıya söyleyebilirim:
"Bir basamağı kabul et ..."
Şu anda D herhangi bir rakamı arayacağım.
Peki burada neler olduğunu görebiliyor musun?
İçeri gir, ilk harfin olmalı.
ama bir zamanlar "T" durumundasın.
kendinize geri gelebilir!
Ve bu özyinelemedir.
Ama geri dönüp kendinize dönerken,
Bir mektubu kabul etmeniz veya bir rakam bulmanız gerekir. 
giriş akışı.
Sonunda, parti sona ermeli;
Sonsuza dek tekrarlamaya devam edemezsin ...
Hiç iyi değil, çökecek!
Hafızanız tükenecek.
Yani sonunda tüm bunlardan bir çıkış olmalı. 
batak.

Turkish: 
Ve ne yapacağım, böylece bağlantı kurabilirim 
Noam Chomsky'nin yaptıkları ...
Büyük Noam, HER ŞEYİ düşünmeyi çok severdi 
yasal bir "cümle" olarak.
Diyelim ki S
Bundan zaten bahsettik, araba parkında. 
yasal bir dil
cümle "10 10 5" dür, çünkü 25 taneye kadar ekler.
Ama bazen bu son duruma girmek için 
"bitiş" durumu denir,
bazen, eşit, buna "kabul" hali denir,
o zaman ihtiyacım var
Görmek
bir E.
Ve bir E geçerli bir sonlandırıcıdır.
Ve şunu söylüyorum ... C-programlamanın bu alt kümesi için. 
burada yaptığımız dil
son işaretleyici bir olacaktır; (noktalı virgül).
Bunu daha sonra biraz uzatabilirim çünkü yapabilirsem 
bazı AWK örnekleri
"Newline" [\ n] 'ı olduğu gibi kabul edebilmek istiyorum 
bir son işaretleyici de.
Ama şimdilik, evet diyelim; (noktalı virgül)
Yani, o zaman!
Bu bir devlet makinesi.
İçinde yeni olan faktör, özyineleme yapabilme yeteneğidir.
İstediğin kadar, nihayet şişelenene kadar 
her şeyin

English: 
And what I'm going to do, just so I can link up with 
what Noam Chomsky did ...
The great Noam really liked to think of EVERYTHING 
as a legal "sentence".
Let's call it S
We've mentioned this already that, you know, in car-park 
language a legal
sentence is "10 10 5" because it adds up to 25, and so on.
But to get into this final state which sometimes 
is called the "finish" state,
sometimes, equally, it's called the "accept" state,
then I need
to see
an E.
And an E is a valid end-marker.
And i'm saying that in... for this subset of the C-programming 
language we're doing here
the end marker will be a ; (semicolon).
I might, later on, extend that a bit because if I do 
some AWK examples
I want to be able to accept "newline" [\n]  as being 
an end-marker as well.
But for the moment let's say yes, it's ; (semicolon)
So, that's it then!
That is a state machine.
The factor that's new in it, is the ability to do recursion.
for as long as you want, until you finally bottle out 
of the whole thing,

English: 
and take the end-marker and say "that's the end of my declaration."
Okay!
Well, what emerged from all of this stuff about state-machines
and from Chomsky's work, in the mid to late 50's ?
For every machine you can draw,
like this,
and this is a MACHINE interpretation
of identifiers,
there's always a grammatical alternative.
And the more, if you like, mathematical-theoretician you are,
the more you like rather abstruse, so-called "top-down", 
ways of thinking about things.
So, Chomsky's notation - let me just start you off on this, for this:
was to  say: Look, my goal is a sentence (S).
But what seems to be the case is that
to get to sentence (S), I've got to take
first of all an L, and then that gets me into a T state.
Okay...
Chomsky notation! 
You can read the arrow as being "...is defined as".
A sentence...
is defined as...
an L,

Turkish: 
ve son işaretini alın ve "bu benim bildirimin sonu" deyin.
Tamam!
Devlet makineleri hakkındaki tüm bu şeylerden ortaya çıkan şey
ve Chomsky'nin çalışmasından, 50'li yaşların ortalarında mı?
Çizebileceğiniz her makine için
bunun gibi,
ve bu bir MAKİNE yorumudur
tanımlayıcıların
her zaman gramersel bir alternatif vardır.
Dahası, eğer istersen, matematik teorisyenisin,
"yukarıdan aşağıya" denilen daha çok abstruse, daha çok 
şeyler hakkında düşünme yolları.
Öyleyse, Chomsky'nin notu - Bunun için sizi başlatmama izin verin, bunun için:
Söylemek üzereydi: Bak, amacım bir cümle (S).
Ama durum böyle görünüyor ki
cümleye (S) ulaşmak için almalıyım
her şeyden önce bir L, ve bu beni T durumuna sokuyor.
Tamam...
Chomsky gösterimi!
Oku "... olarak tanımlandı" olarak okuyabilirsiniz.
Bir cümle...
olarak tanımlanır...
bir L

English: 
any letter,
Followed by what I'll call a 'tail', or a 'tailpiece', 
of the identifier - L and T.
Fine!
Well what... let's just do one example of what a T can be.
A T, look
Let's take this one.
Can be further defined as: yet another letter, 
followed by another T.
Now look what's happening here, for the first time..
A rule for T is developing another visit into a T on 
its right-hand side.
This is technically called Right Recursive.
And the Chomsky rules say you can be right recursive
If you want to do it the other way around, perversely,
and do T becomes T -> T L that's okay!
That's still within the Chomsky [Type 3] rules.
It can be purely right recursive, or purely left recursive.
I'll make it right recursive... it's a bit more intuitive to me.
And,just in case you think:
"Well, this is going to go on forever, and I can imagine 
the T becoming a D T
and you're taking digits for ever...

Turkish: 
herhangi bir mektup
Ardından 'kuyruk' veya 'kuyruk parçası' dediğim şeyi takip edin, 
tanımlayıcının açıklaması - L ve T
İnce!
Peki ya ... hadi sadece T'nin ne olabileceğine dair bir örnek yapalım.
AT bak
Hadi bunu alalım.
 
 
 
Başka bir harf: 
ardından başka bir T.
Şimdi burada neler olup bittiğine bakın, ilk defa ..
T için bir kural bir T'ye başka bir ziyaret geliştirmektir. 
sağ tarafı.
Buna teknik olarak Doğru Özyinelemeli denir.
Ve Chomsky kuralları, özyinelemeli olabileceğini söylüyor
Aksi taktirde ters şekilde yapmak istersen,
ve T olur T -> TL sorun değil!
Bu hala Chomsky [Tip 3] kuralları dahilinde.
Tamamen sağ özyinelemeli veya tamamen özyinelemeli bırakılabilir.
Özyinelemeli yapacağım ... benim için biraz daha sezgisel.
Ve, sadece düşünmek durumunda:
"Bu sonsuza dek sürecek ve hayal edebiliyorum 
T DT oluyor
ve sonsuza dek rakam alıyorsun ...

English: 
What's the thing that gets you out of all this in the end?"
And the answer is - well - look back at the automaton 
diagram and say "Ah!,
in the end you take the escape route!"
You take a T is defined as being an E
Thats one of the options. But what about E then?
Ah! well here's a classic example then,
of something that doesn't lead on to another rule,
it leads, in tree terms, 
to a leaf of the tree - a terminal symbol that goes 
nowhere else.
And what I'm hoping is there, is just a semicolon.
Of course you've spotted that the picture is completed --
refer back to the automaton again --
there's also a right-recursive option to say;
"Yes, accept any digit
and go back into T"
...so you go back into yourself again.
But equally you can now write at the bottom here --,
and it's in the handout --
we will do all of this in a linked handout --
So do read the Info block of this video. Find out 
where the handout is,
download it,
read it.

Turkish: 
Sonunda seni bunlardan kurtaran şey ne? "
Cevap şu - peki - otomatlara geri dön 
Diyagram ve "Ah !,
Sonunda kaçış yolunu takip!
Bir T almak bir E olarak tanımlanır
Bu seçeneklerden biri. Peki ya sonra E?
Ah! işte klasik bir örnek o zaman,
başka bir kurala yol açmayan bir şeyden,
Ağaç terimleriyle yol açar,
ağacın yaprağına giden - bir terminal sembolü 
başka hiçbir yerde.
Ve umduğum şey orada, sadece noktalı virgül.
Elbette resmin tamamlandığını farkettiniz -
yine otomatlara geri dön -
Ayrıca söyleyecek bir haklı seçenek var;
"Evet, herhangi bir rakamı kabul et
ve tekrar T "ye dön
... yani tekrar kendine dönüyorsun.
Ama şimdi eşit olarak şimdi buraya yazabilirsiniz -
ve çalışma kağıdı içinde -
tüm bunları bağlantılı bir broşürde yapacağız -
Öyleyse bu videonun Bilgi bloğunu okuyun. Bulmak 
çalışma kağıdı nerede
 
indir,
oku onu.

Turkish: 
Bu tam şeyde bulacaksınız
Bir mektubun her şey olabileceğini de söyledim. 
a'dan z'ye veya A'dan Z'ye
Bir basamak 0 ile 9 arasında bir değer olabilir
Bu dilbilgisini bitirdiğiniz yol budur.
Bu, bilgisayar bilimcilerinin dediği gibi düşünmenizi teşvik eder:
yukarıdan aşağıya
Bir "cümlenin" soyutlamasının saflığıyla başlarsın,
ve sonra altındaki detayı geliştirirsiniz.
Otomatlar, gerçekten - Size tüm resmi göstermeye çalıştım ...
Yapabilirsin ... benim için, otomatlardan, biraz ...
biraz yukarıdan aşağıya - her zaman daha fazlasını elde edebilirsiniz 
nasıl bir fikir
Bütün bunlar içinden geçen sıralı adımlarla inşa edilmiştir.
Şimdi orada çok sihir yok.
sadece başlangıçta söylediklerimi vurgulamak:
Bir dairenin her makine resmine 
[Chomsky] hiyerarşisi,
bir karşılık var
 
bunun gramer ifadesi.
Aynı Chomsky hiyerarşisinde dolaşacağımız gibi

English: 
You'll find in this complete thing
I've also said a letter can be anything 
from a to z,  or A to Z
A digit can be anything from 0 to 9
That's the way you finish off that grammar.
This encourages you to think as computer scientists say:
top-down
You start with the purity of the abstraction of a "sentence",
and then you develop the detail below it.
Automata, really - I tried to show you the whole picture...
You can... for me, from an automaton, get a rather...
it's a bit top-down -- but you can always get more 
of an idea of how
all this is built up in sequential steps going through it.
There's nothing very magic there now,
its just emphasising what I said at the start:
To every machine-picture of a circle in 
the [Chomsky] hierarchy,
there is a corresponding
grammatical expression of it.
It's just as we'll go out through that Chomsky hierarchy

Turkish: 
makine yorumlamaları daha karmaşık hale geliyor
ve daha fazlası "hafıza" denilen bu sihirli şeyi içerir,
Makinenizin hangi durumda olduğuna yardımcı olarak.
Aşağıya, şu an bulunduğumuz yer olan tip 3'te.
tüm söylediklerimiz: "Bütün alacağın devletlerin.
ve evet, bunları doğru bir şekilde modellemelisin ",
ancak herhangi bir amaç için yardımcı hafızaya ihtiyacınız yoktur.
Daha sonra, yaptığımızı bulacağız.

English: 
the machine interpretations become more complicated
and more involving of this magic thing called "memory",
as an ancillary to what state is your machine in.
Down here in type 3, where we are at the moment,
all we're saying is: "All you get is your states
and yes, you've got to model those correctly",
but you dont need ancillary memory for any purpose.
Later on, we'll find that we do.
