140 likes | 417 Views
Podstawy programowania. Gabriela Przęczek. Podstawowe pojęcia. Program – to zbiór poleceń zapisanych w określonym języku programowania zgodnie z obowiązującymi w tym języku regułami Programowanie – proce tworzenia i testowania programu
E N D
Podstawy programowania Gabriela Przęczek
Podstawowe pojęcia • Program – to zbiór poleceń zapisanych w określonym języku programowania zgodnie z obowiązującymi w tym języku regułami • Programowanie – proce tworzenia i testowania programu • Kod źródłowy – ciąg instrukcji i deklaracji zapisany w języku programowania Kod źródłowy jest zapisany zwykle w pliku tekstowym Opisuje operacje, jakie powinien wykonać komputer
Kod źródłowy jest przetwarzany przez kompilator na kod maszynowy lub kod pośredni rozumiany przez komputer
Translatorjest to program tłumaczący programy napisane w określonym języku programowania na język maszynowy. Tłumaczenie takie jest konieczne, ponieważ procesor rozumie tylko język maszynowy • Kompilator jest to program do tłumaczenia kodu napisanego w języku źródłowym na kod w języku wynikowym
Kompilatory działają w następujący sposób: tłumaczą cały program zapisują przetłumaczony program w pamięci komputera lub na dysku Program po przetłumaczeniu (skompilowaniu) przez kompilator jest gotowy do wykonania. Językami kompilowanymi są na przykład: Pascal, C, C++ Kod źródłowy Kod wynikowy kompilator
W trakcie kompilacji kompilatory wykonują większość podanych niżej operacji lub wszystkie: • Wstępne przetwarzanie kodu • Analiza leksykalna • Analiza składniowa (syntaktyczna) • Analiza semantyczna • Optymalizacja kodu wynikowego • Generowanie kodu
Wstępne przetwarzanie kodu • Przed przekazaniem programu na wejście kompilatora następuje wstępne przetwarzanie kodu za pomocą preprocesora. Preprocesor to specjalny mechanizm języka, który przetwarza tekst programu jeszcze przed jego kompilacją. Preprocesor przygotowuje kod tak, aby kompilator mógł go skompilować zgodnie z życzeniem programisty. Bardzo często uwalnia on też od konieczności powtarzania często występujących i potrzebnych fragmentów kodu, jak na przykład deklaracji funkcji. • Analiza leksykalna • Wczytując takie dane, zanim będziemy mogli je przetwarzać, musimy rozpoznać ich składnię.. Analiza leksykalna polega na sprawdzeniu, czy nie występują niedozwolone znaki oraz wyróżnieniu słów kluczowych, operatorów i łańcuchów znaków, a także na podzieleniu tekstu na jednostki leksykalne oddzielone spacjami lub tabulatorami.
Analiza składniowa (syntaktyczna) • Analizator składniowy parser sprawdza kod źródłowy w celu rozpoznawania jego struktury składniowej i ustaleniu czy dane są poprawne składniowo • Analiza semantyczna • W trakcie tej analizy sprawdzana jest poprawność programu na poziomie znaczenia poszczególnych instrukcji oraz programu jako całości. • W skład analizy semantycznej wchodzą: • Kontrola typów • Kontrola poprawności instrukcji • Kontrola nazw
Optymalizacja kodu wynikowego • Podczas optymalizacji kodu wykonywane są czynności mające na celu przyspieszenie działania programu oraz zmniejszenie jego objętości • Generowanie kodu • Na podstawie kodu źródłowego w wyniku kompilacji generowany jest kod języka niskiego poziomu C++ lub kod w języku pośrednim Java
Interpretery – tłumaczą kod źródłowy instrukcja po instrukcji • Interpretery tłumaczą program w następujący sposób: • pobierają jedną instrukcję programu • tłumaczą na język maszynowy • dają procesorowi do wykonania • powracają do pkt. 1. • Językami interpretowanymi są na przykład: BASIC, SQL, JavaScript, itp.
Modułto wydzielony fragment programu komputerowego. Duży program jest dzielony na moduły, co ułatwia pracę z programem. Każdy moduł jest kompilowany osobno • Linker to narzędzie do łączenia przekompilowanych modułów w jeden plik. Odpowiada ona za odpowiednie połączenie modułów w jeden plik • Konsolidacja – polega na połączeniu skonsolidowanych modułów i utworzeniu pliku źródłowego • Aplikacja internetowa, program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową z hostem użytkownika komputera z wykorzystaniem przeglądarki internetowej użytkownika, • Aplet niewielki program komputerowy, który może być wykonany tylko z poziomu innej aplikacji