APP 01 Pojecia Wstepne 2010

background image

Kompilacja przechodnia

KOMPILATOR

MASZYNA

GŁÓWNA

PROGRAM

WYNIKOWY

MASZYNA

DOCELOWA

DANE

WE

KOMUNIKATY

KONTROLNE

DANE

WY

PROGRAM

ŹRÓDŁOWY

background image

Interpretacja

INTERPRETATOR

MASZYNA

DOCELOWA

DANE

WE

DANE

WY

PROGRAM

ŹRÓDŁOWY

background image

Język programowania

Język programowania jest zbiorem reguł,

symboli i słów specjalnych (kluczowych)
używanych do zapisywania tekstu programu.

Reguły dotyczą gramatyki (

syntax

) i

znaczenia - semantyki (

semantics

).

Definicja 1.

Gramatyką nazywamy reguły

formalne określające jak zapisywać
poprawnie instrukcje i konstrukcje w języku
programowania.

Definicja 2.

Semantyką nazywamy reguły

określające znaczenie instrukcji i konstrukcji
zapisanych w języku programowania.

background image

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.

Definicja 3.

Metajęzykiem nazywamy język

używany do opisu innego języka.

Gramatyka Ady zdefiniowana jest przy pomocy

rozszerzonej notacji Backusa-Naura.

background image

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)

background image

EBNF (

Extended Backus-Naur Form

)

Przykład 1.

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

background image

Słowniczek

• digit

– cyfra,

• identifier

– identyfikator,

• letter

– litera,

• upper_case_letter

– wielka litera,

• lower_case_letter

– mała litera,

• accented_letter

– litera akcentowana.

background image

Struktura programu w Adzie

ada_program ::= [context_clause]

procedure

program_name

is

[declarative_part]

begin

sequence_of_statements

end

program_name;

Przykład 2.

Pierwiastki_Trojmianu

background image

Słowniczek

• context_clause

– lista importowa,

• program_name

– nazwa (identyfikator)

programu,

• declarative_part

– część deklaracyjna,

• sequence_of_statements

– ciąg instrukcji.

background image

Zapisywanie treści programów

• Składowe tekstu programu
• Identyfikatory
• Słowa zastrzeżone
• Liczby
• Komentarze

background image

Składowe tekstu programu

• małe i duże litery alfabetu łącznie z

literami akcentowanymi

• cyfry dziesiętne

0..9

• znaki specjalne

” # & ’ ( ) *

+ ,

- . / : ; < = > _ |

• znak odstępu czyli spacji

background image

Identyfikatory 1

Definicja 4.

Identyfikator 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

background image

Identyfikatory 2

Przykład 3.

To jest formalnie ten sam

identyfikator
Moj_Program moj_program
mOJ_pROGRAM MOJ_PROGRAM

Identyfikatorem nie może być słowo

zastrzeżone (kluczowe)

background image

Słowa zastrzeżone albo kluczowe (Ada

95)

(

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

background image

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ład 4.

2000 = 2e3 = 2000E0

Podstawa#Reprezentacja#

Przykład 5.

16#B#e+2 = 11*16

2

Grupowanie: 10000000 = 10_000_000 = 10e6
Rzeczywiste zawierają kropkę dziesiętną
123.45 = 1.2345E2 = 12345.0e-2 =

10#123.45#

background image

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

background image

Zadania. Literatura podstawowa

Przykład 6.

A : Float; -- To jest zmienna

rzeczywista

Zadania

Ada_Zadania_1_Pojecia_Wstepne.pdf
Literatura podstawowa
Morawski, M., i Zajączkowski, A. M. (2003).

Wstęp do programowania w języku
Ada’95
. Rozdziały 1, 2.


Document Outline


Wyszukiwarka

Podobne podstrony:
Algebra 0 01 pojęcia wstępne
01 poznawcza wstepne 2009 2010 st1
01 a uwagi wstępne 5lilszx64nd4oxrhizynpldjlqzjnjd57b4svza 5LILSZX64ND4OXRHIZYNPLDJLQZJNJD57B4SVZA
01 genetyka BG 2010, Uniwersytet Jagielloński, Genetyka, Genetyka, Ćwiczenia
4 01 00 03 1 2010
TOMOGRAF, WYKLAD3, Pojęcia wstępne
Badania marketingowe [ pojęcia wstępne], badania marketingowe, Temat: Badania marketingowe -pojęcia
Badania marketingowe [ pojęcia wstępne], badania marketingowe, Temat: Badania marketingowe -pojęcia
02 Rozdział 01 Wiadomości wstępne o równaniach różniczkowych
Wykład 01 Pojęcie Zarządzania i Organizacji
01 Zagadnienia wstepne 2009id 2714
01 projekt wstepny uwaga bledy
KP11 Ekonomika Pojecia wstepne
postępowanie egzekucyjne w administracji (curcuma), 01. Pojęcie

więcej podobnych podstron