• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • LLVM



    Podstrony: 1 [2] [3] [4]
    Przeczytaj także...
    Ada to strukturalny, kompilowany, imperatywny, statycznie typowany i obiektowy język programowania opracowany przez Jean Ichbiaha i zespół z CII Honeywell Bull w latach 70. XX wieku. Język ten wygrał konkurs zorganizowany przez Departament Obrony USA (U.S. Department of Defense – DoD), pokonując 19 innych projektów. Nazwa języka, nadana przez DoD, pochodzi od imienia lady Augusty Ady Lovelace, uważanej za pierwszą programistkę w historii.GNU lightning jest biblioteką open-source do generowania kodu maszynowego w trakcie działania programu. Cechuje się dużą wydajnością i przydatnością w złożonych problemach związanych z generacją kodu, dzięki czemu jest stosowana w kompilatorach JIT. W przeciwieństwie do LLVM czy libJIT, GNU lightning dostarcza wyłącznie niskopoziomowego interfejsu tłumaczącego na język maszynowy konkretnego sprzętu ustandaryzowany, uniwersalny kod asemblerowy RISC luźno bazujący na SPARC oraz architekturze MIPS. Biblioteka nie zajmuje się alokacją rejestrów, zarządzaniem przepływem sterowania, ani optymalizacją.

    LLVM (poprzednio Low Level Virtual Machine) – napisany w C++ kompilator. Pierwotnie był zaprojektowany dla języka C/C++, lecz dzięki jego ogólnej architekturze powstało wiele front-endów obejmujących m.in. języki Objective-C, Fortran, Ada, Haskell, D, Java, Python, Ruby czy ActionScript.

    Projekt powstał w 2000 roku na Uniwersytecie Illinois w Urbana-Champaign pod kierownictwem Vikrama Adve oraz Chrisa Lattnera. LLVM początkowo służył badaniom nad technikami dynamicznej kompilacji dla statycznych i dynamicznych języków programowania i został wydany na licencji BSD. W 2005 roku Apple Inc. zatrudniło Lattnera i powołało zespół programistów w celu wykorzystania LLVM w systemach tworzenia aplikacji tej firmy. LLVM jest integralną częścią najnowszych narzędzi programistycznych dla systemu OS X oraz iOS.

    W językach programowania system typów może być zdefiniowany jako system klasyfikacji wyrażeń w zależności od rodzajów wartości, jakie one generują. Każdej obliczonej wartości przypisywany jest pewien typ, który jednoznacznie definiuje, jakie operacje można na niej wykonać. Śledząc przepływ wartości, system typów stara się udowodnić, że w programie występuje poprawne typowanie, tzn. nie dochodzi do sytuacji, w której na wartości określonego typu próbujemy wykonać niedozwoloną operację.Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.

    Spis treści

  • 1 Zasada działania
  • 2 Front-endy
  • 3 Zobacz też
  • 4 Przypisy
  • 5 Linki zewnętrzne


  • Podstrony: 1 [2] [3] [4]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    W językach programowania pozwalających na bezpośredni dostęp do pamięci (jak np. asembler, C, C++, Cyclone) pamięć jest reprezentowana jako jednowymiarowa tablica bajtów - wszystkie zmienne (statyczne i dynamiczne) są umieszczane w tej „tablicy”.
    Tablica w informatyce to kontener danych dostępnych, w którym poszczególne komórki dostępne są za pomocą kluczy, które najczęściej przyjmują wartości numeryczne. Rozmiar tablicy jest albo ustalony z góry (tablice statyczne), albo może się zmieniać w trakcie wykonywania programu (tablice dynamiczne).
    Liczby całkowite – liczby naturalne dodatnie N + = { 1 , 2 , 3 , … } {displaystyle mathbb {N} _{+}={1,2,3,dots }} oraz liczby przeciwne do nich { − 1 , − 2 , − 3 , … } {displaystyle {-1,-2,-3,dots }} , a także liczba zero. Uogólnieniem liczb całkowitych są liczby wymierne i tym samym liczby rzeczywiste, szczególnym przypadkiem liczb całkowitych są: liczby naturalne.
    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.
    Single Static Assignment to postać programu używana przez kompilatory w trakcie optymalizacji, w której każdej zmiennej wartość przypisuje się tylko raz.
    Język D – wieloparadygmatowy język programowania umożliwiający programowanie obiektowe, imperatywne oraz metaprogramowanie. Został opracowany przez Waltera Brighta, twórcę pierwszego natywnego kompilatora C++, Zortech C++. D powstał jako obiektowy następca języka C, jednak w przeciwieństwie do C++ zachowuje ze swoim poprzednikiem jedynie binarną kompatybilność. D posiada wiele cech obecnych w C++, a jego składnia oraz możliwości są wzorowane na Javie, C# oraz Eiffel. Pierwsza stabilna wersja języka ukazała się 2 stycznia 2007 roku. 17 czerwca 2007 roku opublikowano po raz pierwszy eksperymentalną wersję 2.0.
    Uniwersytet Illinois w Urbana-Champaign (University of Illinois at Urbana-Champaign, UofI lub UIUC) – najlepszy i najbardziej wszechstronny uniwersytet w systemie publicznych uniwersytetów stanu Illinois.

    Reklama

    Czas generowania strony: 0.02 sek.