Syntax and Semantics Flashcards
Syntax Nedir
Dildeki expression, statement ve program bölümlerinin tamamı
Semantics nedir
Dildeki syntax elemanlarının tamamının anlamı ve işlevi
Sentence nedir
Dile ait kurallara uygun, dilin alfabesinin harfleri ile oluşturulmuş şey
Language nedir
Sentenceler bütünü
Lexeme nedir
Dilin anlamlı parçaları. Örneğin a = b ifadesinde ‘=’, bir lexemenin value değeridir. Lexemenin kategorisi/ tokeni ise assgn_sign olabilir
Token nedir
Token lexemenin kategorisidir.
index = 2;
ifadesini lexeme ve tokenlera ayır
lexeme index | = | 2 |;
token identifier| assign | intconst | semicolon
language recognizer nedir
bir cümlenin dile ait olup olmadığını anlayan makina
language generator nedir
bir dile ait cümleler üreten makina
Syntax tanımı için chomskynin ortaya attığı 4 metottan, pl’de işimize yarayan ikili?
Regular grammars -> Tokenların formu
Context-Free Grammar -> Syntax
Backus naur form nedir
Algol 58’i backus, algol 60’ı naur formal olarak olarak tanımlamıştır. BNF bir context free grammerdir. Bir metalanguagedir.
Bnfte bir gramer kuralı nasıl gösterilir
<assign> -> <var> = <expr>
left handed gramer yapısı
right handed karşılığı
-> yerine := ::= de kullanılabilir
</expr></var></assign>
Bnfte soyutlaştırılmış kavramlara ne ad verilir ve nasıl gösterilir
Nonterminal denir <—-> ile gösterilir
liste yapısını bnf ile göster
<identList> -> <identifier> | <identifier>, <identList>
</identList></identifier></identifier></identList>
grammer nedir
her nonterminal ifadeyi terminale götürebilecek yollar içeren kural dizisi
örneğin
<assign> -> <id> = <expr>
<id> -> A|B
<expr> -> <id>+<expr> | <id>
</id></expr></id></expr></id></expr></id></assign>