Pytania otagowane jako interpreters

1
Zrozumienie różnic: tradycyjny interpreter, kompilator JIT, interpreter JIT i kompilator AOT
Próbuję zrozumieć różnice między tradycyjnym tłumaczem, kompilatorem JIT, interpreterem JIT i kompilatorem AOT. Tłumacz to po prostu maszyna (wirtualna lub fizyczna), która wykonuje instrukcje w pewnym języku komputerowym. W tym sensie JVM jest tłumaczem, a fizyczne procesory to tłumacze. Kompilacja z wyprzedzeniem oznacza po prostu skompilowanie kodu do jakiegoś języka …

5
Czy Python jest interpretowany lub kompilowany?
To tylko zastanawiam się, kiedy czytałem o językach interpretowanych i kompilowanych. Ruby jest bez wątpienia językiem interpretowanym, ponieważ kod źródłowy jest przetwarzany przez interpretera w punkcie wykonania. Przeciwnie, C jest językiem kompilowanym, ponieważ najpierw należy skompilować kod źródłowy zgodnie z maszyną, a następnie wykonać. Wynikiem tego jest znacznie szybsze wykonanie. …


14
Czy możemy sformułować ogólne stwierdzenia dotyczące wydajności kodu interpretowanego w porównaniu do kodu skompilowanego?
Porównuję dwie technologie, aby uzyskać rekomendację, z której firma powinna skorzystać. Kod technologii A jest interpretowany, podczas gdy kod technologii B jest kompilowany do kodu maszynowego. W moim porównaniu stwierdzam, że ogólnie technologia B miałaby lepszą wydajność, ponieważ nie ma dodatkowego obciążenia związanego z procesem interpretacji. Oświadczam również, że ponieważ …

6
Czy tłumacz ustny wytwarza kod maszynowy?
Intensywnie studiuję tematy kompilatorów i tłumaczy. Chcę sprawdzić, czy moje podstawowe zrozumienie jest prawidłowe, więc załóżmy, że: Mam język o nazwie „Foobish”, a jego słowami kluczowymi są <OUTPUT> 'TEXT', <Number_of_Repeats>; Więc jeśli chcę drukować na konsoli 10 razy, napiszę OUTPUT 'Hello World', 10; Witaj plik World.foobish. Teraz piszę tłumacza w …

5
Dlaczego studiowanie interpretera seplenienia w seplenienie jest tak ważne?
Widziałem wiele programów CS i sugestii dotyczących uczenia się dla nowych programistów, którzy wzywają początkującego programistę do studiowania interpretera lisp, który jest specjalnie napisany w lisp. Wszystkie te witryny mówią coś podobnego do „to intelektualna rewelacja”, „jest to oświecenie, które powinien mieć każdy poważny programista” lub „pokazuje relacje sprzętowe / …

5
Interpretowane a skompilowane: przydatne rozróżnienie?
Zadaje się tutaj wiele pytań na temat interpretowanych i skompilowanych narzędzi językowych. Zastanawiam się, czy to rozróżnienie rzeczywiście ma jakiś sens. (W rzeczywistości pytania zwykle dotyczą języków, ale naprawdę myślą o najpopularniejszych implementacjach tych języków). Obecnie prawie żadna implementacja nie jest ściśle interpretowana. tzn. prawie nikt nie analizuje i nie …

10
Czy kompilatory i tłumacze mogą mieć błędy i co my (jako użytkownicy) możemy sobie z nimi poradzić? [Zamknięte]
Jeśli praca kompilatora polega głównie na tłumaczeniu kodu źródłowego na kod maszynowy, czy w kompilatorze może być jakaś usterka, np. Błędne „tłumaczenie”? To samo dotyczy tłumacza: czy czasami nie może wygenerować wymaganej treści? Nie słyszałem o żadnych błędach w kompilatorach / tłumaczach, ale czy one istnieją?

2
Jakie cechy semantyczne Pythona (i innych dynamicznych języków) przyczyniają się do jego spowolnienia?
Nie znam dobrze Python. Staram się lepiej zrozumieć, jakie dokładnie cechy dynamicznych języków (à la Python, Lua, Scheme, Perl, Ruby, ...) zmuszają ich implementacje do powolnego działania. Przykładowo, maszynowość meta Lua 5.3 intuicyjnie spowolniłaby Lua dość powoli, ale w praktyce Lua jest podobno dość szybka (i szybsza niż Python). Mam …

3
Dlaczego nie ma kompilatora Pythona do natywnego kodu maszynowego?
Jak rozumiem, przyczyną różnicy prędkości między skompilowanymi językami a pythonem jest to, że pierwszy kompiluje kod aż do kodu natywnej maszyny, podczas gdy python kompiluje się do kodu bajtowego python, który ma być interpretowany przez PVM. Widzę, że w ten sposób kody Pythona mogą być używane na wielu systemach operacyjnych …

3
W jakim procesie występuje błąd składniowy? (tokenizacja lub parsowanie)
Próbuję zrozumieć kompilację i interpretację, krok po kroku, zastanawiając się nad całkowitym obrazem. Podszedłem więc do pytania podczas czytania http://www.cs.man.ac.uk/~pjj/farrell/comp3.html tego artykułu To mówi : Kolejny etap kompilatora nosi nazwę Parser. Ta część kompilatora rozumie gramatykę języka. Odpowiada za identyfikację błędów składniowych i tłumaczenie bezbłędnego programu na wewnętrzne struktury danych, …

2
Czy możliwe jest utworzenie tłumacza „bootstrapped” niezależnego od oryginalnego tłumacza?
Według Wikipedii termin „bootstrapping” w kontekście pisania kompilatorów oznacza : W informatyce ładowanie to proces pisania kompilatora (lub asemblera) w źródłowym języku programowania, który zamierza skompilować. Zastosowanie tej techniki prowadzi do kompilatora samoobsługowego. I rozumiem, jak to by działało. Ta historia wydaje się jednak nieco inna dla tłumaczy. Teraz oczywiście …


3
Jak wdrożyć leniwą ocenę if ()
Obecnie implementuję ewaluator wyrażeń (wyrażenia jednowierszowe, takie jak formuły) w oparciu o: wprowadzone wyrażenie jest tokenizowane w celu oddzielenia literalnych boolanów, liczb całkowitych, dziesiętnych, ciągów, funkcji, identyfikatorów (zmiennych) Zaimplementowałem algorytm Shunting-yard (lekko zmodyfikowany do obsługi funkcji o zmiennej liczbie argumentów), aby pozbyć się nawiasów i uporządkować operatorów z przyzwoitym pierwszeństwem …

8
Co powstrzymuje C przed kompilacją / interpretacją / JIT?
Java jest często chwalona za niesamowitą przenośność, która, jak przypuszczam, wynika z JVM. Moje pytanie brzmi: co powstrzymuje C przed kompilacją / interpretacją / JIT'em? Jeśli tak, C można również napisać raz i sprawić, by działał na dowolnym urządzeniu. ale nie jest to popularny mechanizm przetwarzania programu w języku C. …

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.