Translacja wprowadzenie
|
|
- Barbara Martyna Chmielewska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Translacja wprowadzenie Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki
2 Literatura 1) Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison- Wesley, 1986 (jest tłumaczenie polskie: Kompilatory. Reguły, metody i narzędzia, WNT, 2002). 2) Aho A. V., Ullman J. D.: The Theory of Parsing, Translation and Compiling, vol. 1, Prentice-Hall, 1972 (tłumaczenie rosyjskie: Ахо А., Ульман Дж.: Теория синтаксического анализа, перевода и компиляции, Издательство Мир, 1978) 3) Gries D.: Compiler Construction for Digital Computers (jest tłumaczenie polskie). 4) Waite W. M., Goos G.: Konstrukcja kompilatorów, WNT, 1989.
3 Translator, definicje (1) Translator to program, który umożliwia wykonanie programów napisanych w języku różnym od języka komputera. (2) Translator to specjalny program komputerowy, dokonujący tłumaczenia (translacji) programu napisanego w języku programowania, z postaci źródłowej do postaci wynikowej, zrozumiałej dla maszyny. Rozróżnia się dwa rodzaje translatorów oraz odpowiednio dwie podstawowe techniki translacji: kompilatory (kompilacja) interpretery (interpretacja)
4 Kompilator, kompilacja Kompilator: program, który tłumaczy tekst (kod) źródłowy programu na równoważny tekst (kod) wynikowy. Program źródłowy jest napisany w języku źródłowym, a program wynikowy należy do języka wynikowego. Wykonanie programu kompilatora następuje w czasie tłumaczenia. Cecha zasadnicza: program po przetłumaczeniu nie da się zmienić, jest statyczny. Kompilator jako dane wejściowe otrzymuje cały program źródłowy i przekształca go na postać wynikową.
5 Kompilator, kompilacja źródłowy Wejście Kompilator Wyjście wynikowy Zalety kompilacji: program skompilowany wykonuje się szybciej niż program interpretowany do wykonania programu wynikowego nie jest potrzebny kompilator
6 Interpreter, interpretacja Interpreter można nazwać dynamicznym translatorem. Tłumaczy on oraz na bieżąco wykonuje program źródłowy. Działanie interpretera polega na wyodrębnieniu niewielkich jednostek programu źródłowego, tłumaczeniu ich na pewną postać wynikową i natychmiastowym ich wykonywaniu. Proces jest cykliczny. W czasie interpretacji przechowywany jest program źródłowy. Wynik tłumaczenia nie jest dostępny. Przykład: for i: = 1 to 5 do s := s + i ; s:=s+i w przypadku interpretera ten fragment jest 5-krotnie tłumaczony
7 Interpreter, interpretacja Zalety interpreterów: łatwość zmian programu mniejsza zajętość pamięci zewnętrznej (tylko tekst źródłowy) możliwość pracy konwersacyjnej (zatrzymanie wykonania, zmiana wartości zmiennych, modyfikacja kodu, kontynuacja wykonania) przenośność, niezależność od platformy systemowo-sprzętowej, wykorzystanie w zastosowaniach sieciowych (tylko tekst źródłowy)
8 Kompilacja + intepretacja = Java źródłowy Kompilator Sieć Interpreter (maszyna wirtualna)
9 Kompilacja + JIT = Java źródłowy Kompilator Sieć JIT (maszyna wirtualna JVM) Maszyna wirtualna JVM obecnie to JIT (Just-In-Time, w domyśle kompilator), czyli środowisko uruchomieniowe, które z początku interpretuje kod, a gdy dany fragment kodu jest wykonywany wiele razy (staje się tzw. gorącym punktem, stąd nazwa najpopularniejszej JVM czyli Oracle HotSpot) to ten fragment zostaje skompilowany do natywnego kodu maszynowego i ten kod jest wykorzystywany zamiast interpretowania kodu ego (tzw. bajtowego) Javy.
10 Kompilacja + JIT = Java źródłowy Kompilator Sieć JIT (maszyna wirtualna JVM) JIT jest zaawansowanym systemem potrafiącym wykonywać programy znacznie szybciej niż interpretery. Fakt zastosowania środowiska uruchomieniowego w postaci JVM pozwala na zastosowanie optymalizacji, które nie są i nigdy nie będą dostępne na etapie kompilacji statycznej, co może doprowadzić do sytuacji, w której aplikacje wykonywane pod kontrolą JIT będą szybsze niż ich natywne odpowiedniki kompilowane statycznie.
11 Struktura kompilatora ANALIZA KOMPILATOR SYNTEZA kod zrodlowy Analizator leksykalny SKANER Analizator syntaktyczny PARSER Analizator semantyczny Generator kodu ego Optymalizator kodu ego Generator kodu ostatecznego kod wynikowy Tablica symboli (zmiennych, stałych, etykiet, nazw podprogramów)
12 Przód i tył kompilatora ANALIZA KOMPILATOR SYNTEZA kod zrodlowy Analizator leksykalny SKANER Analizator syntaktyczny PARSER Analizator semantyczny Generator kodu ego Optymali - zator kodu pośred - niego Generator kodu ostatecz - nego kod wynikowy Tablica symboli (zmiennych, stałych, etykiet, nazw, podprogramów) Przód kompilatora (front-end) zależny od języka źródłowego Tył kompilatora (back-end) zależny od platformy systemowo-sprzętowej
13 Znaczenie kodu ego, środowiska zintegrowane Różne języki źródłowe wynikowy na różne platformy systemowo- -sprzętowe Przód (1) Tył (1) Przód (2) Optymalizacja i łączenie kodu ego Tył (2) Przód (n) Tył (m)
14 Znaczenie kodu ego, środowiska zintegrowane Różne języki źródłowe Interpretacja lub kompilacja JIT kodu ego na różnych platformach systemowosprzętowych Przód (1) Tył (1) Przód (2) Optymalizacja i łączenie kodu ego Tył (2) Przód (n) Tył (m)
Plan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk
Plan wykładu (1) Paweł J. Matuszyk AGH Kraków 1 2 tor leksykalny tor syntaktyczny Generator pośredniego Generator wynikowego Hopcroft J. E., Ullman J. D., Wprowadzenie do teorii automatów, języków i obliczeń,
Bardziej szczegółowoWprowadzenie. Teoria automatów i języków formalnych. Literatura (1)
Wprowadzenie Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Literatura (1) 1. Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison-Wesley,
Bardziej szczegółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoProgram We Kompilator Wy Źródłowy
1. Aho A.V., Ullman J.D. - The Theory of Parsing, Translation and Compiling.1972. 2. Foster J.M. - Automatyczna analiza składniowa. 1976 3. Gries D. - Konstrukcja translatorów dla maszyn cyfrowych, 1984
Bardziej szczegółowoKONSTRUKCJA KOMPILATORÓW
KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,
Bardziej szczegółowoAnaliza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2016-2018 Bieżący sylabus w semestrze zimowym roku 2016/17 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/
Bardziej szczegółowoJava EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Bardziej szczegółowoZadanie analizy leksykalnej
Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoWykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Bardziej szczegółowoPodstawy Informatyki Języki programowania c.d.
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład
Bardziej szczegółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowoPoczątki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Bardziej szczegółowoAnaliza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych
Bardziej szczegółowoWprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques
Bardziej szczegółowoPodstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,
Bardziej szczegółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowoSprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów
Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).
Bardziej szczegółowoAnaliza leksykalna i generator LEX
Analiza leksykalna i generator LEX Wojciech Complak Wojciech.Complak@cs.put.poznan.pl wprowadzenie generator LEX wyrażenia regularne i niejednoznaczności retrakcja definicje regularne atrybuty lewy kontekst
Bardziej szczegółowoPyPy's Approach to Virtual Machine Construction
PyPy's Approach to Virtual Machine Construction Armin Rigo, Samuele Pedroni Prezentacja: Michał Bendowski Czym jest PyPy? Implementacja Pythona w Pythonie - wydajniejsza niż oryginalna implementacja w
Bardziej szczegółowoJęzyki i metodyka programowania
Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoMATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis
MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład
Bardziej szczegółowoGramatyki atrybutywne
Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoProgramowanie w C. dr inż. Stanisław Wszelak
Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoRyszard Myhan. Wykład 1: Języki programowania
Ryszard Myhan Wykład 1: Języki programowania Programowanie Programowanie to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych.
Bardziej szczegółowoPodstawy programowania wykład
Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu
Bardziej szczegółowoJęzyki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Bardziej szczegółowoO (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski
O (o)programowaniu R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski www.il.pw.edu.pl/~rg s-rg@siwy.il.pw.edu.pl Próba klasyfikacji Nie jest możliwa jednoznaczna klasyfikacja oprogramowania! Oto jedna
Bardziej szczegółowoPrzyczyny dwustopniowego tłumaczenia
Generacja kodu pośredniego Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Przyczyny dwustopniowego tłumaczenia Łatwość generowania kompilatorów tego samego języka dla róŝnych platform systemowo-sprzętowych
Bardziej szczegółowoAnalizator syntaktyczny
Analizator syntaktyczny program źródłowy analizator leksykalny token daj nast. token analizator syntaktyczny drzewo rozbioru syntaktycznego analizator semantyczny kod pośredni tablica symboli Analizator
Bardziej szczegółowoWprowadzenie. Wojciech Complak
Wprowadzenie Wojciech Complak Wojciech.Complak@cs.put.poznan.pl Przedmiot Podstawy kompilatorów, wykład 1, Wprowadzenie, prezentuje Wojciech Complak. Witam Państwa na pierwszym wykładzie z przedmiotu Podstawy
Bardziej szczegółowoInformatyka. Michał Rad
Informatyka Michał Rad 13.10.2016 Co i po co będziemy robić Plan wykładów: Wstęp, historia Systemy liczbowe Co to jest system operacyjny i po co to jest Sprawy związane z tworzeniem i własnością oprogramowania
Bardziej szczegółowoPodstawy programowania.
Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil
Bardziej szczegółowoPierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,
Bardziej szczegółowoWprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek
Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl
Bardziej szczegółowoAlgorytmy od problemu do wyniku
Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie
Bardziej szczegółowoProgramowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL
Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoPROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Bardziej szczegółowoQ E M U. http://www.qemu.com/
http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama
Bardziej szczegółowoPodstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoProgramowanie. Oprogramowanie Pojęcia wstępne Programem - sekwencja rozkazów, które instruują komputer, jakie operacje i w jakiej kolejności powinien wykonać, by rozwiązać określony problem. Programowanie
Bardziej szczegółowoKomputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy
Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.
Bardziej szczegółowoTRANSLACJA I TRANSLATORY
TRANSLACJA I TRANSLATORY Języki programowania niskiego czy też wysokiego poziomu mają na zadanie przetworzyć ogół algorytmów w nich zapisanych na taką postać aby maszyna cyfrowa była w stanie je wykonać
Bardziej szczegółowoALGORYTMY I PROGRAMY
ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy
Bardziej szczegółowoWłączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona?
Po co wydziela się analizę leksykalną? Wykład7,str1 Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona? 1 Analiza leksykalna jest prostsza niż składniowa leksyka
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoEmulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa
Emulacja maszyny Program udaje zupełnie inną architekturę Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa Udaje to znaczy co? To znaczy, że program tworzy wirtualnie:
Bardziej szczegółowoUproszczony schemat działania kompilatora
Wykład7,13XI2009,str.1 Uproszczony schemat działania kompilatora program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR
Bardziej szczegółowoJeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bardziej szczegółowoParadygmaty i języki programowania. Analiza leksykalna Skaner, RE, DAS, NAS, ε- NAS
Paradygmaty i języki programowania Analiza leksykalna Skaner, RE, DAS, NAS, - NAS Etapy pracy kompilatora Character stream [Lexical Analyzer] token stream [Syntax Analyzer] syntax tree [SemanFc Analyzer]
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Bardziej szczegółowoOptymalizacja oprogramowania - wprowadzenie
Optymalizacja oprogramowania - wprowadzenie Poznaskie Centrum Superkomputerowo Sieciowe Projekt jest współfinansowany ze rodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego
Bardziej szczegółowoProgramowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoQEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:
QEMU Stosunkowo szybki emulator procesora, korzystający z tzw. dynamicznej translacji i kilku innych ciekawych technik programistycznych i optymalizacyjnych. działa na procesorach procesorach: Intel x86,
Bardziej szczegółowoochrona w systemie operacyjnym
ochrona w systemie operacyjnym Ochrona mechanizm monitorowania, kontrolowania i nadzorowania dostępu programów, procesów i użytkowników do zasobów systemu. Wykorzystuje autoryzację i autentykację ochrona
Bardziej szczegółowoWprowadzenie do programowania
Wprowadzenie do programowania Olsztyn 2007-2012 Wojciech Sobieski Podstawowe pojęcia Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich
Bardziej szczegółowoUproszczony schemat działania kompilatora
Uproszczony schemat działania kompilatora Wykład7,str.1 program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR generacja
Bardziej szczegółowoGenerator YACC: gramatyki niejednoznaczne
Plan wykładu Generator YACC: gramatyki niejednoznaczne Wojciech Complak Wojciech.Complak@cs.put.poznan.pl gramatyki jednoznaczne i niejednoznaczne zalety gramatyk niejednoznacznych opisywanie łączności
Bardziej szczegółowoĆwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoPOLITECHNIKA ŚLĄSKA WYDZIAŁ INŻYNIERII MATERIAŁOWEJ I METALURGII. Edukacja Techniczno Informatyczna Studia dzienne. Praca dyplomowa inżynierska
POLITECHNIKA ŚLĄSKA WYDZIAŁ INŻYNIERII MATERIAŁOWEJ I METALURGII Edukacja Techniczno Informatyczna Studia dzienne Praca dyplomowa inżynierska Tomasz Babiarz PORÓWNANIE KOMPILATORÓW DLA ŚRODOWISKA JAVA
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoWarsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.
Warsztaty szkoleniowe Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5 Plan prezentacji 1. 2. 3. Przegląd narzędzi programistycznych wykorzystywanych
Bardziej szczegółowoModel-checking programów w Javie
Niezawodność systemów współbieżnych i obiektowych 20 stycznia 2010 1 O model-checkingu raz jeszcze 2 Modelowanie Translacja 3 w działaniu 4 Porównanie metod Bibliografia Cel O model-checkingu raz jeszcze
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoWykład 1: Wprowadzenie do technologii Java
Programowanie komputerów Wykład 1: Wprowadzenie do technologii Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Czym jest Java? Obiektowy język programowania ogólnego przeznaczenia Opracowany
Bardziej szczegółowo3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Bardziej szczegółowoAnaliza semantyczna. Gramatyka atrybutywna
Analiza semantyczna Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji na temat składni języka podlegającego tłumaczeniu, translator musi posiadać możliwość korzystania z wielu innych informacji
Bardziej szczegółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoJAVA. Tomasz Grzywacz. t.grzywacz@iel.waw.pl
JAVA Tomasz Grzywacz t.grzywacz@iel.waw.pl Literatura B. Eckel "Thinking in Java", Helion, 2001 Laurence Vanhelsuwe [i in.], Programujemy w Java, t.1-2, EXIT, Warszawa 1997 Kris Jamsa, Java, MIKOM, Warszawa
Bardziej szczegółowoWstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Bardziej szczegółowoProgramowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.
Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)
Bardziej szczegółowoProgramowanie w języku LOGO KOMENIUSZ
Programowanie w języku LOGO KOMENIUSZ Wykład nr 1 mgr inż. Józef Wójcik e-mail: jwojcik@pwsz-ns.edu.pl www.it.pwsz-ns.edu.pl/~jwojcik 2 Wprowadzenie Język Logo powstał w Laboratorium Sztucznej Inteligencji
Bardziej szczegółowoTEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.
TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej
Bardziej szczegółowoWykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,
Bardziej szczegółowoPodstawy Informatyki Języki programowania
Podstawy Informatyki Języki programowania alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Wprowadzenie Języki programowania 2 Przykład Wczytywanie programu do pamięci Podsumowanie 3 Przykład
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 01 1 / 9 Plan wykładu 1 Informacje
Bardziej szczegółowoĆwiczenie nr 6. Programowanie mieszane
Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu
Bardziej szczegółowoTechnika mikroprocesorowa. Języki programowania mikrokontrolerów
Języki programowania mikrokontrolerów Przed rozpoczęciem pisania kodu źródłowego programu należy zdecydować się na wybór określonego języka programowania. Stosuje się dwa rodzaje języków programowania
Bardziej szczegółowoInformatyka I. dr inż. Andrzej Czerepicki.
Informatyka I dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Politechnika Warszawska Wydział Transportu 2018 Sprawy organizacyjne Harmonogram zajęć Regulamin
Bardziej szczegółowoBezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia
Bezpieczeństwo systemów komputerowych Java i JavaScript mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Java i JavaScript używane w celu dodania cech interaktywności do stron WWW mogą
Bardziej szczegółowoProgramowanie I. Wprowadzenie. Proces programowania
I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25 Wprowadzenie. Proces Najnowsza wersja tego dokumentu
Bardziej szczegółowoJęzyki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski
Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24
Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.
Bardziej szczegółowoJęzyk JAVA podstawy programowania
Język JAVA podstawy programowania [43] Na ogół łatwiej daje się człowiek przekonać racjom, do których sam doszedł, niż tym, które nastręczyły się komuś innemu. Myśli Blaise Pascal Jacek Rumiński, 1999
Bardziej szczegółowoCel stosowania metod i środków informatyki
Cel stosowania metod i środków informatyki Głównym celem stosowania metod i środków informatyki jest wspomaganie człowieka w procesie rozwiązywania problemów. Przykładowe rodzaje problemów: obliczenia
Bardziej szczegółowoStruktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
Bardziej szczegółowo