-
Data: 2010-04-09 12:04:26
Temat: Re: Gramatyki jezykow, ich kompilatory/interpretery i toole
Od: Jacek Czerwinski <...@...z.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Krzysiek Kowaliczek pisze:
> Użytkownik Seweryn Habdank-Wojewódzki napisał:
>> 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
Wiesz coooooo, i tak i nie. W automatycznym będzie reakcja na błąd
zawsze podobna, w ręcznym może i tu i ówdzie lepsza, ale nierówna.
Mój Ulubiony Konpilator C++ (tm) ma jak się wydaje ręczną. Czasem to
cholernie rozpaczliwy patch na sensowny starszy kod. (Oczywiście nie
widzialem źródel kompilatora, odbieram po efektach)
Gdy kod jest duży, obiektówka przekracza złożonością wyklikiwany kod
VCL, duży projeky, ma koszmarne fałszywe komunikaty o błędach. Po
zwaleniu specyfikacji jakiejś metody (ok!) pięcet linii dalej czepia
się na oślep, stosunkowo często wbudowanych typów TDateTime i podobnych
(????), oraz wnętrze stringów przestaje mu się podobać.
Po poprawienie pierwszego błędu, następne znikają.
Stąd wnioskuję, że ktoś to w przypływie rozpaczy przed odbiorem ostro
ręcznie patchował.
Same typy wbudowane (mocny rodowód pascalowy), nie są naturalnie
kompilowane, są na to blade wzmianki w helpach, ale raczej stwierdzam na
nos uzytkownika.
Wolę automatyczną diagnostykę np. z Antlr, może nie jest jak idealny
ręczny kompilator programistów którzy się nie śpieszyli, ale całkiem
sensowna.
Następne wpisy z tego wątku
- 09.04.10 12:36 Krzysiek Kowaliczek
- 09.04.10 14:36 Daniel Janus
- 09.04.10 14:54 Krzysiek Kowaliczek
Najnowsze wątki z tej grupy
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
Najnowsze wątki
- 2025-05-08 Usługi, rozliczanie płatności z karty i blika
- 2025-05-08 Lublin => Delphi Programmer <=
- 2025-05-08 Lublin => Programista Delphi <=
- 2025-05-08 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-05-08 Warszawa => Senior Node.js Developer (doświadczenie z framework Nest.
- 2025-05-07 Wielki smog w Watykanie
- 2025-05-07 Polscy czołgiści najlepsi w międzynarodowych zawodach na Łotwie!!!
- 2025-05-07 Znaki wewnętrzne
- 2025-05-07 Czujnik nacisku
- 2025-05-07 Wielki smog w Watykanie Nadal palą węglem w piecach
- 2025-05-07 Kraków => Business Development Manager - Network and Network Security
- 2025-05-07 Białystok => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-07 Białystok => Team Lead Data Engineer (Snowflake) <=
- 2025-05-07 Warszawa => IT Recruiter <=
- 2025-05-07 Żerniki => Dyspozytor Międzynarodowy <=