*

  • ks. backus naur form notasyonu. programlama dillerinin sentaksını açıklamak için kullanılan notasyon.

    bnf'te kullanılan meta semboller:
    ::= anlamı "bu şekilde tanımlıdır"
    | anlamı "veya"
    < > kategori adlarının başı ve sonunda yer alırlar

    basic if komutu için örnek:

    <if_statement> ::= if <boolean_expression> then
    <statement_sequence>
    [ else
    <statement_sequence> ]
    end if

    (bkz: şema)
  • pascal'i anlatan her kitapta rastlayabileceginiz, suslu hali bir aki$ $emasina benzeyen format..
  • backus normal form (genelde yanlışlıkla backus naur form şeklinde kullanılır diye de not düşülmüş.)
  • (bkz: ebnf)
  • duzgun bir programi yazmak için en onemli kurallari ve onerileri veren sozdizimi *
  • [] arasindaki bloklar opsiyonel anlamindadir.
  • bir context free grammar olup en yaygın kullanılanlarından biridir. chomsky ile alakası olmadığı halde, chomsky normal form ile aynı zamanda ortaya çıkmıştır, ilginçtir, vay anasınıdır.
  • bir programlama dilinin ozelliklerini anlamak için incelenmesi gereken en önemli noktalardan biridir. hatta ismi lazım degil bir hocamız dili ögrenmek için bakılması gerekebilecek tek yer oldugunu ve hatta ornek program parcaları cozmeden daha etkili oldugunu belirtmişti.
  • sirf programlama dilleri icin degil, normal bildigimiz dilleri ogrenmek icin de kullanilabilecek sozdizimi kurallari silsilesi.
  • genelde programlama dilleri için kullanılsa da natural languages için de kullanılabilir.

    örneğin phrase structure grammer'ı g = (v, t, s, p) olan ingilizcenin alt kümesi bir dil düşünelim. sırasıyla vocabulary, terminal, starting symbol ve productions'ı aşağıdaki gibi tanımlı olsun:

    v = {(sentence), (noun phrase), (verb phrase), (article), (adjective), (noun), (verb),
    (adverb), a, the, large, hungry, rabbit, mathematician, eats, hops, quickly, wildly}

    t = {a, the, large, hungry, rabbit, mathematician, eats, hops, quickly, wildly}

    s = (sentence)

    p = { (sentence) › (noun phrase) (verb phrase),
    (noun phrase) › (article) (adjective) (noun),
    (noun phrase) › (article) (noun),
    (verb phrase) › (verb) (adverb),
    (verb phrase) › (verb),
    (article) › a,
    (article) › the,
    (adjective) › large,
    (adjective) › hungry,
    (noun) › rabbit,
    (noun) › mathematician,
    (verb) › eats,
    (verb) › hops,
    (adverb) › quickly,
    (adverb) › wildly }

    bu dilin backus-naur form (bnf)'u şu şekilde yazılır:

    <sentence> ::= <noun phrase> <verb phrase>
    <noun phrase> ::= <article> [<adjective>] <noun>
    <verb phrase> ::= <verb> [<adverb>]
    <article> ::= a | the
    <adjective> ::= large | hungry
    <noun> ::= rabbit | mathematician
    <verb> ::= eats | hops
    <adverb> ::= quickly | wildly
hesabın var mı? giriş yap