eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAlgol68Re: Algol68
  • Data: 2013-08-14 23:36:34
    Temat: Re: Algol68
    Od: A.L. <a...@a...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Wed, 14 Aug 2013 21:29:12 +0000 (UTC), "Stachu 'Dozzie' K."
    <d...@g...eat.some.screws.spammer.invalid> wrote:

    >On 2013-08-14, A.L <a...@a...com> wrote:
    >> Swego czasu Algol68 uchodzil za "niemozliwy do zaimplementowania" ze
    >> wzgledu na zlozonosc gramatyki jak i formalizmu uzytego do opisu
    >> gramatyki. Okazalo sie jednak ze jak najbardziej do zaimplementowania;
    >> powstalo calkiem sporo implementacji.
    >[...]
    >> Wiedza o budowie kompilatorow posunela sie tak daleko ze kompilator
    >> Algolu68 jest w zasiegu hobbysty. Oto kompilator pelnego Algolu68
    >> zaimplementowany przez facia ktory na codzien jest inzynierem
    >> chemikiem
    >>
    >>
    >> http://jmvdveer.home.xs4all.nl/
    >
    >W sumie mnie to specjalnie nie dziwi. Niedawno jako sysadmin (czyli na
    >potrzeby zawodowe) chyba trzeci czy czwarty raz wyprodukowałem sobie
    >parser w oparciu o gramatykę (tym razem to był parser formatowania
    >wiki). Jeśli ja sobie radzę z takimi rzeczami, to to nie może być
    >trudne.
    >

    Tak. Tylko ze Algol68 opisany jest nei w BNF, a w jezyku gramatyk
    wielopoziomowych Wijngaardena. To w niczym nie przypomina notacji BNF;
    to jest zupelnie inne zwierze. Nei znajdzie sie tego w popularnych
    ksiazkach na temat kompilatorow. Kawalek gramatyki Algolu60 ponizej.

    Gramatyka vW to, w skrocie mowiac, gramatyka ktora moze byc uzyta do
    definiowania nieskonczonej ilosci gramatyk przy pomocy skonczonej
    ilosci regul

    A.L.

    kawaleh Algolu68

    a) program text : STYLE begin token, new LAYER1 preludes,
    parallel token, new LAYER1 tasks PACK,
    STYLE end token.
    b) NEST1 preludes : NEST1 standard prelude with DECS1,
    NEST1 library prelude with DECSETY2,
    NEST1 system prelude with DECSETY3, where (NEST1) is
    (new EMPTY new DECS1 DECSETY2 DECSETY3).
    c) NEST1 EXTERNAL prelude with DECSETY1 :
    strong void NEST1 series with DECSETY1, go on token ;
    where (DECSETY1) is (EMPTY), EMPTY.
    d) NEST1 tasks : NEST1 system task list, and also token,
    NEST1 user task PACK list.
    e) NEST1 system task : strong void NEST1 unit.
    f) NEST1 user task : NEST2 particular prelude with DECS,
    NEST2 particular program PACK, go on token,
    NEST2 particular postlude,
    where (NEST2) is (NEST1 new DECS STOP).
    g) NEST2 particular program :
    NEST2 new LABSETY3 joined label definition
    of LABSETY3, strong void NEST2 new LABSETY3
    ENCLOSED clause.
    h) NEST joined label definition of LABSETY :
    where (LABSETY) is (EMPTY), EMPTY ;
    where (LABSETY) is (LAB1 LABSETY1),
    NEST label definition of LAB1,
    NEST joined label definition of$ LABSETY1.
    i) NEST2 particular postlude :
    strong void NEST2 series with STOP.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: