Powszechnie stwierdza się, że 64-bitowa architektura procesora Intel Itanium zawiodła, ponieważ rewolucyjny zestaw instrukcji EPIC był bardzo trudny do napisania dobrego kompilatora, co oznaczało brak dobrych narzędzi programistycznych dla IA64, co oznaczało brak programistów tworzących programy dla architektury i dlatego nikt nie chciał używać sprzętu bez dużej ilości oprogramowania, dlatego …
Stroustrup twierdzi, że Cfront, pierwszy kompilator C ++, został napisany w C ++ ( FAQ Stroustrup ). Ale jak to możliwe, że pierwszy kompilator C ++ zostanie napisany w C ++? Kod, który składa się na kompilator, również musi zostać skompilowany, a zatem pierwszy kompilator C ++ nie mógł zostać …
Myślę, że rozumiem cel AST i zbudowałem już kilka struktur drzewiastych, ale nigdy AST. Jestem w większości zdezorientowany, ponieważ węzły są tekstem, a nie liczbą, więc nie mogę wymyślić dobrego sposobu na wprowadzenie tokena / łańcucha, gdy parsuję jakiś kod. Na przykład, kiedy patrzyłem na diagramy AST, zmienna i jej …
tło Strona Wikipedii na temat cukru syntaktycznego zawiera : W informatyce cukier syntaktyczny jest składnią w języku programowania, który ma na celu ułatwienie czytania lub wyrażania. Dzięki temu język jest „słodszy” dla ludzi: rzeczy można wyrazić jaśniej, bardziej zwięźle lub w alternatywnym stylu, który niektórzy mogą preferować. Naprawdę nie rozumiem, …
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 …
Czytałem, że Facebook zaczynał w PHP, a następnie, aby przyspieszyć, teraz kompilują PHP jako kod C ++. Jeśli tak jest, dlaczego nie: Po prostu program w c ++? Z pewnością musi być NIEKTÓRE błędy / błędy po naciśnięciu przycisku magicznego kompilatora, który przenosi PHP na kod c ++, prawda? Jeśli …
Załóżmy, że sprawdzam kod, który wysyłają kandydaci, aby udowodnić swoje umiejętności. Oczywiście nie chcę uruchamiać plików wykonywalnych, które wysyłają. Nie tak wyraźnie, wolałbym nie uruchamiać wyniku kompilacji ich kodu (na przykład Java pozwala ukryć kod wykonywalny w komentarzach ). A co ze skompilowaniem ich kodu? Chcę ostrzeżenia kompilatora, jeśli w …
Kiedy projektując własny język programowania, warto napisać konwerter, który pobiera kod źródłowy i konwertuje go na kod C lub C ++, aby móc użyć istniejącego kompilatora, takiego jak gcc, aby uzyskać kod maszynowy? Czy istnieją projekty wykorzystujące to podejście?
Czy istnieje jakiś kompilator just-in-time dla skompilowanych języków, takich jak C i C ++? (Pierwsze imiona, które przychodzą na myśl, to Clang i LLVM! Ale nie sądzę, że obecnie je obsługują.) Wyjaśnienie: Myślę, że oprogramowanie może skorzystać z informacji zwrotnych dotyczących profilowania środowiska wykonawczego i agresywnie zoptymalizowanej ponownej kompilacji punktów …
Dlaczego nie chcesz, aby kompilator pobierał program taki jak ten: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; i przekonwertować na program taki jak ten: function c(b) { return b^2 + 5 }; eliminując w ten sposób potrzebę zapamiętania przez komputer adresu zwrotnego c …
Słyszałem już w wielu miejscach, w których ludzie oczekują, że języki będą korzystać z kompilatora samoobsługowego lub przynajmniej będą go używać, aby zasłużyć na szacunek. Jestem ciekawy, dlaczego tak jest. Kompilator wydaje się być bardzo znaczącym oprogramowaniem do napisania i wyobrażam sobie, że nie wszystkie języki są odpowiednie do ich …
Zastanawiam się (teraz, kiedy zacząłem od C ++, który potrzebuje kompilatora), dlaczego Python nie potrzebuje kompilatora? Po prostu wpisuję kod, zapisuję go jako exec i uruchamiam. W C ++ muszę tworzyć kompilacje i wszystkie inne fajne rzeczy.
W moim krótkim programowaniu kompilowanie dowolnego C ++, Java itp. Na maszynie 32- lub 64-bitowej było banalne, o ile mam pełne źródło programu. Ale wiele programów nie zostało wydanych 64-bitowych. Najbardziej denerwujące jest to, że nie ma jeszcze 64-bitowej wersji silnika Unity. Co utrudnia kompilację niektórych programów dla komputerów 64-bitowych?
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 …
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ą?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.