Języki formalne i gramatyki
|
|
- Magda Urbańska
- 8 lat temu
- Przeglądów:
Transkrypt
1 J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw10-jfig.doc; Data: :29:00 Ćwiczenie nr 10 Języki formalne i gramatyki Wprowadzenie 1. Napisz analizator leksykalny (LEX) i analizator składniowy (YACC), który będzie wykorzystywany przez akceptor łańcuchów o postaci: c 1 c 2 gdzie c 1 jest ciągiem cyfr oktalnych ([0-7]), a c 2 lustrzanym odbiciem c 1. Ciągi c 1 i c 2 mogą być puste, zatem łańcuch zawierający jedynie znak jest poprawny. Łańcuch poprawny (np.: ) winien być zaakceptowany komunikatem Syntax OK, natomiast niepoprawny (np.: ) - odrzucony komunikatem Syntax error!. W celu wykonania powyższego zadania należy: a. pobrać pakiet, który zawiera narzędzia, które pozwolą na skonfigurowanie środowiska uruchomieniowego, które będzie wykorzystywane podczas tworzenia akceptora, b. stworzenie analizatora leksykalnego (z wykorzystaniem narzędzia LEX) oraz analizatora składniowego (za pomocą narzędzia YACC), c. kompilacja i uruchomienie napisanych w poprzednim kroku analizatorów; wynik powinien zawierać ocenę poprawności poszczególnych wierszu znajdujących się w pliku wejściowym. 1. Instalacja i konfiguracja narzędzi Pobierz i rozpakuj pakiet, w dowolnej lokalizacji nie zawierającej spacji, korzystając z adresu: Po pomyślnym rozpakowaniu (np.: na dysku E:\) powinien się pojawić katalog Temp (np.: E:\Temp). Katalog Temp zawiera następujące katalogi: MKS pakiet MKS Lex and Yacc for DOS w wersji 3.2. Ukazał się na rynku w 1993 roku. Pomimo swojego wieku zawiera w pełni użyteczne wersje LEXa i YACCa. W późniejszych latach ukazały się poprawki do pakietu, które umożliwiły przetwarzanie większych specyfikacji i poprawiły kompatybilność narzędzi (teraz używamy 3.2a). Strona producenta pakietu: W celu instalacji narzędzi dla innego systemu operacyjnego proszę skorzystać z informacji zawartych pod adresem TC w celu korzystania z pakietu potrzebny jest także kompilator języka C. Wypróbowaliśmy z powodzeniem (co nie oznacza, że pierwsza kompilacja zakończy się powodzeniem) dobrze znany nam już z ćwiczeń dotyczących programowania imperatywnego kompilator Turbo C. Temp katalog wykorzystywany przez Lex-a i Yacc-a w celu przechowywania plików tymczasowych, które pojawiają się podczas korzystania z powyższych narzędzi. Plik init.bat, w którym zawarte są ustawienia zmiennych środowiskowych systemu Windows, które są wymagane podczas korzystania z powyższych narzędzi. SET ROOTDIR=%1\MKS // ścieżka do głównego katalogu z SET TMPDIR=%1\Temp // narzędziami // ścieżka do katalogu, w którym tworzone są // pliki tymczasowe przez wykorzystywane // narzędzia SET PATH=%PATH%;%1\MKS\BIN // dodanie ścieżki dostępu do narzędzi do //zmiennej systemowej PATH w celu //możliwości odwoływania się do narzędzi z //konsoli uruchomionej w dowolnym katalogu.
2 Przejście do wnętrza katalogu Temp i uruchomienie w nim konsoli systemowej za pomocą polecenia cmd. Uruchomienie w tej nowo utworzonej konsoli systemowej pliku init.bat z przekazaną jako parametr ścieżką do katalogu Temp (np.: init.bat E:\Temp). W tym momencie w tej konkretnej konsoli systemowej jest zdefiniowane środowisko uruchomieniowe, które jest wystarczające w celu realizacji powyższego zadania. Ważną kwestią jest, że jeżeli zamknięte zostanie ta konsola systemowa i uruchomiona kolejna, wtedy w tej i każdej następnej musi zostać uruchomione polecenie z punktu 1.5 przed rozpoczęciem pracy z narzędziami Lex i Yacc. 2. Konstrukcja analizatora leksykalnego i składniowego Celem analizatora leksykalnego jest sprawdzenie czy dane znajdujące się w wejściowym pliku są poprawnego typu (rodzaju). Analizując treść powyższego zadania wiemy, że przykładem poprawnych danych wejściowych jest np.: W takim razie wiemy, że na wejściu mogą się pojawić tylko cyfry oraz znak. Dodatkowo wiemy, że mogą to być tylko cyfry tworzące liczby oktalne, a więc ograniczamy zakres naszych cyfr od 0-7. Wynik analizy leksykalnej zakończy się powodzeniem tylko wtedy, gdy w pliku wejściowym znajdować się będą tylko cyfry w zakresie od 0-7 oraz znak. Na tym etapie niebadana jest ilość znaków, tzn. czy w pliku wejściowym znajduje się tylko jeden znak. Taka analiza dokonywana jest podczas analizy składniowej w kolejnym etapie, do którego można przejść tylko wtedy, gdy etap analizy leksykalnej zakończy się sukcesem. Jeżeli na wejściu zostanie wyszczególniony, co najmniej jeden znak, który nie jest cyfrą z zakresu od 0-7 lub znakiem wtedy analiza leksykalna kończy się niepowodzeniem. Poniżej znajduje się zawartość pliku scan.l, który zawiera implementację prostego analizatora leksykalnego zapisanego w języku Lex: %% [0-7] {return yytext[0];} // gdy na wejściu znajduje się // cyfra [0-7] przekaż ją do // dalszego etapu analizy " " {return ' ';} // gdy na wejściu znajduje się // znak przekaż go do dalszego // etapu analizy. {YY_FATAL("ERR!");} // jeżeli na wejściu pojawi się // dowolny znak (. ), który nie // został obsłużony przez żadną z // powyższych reguł bazujących na // wzorcach to przerwij analizę // leksykalną z błędem // sygnalizujących błędnie // przygotowaną zawartość pliku // wejściowego Celem analizatora składniowego jest sprawdzenie czy dane wejściowe poprawnego typu są zgodne z przyjmowaną przez nas jako poprawną składnię języka. W przypadku powyższego zadania przykładem poprawnych danych wejściowych jest np.: Zauważmy w takim razie, że = 1 S 1 => S = = 2 S 2 => S = 3 3 => 3 S 3 => S =, gdzie S to rodzaj podwyrażenia. Dla powyższego języka można zdefiniować następującą gramatykę, która może zostać zapisana z wykorzystaniem narzędzie Yacc (poniżej przedstawiona zostaje zawartość pliku scang.y):
3 %{ #include <stdio.h> // pliki nagłówkowe zawierające #include <dos.h> // funkcje, które będą używane #include <stdlib.h> // w dalszych sekcjach kodu #include <process.h> // źródłowego %} %% // rozpoczyna się sekcja gramatyki E : S {printf("syntax OK\n");} // potwierdź na wyjściu popr. skł. ; S : '0' S '0' // kolejne reguły, które definiują '1' S '1' // poprawną składnię języka '2' S '2' // zdefiniowanego w treści zadania '3' S '3' '4' S '4' '5' S '5' '6' S '6' '7' S '7' ' ' ; %% // impl. pokrywanych funkcji yacca void yyerror(char* msg) // kod funkcji, który zostanie { // wywołany w momencie, gdy printf("syntax error!\n"); // wyrażenia w pliku wejściowym exit(1); // nie będą się zgadzać składniowo } // z językiem z treści zadania 3. Kompilacja i uruchomienie i testowanie Powyższe pliki wraz z plikiem zawierającym dane wejściowe in.i znajdują się w katalogu projektu scan w katalogu kompilatora TC (np.: E:\Temp\TC\Projects\jfk\scan). W celu uruchomienia powyższego projektu został napisany plik makejf.bat, który znajduję się w katalogu głównym kompilatora (np.: E:\Temp\TC). Przechodzimy do katalogu kompilatora TurboC za pomocą polecenia cd TC. Kompilacja i uruchamianie projektu scan znajdującego się w katalogu Projects\jfk, w którym powinny się znajdować katalogi kolejnych tworzonych projektów (np.: E:\Temp\TC\Projects\jfk\scan) za pomocą polecenia makejf.bat nazwa_projektu (np.: makejf.bat scan).
4 Dodatkowe materiały Zakładka materiały dla studentów dla przedmiotu języki formalne i kompilatory na stronie domowej dr inż. W. Complaka Zadania Zad. 1. Jakie elementy składają się na pełną definicję formalną gramatyki opisywanego języka? a)...(t), b)...(n), c)...(s), d)...(p). Zad. 2. Załóżmy, że chcemy zdefiniować gramatykę dla języka opisanego przez 1+ = {1,11,111,...}. W rezultacie otrzymujemy następującą gramatykę: {1;S;S;S->1,S->S1}, gdzie , S -..., S -..., S->1,S->S Zad. 3. Zaznacz wszystkie poprawne odpowiedzi. Forma zdaniowa jest to skończony ciąg wyrazów, który musi zawierać przynajmniej jeden wyraz. Wyrazy wchodzące w skład formy zdaniowej składają się z: a) symboli nieterminalnych (np.:...->ss->...), b) symboli terminalnych (np.:...->11->...), c) symboli terminalnych i nieterminalnych (np.:...->s1->...). Zad. 4. Zaznacz wszystkie poprawne odpowiedzi. Zdanie jest to skończony ciąg wyrazów, który musi zawierać przynajmniej jeden wyraz. Wyrazy wchodzące w skład zdania składają się z: a) symboli nieterminalnych (np.:...->ss), b) symboli terminalnych (np.:...->11), c) symboli terminalnych i nieterminalnych (np.:...->s1). Zad. 5. Zaznacz wszystkie poprawne odpowiedzi. a) formą początkową wywodu zdania jest forma zdaniowa, b) formą końcową wywodu zdania jest symbol początkowy, c) formą przejściową wywodu są zdania, d) formą końcową wywodu zdania jest zdanie, e) formą początkową wywodu zdania jest symbol początkowy, f) formą przejściową wywodu zdania są formy zdaniowe, g) wywód zdania rozpoczynany jest od symbolu początkowego, który następnie jest przekształcany w kolejne formy zdaniowe (wykorzystanie produkcji), aż do momentu osiągnięcia zdania, które chcieliśmy wywieść, h) wywód zdania rozpoczynany jest od zdania, które chcemy wywieść i następnie jest ono przekształcane w kolejne zdania (wykorzystanie produkcji), aż do momentu osiągnięcia symbolu początkowego wykorzystywanej gramatyki, i) każde zdanie jest formą zdaniową, ale nie na odwrót, j) symbol początkowy nie jest formą zdaniową. Zad. 6. Weryfikacja poprawności gramatyki opisującej dany język jest dokonywana poprzez... poprawnych i niepoprawnych zdań.
5 Zad. 7. Załóżmy, że mamy następujące dwie gramatyki liniowe zdefiniowane poniżej. Należy określić, która z nich jest lewoliniowa i prawoliniowa oraz czym się charakteryzuje każda z nich. S A B A A a A a B B b B b S A B A a A A a B b B B b Dla każdego... istnieje gramatyka lewoliniowa (prawoliniowa) opisująca ten sam język. Zad. 8. Załóżmy, że mamy następujące dwie gramatyki zdefiniowane poniżej. Należy określić, która z nich jest bezkontekstowa i kontekstowa oraz czym się charakteryzuje każda z nich. W S W W + S S C S S * C C L C ( W ) L 1 L 2 L 3 S a X Y S a S X Y a X a b b X b b c X c c b Y b c c Y c c (*) Dla każdego zadania z zakresu od 9 do 13 sprawdzić poniższe zdania z wykorzystaniem zaproponowanych gramatyk zaimplementowanych z wykorzystaniem pakietu zawierającego narzędzia Lex i Yacc. Zad. 9(*). Należy zaproponować gramatykę dla języka opisanego za pomocą następującego wyrażenia regularnego 1 n 2 m m 1 n, gdzie m,n>0 i wywieść następujące zdania: a) , b) , c) , d) Zad. 10. Należy zaproponować gramatykę dla języka opisanego za pomocą następującego wyrażenia regularnego 1+2*1+ i wywieść następujące zdania: a) , b) , c) , d) Zad. 11. Należy zaproponować gramatykę dla języka opisanego za pomocą następującego wyrażenia regularnego a n b+c+a n, gdzie n>0 i wywieść następujące zdania: a) aabcaa..., b) aabca -..., c) aaabaaa -..., d) aaabbcccaaa -... Zad. 12. Należy zaproponować gramatykę dla języka opisanego za pomocą następującego wyrażenia regularnego a n b n+m a m, gdzie n,m>0 i wywieść następujące zdania: a) aabbbbbaaa..., b) abbba -..., c) aaaa -..., d) aaabbbba -...
6 Zad. 13(*). Należy zaproponować gramatykę dla języka opisanego za pomocą następującego wyrażenia regularnego a n b * a n, gdzie n>0 i wywieść następujące zdania: a) aabbbbaa..., b) abbba -..., c) aaaa -..., d) aaabbbbbbaaa -... Zad. 14. Notacja Backusa-Naura (BNF) jest sposobem zapisu., czyli sposobem opisu.. Notacja BNF jest zestawem o następującej postaci: <symbol> ::= <wyrażenie zawierające symbole> Zad. 15. Wykorzystując rozszerzoną notację Backusa-Naura (EBNF) opisz składnię polskiego adresu pocztowego. Sz.P. Jan Kowalski, ul. Tajna 1 m2/3, Duże, Mały Zad. 16(*).Wykorzystując rozszerzoną notację Backusa-Naura (EBNF) zdefiniuj notację EBNF.
Ćwiczenia nr 11. Translatory. Wprowadzenie teoretyczne
J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw11-tr.doc; Data: 2009-01-15 09:47:00 Ćwiczenia nr 11 Translatory Wprowadzenie teoretyczne Wiele dokumentów wprowadzających do języków Lex oraz
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 9 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX, program YACC oraz kompilator języka C. Dla środowiska Linux mogą to być:
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 3 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX oraz kompilator. Dla środowiska Linux mogą to być: Darmowa wersja generatora
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 6 Generator LLgen. Zadanie 1: Proszę napisać akceptor dla języka a n b m (n, m > 0). Przykłady: aaabb powinniśmy otrzymać wynik: OK aaabba powinniśmy otrzymać komunikat
Ję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
Generatory analizatorów
Generatory analizatorów Generator analizatora leksykalnego flex ( http://www.gnu.org/software/flex/ ) Generator analizatora składniowego bison ( http://www.gnu.org/software/bison/ ) Idea ogólna Opis atomów
Języki formalne i automaty Ćwiczenia 1
Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...
Analiza 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)
Efektywna analiza składniowa GBK
TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji
Podstawy generatora YACC. Bartosz Bogacki.
Podstawy generatora YACC Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy generatora analizatorów składniowych YACC. Zapraszam serdecznie
WPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT
10. Translacja sterowana składnią i YACC
10. Translacja sterowana składnią i YACC 10.1 Charakterystyka problemu translacja sterowana składnią jest metodą generacji przetworników tekstu języków, których składnię opisano za pomocą gramatyki (bezkontekstowej)
Windows 10 - Jak uruchomić system w trybie
1 (Pobrane z slow7.pl) Windows 10 - Jak uruchomić system w trybie awaryjnym? Najprostszym ze sposobów wymuszenia na systemie przejścia do trybu awaryjnego jest wybranie Start a następnie Zasilanie i z
L E X. Generator analizatorów leksykalnych
L E X Generator analizatorów leksykalnych GENERATOR L E X Zadaniem generatora LEX jest wygenerowanie kodu źródłowego analizatora leksykalnego (domyślnie) w języku C; Kod źródłowy generowany jest przez
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór
Trochę o plikach wsadowych (Windows)
Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też
Załącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Zadanie 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:
Metody Kompilacji Wykład 13
Metody Kompilacji Wykład 13 Prosty Translator Translator dla prostych wyrażeń Schemat translacji sterowanej składnią często służy za specyfikację translatora. Schemat na następnym slajdzie zostanie użyty
Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Parsery LL() Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy generacyjnej (zstępującej, top-down) symbol początkowy już terminale wyprowadzenie lewostronne pierwszy od lewej
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
Analiza 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
Instrukcja instalacji aplikacji Comarch Smart Card ToolBox
Instrukcja instalacji aplikacji Comarch Smart Card ToolBox dla urządzeń kryptograficznych Bankowość Internetowa R-Online Biznes Spis treści: 1. Wstęp...2 2. Instalacja Comarch Smart Card ToolBox w systemie
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 1 Celem laboratorium jest zapoznanie się ze środowiskiem i sprawdzenie poprawności działania narzędzi. Nazwy programów i rezultaty będą takie same w systemie operacyjnym
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka
Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =
Wprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
KONSTRUKCJA 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,
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową
Java 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)
Pracownia internetowa w szkole ZASTOSOWANIA
NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje
IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux
IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Linux Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Linux. Przegląd
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja
Wprowadzenie. 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,
Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT
Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd Analiza Syntaktyczna Wstęp Parser dostaje na wejściu ciąg tokenów od analizatora leksykalnego i sprawdza: czy ciąg ten może być generowany przez gramatykę.
Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym
Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy
MentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Programowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki
Instytut Informatyki Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny
ForPascal Interpreter języka Pascal
Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:
Utworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
Podstawy 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
Analiza 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
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center
Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center Spis treści Konfiguracja Microsoft Outlook 2007... 3 Konfiguracja dla POP3... 7 Konfiguracja dla IMAP... 11 Sprawdzenie poprawności
GRAMATYKI BEZKONTEKSTOWE
GRAMATYKI BEZKONTEKSTOWE PODSTAWOWE POJĘCIE GRAMATYK Przez gramatykę rozumie się pewien układ reguł zadający zbiór słów utworzonych z symboli języka. Słowa te mogą być i interpretowane jako obiekty językowe
1. Pobrać plik masm.zip (Macro Assembler 6.15 & Segmented Executable Linker 5.60) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/masm.zip).
J.Nawrocki, M. Antczak, G. Palik, A. Widelska Plik źródłowy: 07cw4-asm.doc; Data: 2007-09-26 6:00 Ćwiczenie nr 4 Język asemblera Środowisko uruchomieniowe 1. Pobrać plik masm.zip (Macro Assembler 6.15
SYLABUS 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/
Instalacja i opis podstawowych funkcji programu Dev-C++
Instalacja i opis podstawowych funkcji programu Dev-C++ Przed rozpoczęciem programowania musimy zainstalować i przygotować kompilator. Spośród wielu dostępnych kompilatorów polecam aplikację Dev-C++, ze
Zadanie programistyczne nr 3 z Sieci komputerowych
Zadanie programistyczne nr 3 z Sieci komputerowych 1 Opis zadania Celem tego zadania jest napisanie prostego serwera WWW, wyświetlającego strony z zadanego katalogu. W tym celu wykonaj następujące czynności
Języki formalne i automaty Ćwiczenia 3
Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW1... 3 Konstrukcja tabeli parsowania
ZYKI BEZKONTEKSTOWE (KLASA
Spis treści 6. JĘZYKI BEZKONTEKSTOWE (KLASA "2")... 2 6.1. GRAMATYKI BEZKONTEKSTOWE... 2 6.2. AUTOMATY ZE STOSEM... 12 7. DETERMINISTYCZNE JĘZYKI BEZKONTEKSTOWE I ICH AKCEPTORY... 16 7.1. GRAMATYKI I JĘZYKI
#include <stdio.h> #include <stdlib.h> // standardowe biblioteki
Plik źródłowy: 07cw2-imperat.doc; Data: 2007-10-11 20:19:00 J.Nawrocki, M. Antczak, G. Palik, A.Widelska Ćwiczenie nr 2 Programowanie imperatywne Środowisko uruchomieniowe 1. Pobrać plik TC.zip (Turbo
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy
Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia
Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051
Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Katedra Automatyki, Wydział EAIiE Akademia Górniczo-Hutnicza w Krakowie Marcin Piątek Kraków 2008 1. Ważne uwagi i definicje Poniższy
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Wyszukiwanie plików w systemie Windows
1 (Pobrane z slow7.pl) Bardzo często pracując na komputerze prędzej czy później łapiemy się na pytaniu - Gdzie jest ten plik? Zapisujemy i pobieramy masę plików i w nawale pracy pewne czynności są wykonywane
29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6
Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla
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ń,
Programowanie 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
Języki formalne i automaty Ćwiczenia 6
Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended
Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Semantyka i Weryfikacja Programów - Laboratorium 6
Semantyka i Weryfikacja Programów - Laboratorium 6 Analizator leksykalny i składniowy - kalkulator programowalny Cel. Przedstawienie zasad budowy i działania narzędzi do tworzenia kompilatorów języków
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 10 Translacja sterowana składnią w generatorze YACC. Zadanie 1: Proszę napisać program, który dla danej liczby całkowitej j oraz niepustego ciągu liczb naturalnych c
Wprowadzenie do analizy składniowej. Bartosz Bogacki.
Wprowadzenie do analizy składniowej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy wprowadzenia do analizy składniowej. Zapraszam serdecznie
JAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
Ję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
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Podstawy Informatyki. Algorytmy i ich poprawność
Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania
Załącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Symfonia Faktura. Instalacja programu. Wersja 2013
Symfonia Faktura Instalacja programu Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy
PODRĘCZNIK UŻYTKOWNIKA programu Pilot
TRX Krzysztof Kryński Cyfrowe rejestratory rozmów seria KSRC PODRĘCZNIK UŻYTKOWNIKA programu Pilot Wersja 2.1 Maj 2013 Dotyczy programu Pilot w wersji 1.6.3 TRX ul. Garibaldiego 4 04-078 Warszawa Tel.
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Języki i gramatyki formalne
Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny
Układy VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
POLITECHNIKA LUBELSKA. Walidacja Modeli Xtext
POLITECHNIKA LUBELSKA Walidacja Modeli Xtext 1. Wstęp 1.1. Czym jest walidacja Podczas opracowywania języka programowania analiza statyczna jest jednym z najważniejszych aspektów. W naukach technicznych
Programowanie 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
Wprowadzenie: 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
Mirror Tool.
Mirror Tool Narzędzie Mirror Tool służy do pobierania baz sygnatur wirusów offline. Jeśli klienty nie mają połączenia do sieci Internet, a potrzebują dostęp do bazy sygnatur wirusów, można w takim przypadku
Programowanie 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
Git, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Języki formalne i automaty Ćwiczenia 4
Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza na stronie WWW z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed
Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio
Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty
Metody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3
Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...
JĘZYKI FORMALNE I METODY KOMPILACJI
Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform
Pracownia internetowa w każdej szkole (edycja Jesień 2007)
Instrukcja numer D1/04_01/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 (D1) Tworzenie kopii zapasowej ustawień systemowych serwera - Zadania do wykonania
Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax: