eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingGramatyki jezykow, ich kompilatory/interpretery i tooleRe: Gramatyki jezykow, ich kompilatory/interpretery i toole
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: Krzysiek Kowaliczek <k...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Gramatyki jezykow, ich kompilatory/interpretery i toole
    Date: Fri, 09 Apr 2010 10:15:31 +0200
    Organization: http://onet.pl
    Lines: 31
    Message-ID: <hpmnm3$il$1@news.onet.pl>
    References: <3...@g...googlegroups.com>
    NNTP-Posting-Host: krak.alatek.krakow.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1270800899 597 217.96.2.229 (9 Apr 2010 08:14:59 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Fri, 9 Apr 2010 08:14:59 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.8.1.22)
    Gecko/20090605 SeaMonkey/1.1.17
    In-Reply-To: <3...@g...googlegroups.com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:185408
    [ ukryj nagłówki ]

    Użytkownik Seweryn Habdank-Wojewódzki napisał:
    > Mam pytanie, ktory z jezykow o niemarginalnej
    > popularnosci uzywa takich tooli do wsparcia kompilatora
    > tudziez interpretera? Jesli zaden popularny tego nie robi,

    GCC do wersji 3.4 używało YACC. Od 3.4 ma ręcznie napisany parser.
    Wyrzucenie YACC przyspieszyło pewnie to, że jest to generator
    gramatyk LALR(1) i nie bardzo nadaje się do złożonych gramatyk
    jak C++. Poniższy link opisuje m.in. problemy z generatorami
    LALR dla C++:
    http://scottmcpeak.com/elkhound/elkhound.ps

    Innym przykładem jest Ocaml, który używa wersji YACC dla tego języka.

    > to jakie sa przeciw stosowaniu tooli w takich sytuacjach,
    > czyli czemu uzytkowe jezyki nie chca uzywac tooli?

    Ręcznie pisanie parserów umożliwia większą kontrolę nad całym
    procesem i co za tym idzie lepszą możliwość informacje o błędach i
    lepszą możliwość reakcji na błędy, itp. Jeżeli podejdzie się do tego
    starannie, efekt jest świetny o czym w odnośniku poniżej (część
    przykładów jest wynikiem lepszej semantyki, a nie parsera):
    http://blog.llvm.org/2010/04/amazing-feats-of-clang-
    error-recovery.html

    Generatory parserów umożliwiają szybsze napisanie gramatyki. Oczywiście
    jest mniejsza elastyczność jeżeli chodzi o reakcję na błędy, ale przy
    odpowiednim podejściu efekt też może być zadowalający:
    http://research.swtch.com/2010/01/generating-good-sy
    ntax-errors.html

    Pozdrawiam
    KK

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: