1 / 17

Kompilacja przechodnia

Kompilacja przechodnia. Interpretacja. Język programowania. Język programowania ( programming language ) jest zbiorem reguł, symboli i słów specjalnych (kluczowych) używanych do zapisywania tekstu programu. Reguły dotyczą gramatyki ( syntax ) i znaczenia - semantyki ( semantics ).

vashon
Download Presentation

Kompilacja przechodnia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kompilacja przechodnia

  2. Interpretacja

  3. Język programowania Język programowania (programming language) jest zbiorem reguł, symboli i słów specjalnych (kluczowych) używanych do zapisywania tekstu programu. Reguły dotyczą gramatyki (syntax) i znaczenia - semantyki (semantics). DefinicjaGramatyką nazywamy reguły formalne określające jak zapisywać poprawnie instrukcje i konstrukcje w języku programowania. DefinicjaSemantyką nazywamy reguły określające znaczenie instrukcji i konstrukcji zapisanych w języku programowania.

  4. Metajęzyk Gramatyka języka programowania musi być jednoznaczna. Uznajemy, że komputer nie myśli. W celu uniknięcia niejednoznaczności gramatyka języka programowania zapisywana jest w precyzyjnym języku formalnym nazywanym metajęzykiem. DefinicjaMetajęzykiem nazywamy język używany do opisu innego języka. Gramatyka Ady zdefiniowana jest przy pomocy rozszerzonej notacji Backusa-Naura(EBNF – Extended Backus-Naur Form).

  5. EBNF (Extended Backus-Naur Form) ::= jest określone jako (równe z definicji) [ ] element opcjonalny { } element powtórzony 0 lub więcej razy | lub (oddziela elementy zamienne)

  6. EBNF (Extended Backus-Naur Form) Przykład digit ::= 0|1|2|3|4|5|6|7|8|9 identifier::= letter{[_]letter_or_digit} letter_or_digit ::= letter|digit letter ::= upper_case_letter|lower_case_letter |accented_letter

  7. Słowniczek • digit– cyfra, • identifier– identyfikator, • letter– litera, • upper_case_letter– wielka litera, • lower_case_letter– mała litera, • accented_letter– litera akcentowana.

  8. Struktura programu w Adzie ada_program ::= [context_clause] procedure program_name is [declarative_part] begin sequence_of_statements end program_name; Przykład PP_001_Pierwiastki_Trojmianu

  9. Słowniczek • context_clause– lista importowa, • program_name– nazwa (identyfikator) programu, • declarative_part– część deklaracyjna, • sequence_of_statements– ciąg instrukcji.

  10. Zapisywanie treści programów Składowe tekstu programu • Identyfikatory • Słowa zastrzeżone • Liczby • Komentarze

  11. Składowe tekstu programu • małe i duże litery alfabetu łącznie z literami akcentowanymi • cyfry dziesiętne0..9 • znaki specjalne” # & ’ ( ) * + , - . / : ; < = > _ | • znak odstępu czyli spacji

  12. Identyfikatory 1 DefinicjaIdentyfikator (identifier) jest nazwą procesu, albo obiektu i służy do odwoływania się do tego procesu, albo obiektu identifier::= letter{[_]letter_or_digit} Identyfikator musi zaczynać się od litery, nie może kończyć się podkreślnikiem, dwa podkreślniki nie mogą wystąpić obok siebie. Zalecenia stylistyczne Używaj identyfikatorów zrozumiałych dla czytającego Twój program Używaj tej samej postaci identyfikatora w całym programie

  13. Identyfikatory 2 Przykład To jest formalnie ten sam identyfikator Moj_Program moj_program mOJ_pROGRAM MOJ_PROGRAM Identyfikatorem nie może być słowo zastrzeżone (kluczowe) (reserved word, key word)

  14. Słowa zastrzeżone albo kluczowe(reserved words, key words) abort abs abstract accept access aliased all and array at begin body case constant declare delay delta digits do else elsif end entry exception exit for function generic goto if in is limited loop mod new not null of or others out package pragma private procedure protected raise range record rem renames requeue return reverse select separate subtype tagged task terminate then type until use when while with xor

  15. Liczby Całkowite Cyfry: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Podstawy: {2, ..., 9, 10, 11, 12, 13, 14, 15} Domyślna: 10 Postać wykładnicza: E albo e Przykład2000 = 2e3 = 2000E0 Podstawa#Reprezentacja# Przykład 16#B#e+2 = 11*162 Grupowanie: 10000000 = 10_000_000 = 10e6 Rzeczywiste zawierają kropkę dziesiętną 123.45 = 1.2345E2 = 12345.0e-2 = 10#123.45#

  16. Komentarze Zalecenia stylistyczne Należy pisać programy z pełnymi objaśnieniami. Pierwszy komentarz powinien zostać umieszczony po nagłówku programu i powinien wyjaśniać do czego program służy. Można tam również podać źródło algorytmu wg którego realizowane są obliczenia. Van Tassel (1982) podaje następujące zalecenia: • Stosuj komentarze wstępne – patrz wyżej • Stosuj przewodniki po długich programach • Komentarz ma dawać więcej niż parafrazę tekstu programu • Błędne komentarze są gorsze niż zupełny ich brak

  17. Zadania. Literatura podstawowa Przykład A : Float; -- To jest zmienna rzeczywista Zadania Ada_Zadania_01_Pojecia_Wstepne.pdf Literatura podstawowa Morawski, M., Zajączkowski, A.M. (2003).Wstęp do programowania w języku Ada’95. Rozdziały 1, 2.

More Related