Pytania otagowane jako compilers

5
Dowody poprawności kompilatora
Szukam materiału instruktażowego, który obejmuje dowody poprawności kompilatora, najlepiej przy użyciu metod denotacyjnych, na poziomie początkującego studenta. Alternatywnie, czy znasz kilka prostych przykładów kompilatora, których mógłbym zilustrować problemy? (Pierwszym przykładem, który przyszedł mi do głowy, był tłumacz z wyrażeń odrostkowych na wyrażenia postfiksowe. Ale nie pokazał niczego interesującego oprócz tego, …

2
Czy ktoś wykorzystał polimorficzną defunkcjonalizację Pottiera i Gauthiera w kompilatorze modułowym?
Defunkcjonalizacja to transformacja programu, która przekształca programy wyższego rzędu w programy pierwszego rzędu. Chodzi o to, że biorąc pod uwagę program, istnieje tylko skończona liczba abstrakcji lambda, więc można zastąpić każdą lambda identyfikatorem, a każdą aplikację funkcji wywołaniem procedury wprowadzania, która rozgałęzia się na tym identyfikatorze. Jest to czasami używane …


1
Kompilator Stalina brutalnie optymalizuje, ale jak?
Oświadczenie badawcze JM Siskinda stwierdza: Stalin jest optymalizującym kompilatorem programu Scheme, który wykonuje analizę statyczną całego programu i wykorzystuje wyniki tej analizy do generowania wyjątkowo wydajnego kodu. Stalin wykorzystuje duży zbiór technik analizy statycznej. Wykonuje nowatorską formę analizy przepływu wielowariantowego, która wykorzystuje iterowaną analizę przepływu monowariantowego w celu wykonania podziału …
14 compilers 


2
Czy kompilator dla typu zależnego jest znacznie trudniejszy niż interpreter?
Nauczyłem się czegoś o implementowaniu typów zależnych, takich jak ten samouczek , ale większość z nich to implementacja tłumaczy. Moje pytanie brzmi: wydaje się, że implementacja kompilatora dla typu zależnego jest znacznie trudniejsza niż kompilator, ponieważ naprawdę można ocenić argumenty typu zależnego dla sprawdzania typu. Więc Czy moje naiwne wrażenie …

1
Minimalizacja programu
Minimalizacja obwodu to problem polegający na zminimalizowaniu rozmiaru danego obwodu. Czy jest coś podobnego do programów ogólnych? W szczególności moje pytanie brzmi - Czy istnieją algorytmy minimalizujące liczbę instrukcji dla danego programu? Wiem, że to nierozstrzygalny problem, ale nie szukam rozwiązania, które zwróci coś optymalnego. Podczas gdy można zastosować wcześniej …

1
Literatura na temat analizy aliasów
Piszę pracę magisterską w CS i pracuję nad analizą aliasów. To, co mnie interesuje, to intraproceduralne, wrażliwe na przepływ analizy must-may-may-alias dla języków podobnych do Java. Poszukuję tekstów, które szczegółowo opisują podstawy tego tematu, ale nie udało mi się znaleźć niczego naprawdę odpowiedniego. Przeżyłem wiele podręczników na temat kompilatorów i …

2
Certyfikowany kompilator i optymalizacje w Coq / Agda
Interesują mnie sprawdzone kompilatory sformalizowane w teorii typów Martina-Löfa, tj. Coq / Agda. W tej chwili napisałem przykład małej zabawki. Dzięki temu mogę udowodnić, że moje optymalizacje są prawidłowe. Na przykład można wyeliminować dodawanie zerowe, tzn. Wyrażenia takie jak „x + 0”. Czy istnieją optymalizacje, które są trudne do przeprowadzenia …

1
Jakie są możliwe implementacje klas typów Haskell i jakie są ich (nie) zalety?
O ile mi wiadomo, funkcja Haskella z ograniczeniami klas typów jest wewnętrznie kompilowana do funkcji z dodatkowymi argumentami, które otrzymują słowniki z niezbędnymi implementacjami poszczególnych klas typów. Czy istnieją inne możliwości kompilowania klas typów? Jeśli tak, jakie są ich (nie) zalety? A jakie kompilatory ich używają?
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.