Pascal

Sintakse un valodas konstrukcijas

Pascal būtībā ir procedūru valoda, kura ietver sevī daudzas struktūras un konstrukcijas ar rezervētiem vārdiem, piemēram, if, then, else, while, for, u.c. Tomēr Pascal satur arī daudz iespēju informācijas un abstrakciju strukturēšanai, kuru nav Algol-60 programmēšanas valodā, piemēram, tipu, ierakstu, rādītāju, sarakstu un mainīgo.

Hello world

Jebkura programma Pascal valodā sākas no rezervēta vārda Program, aiz kura seko programmas nosaukums. Aiz nosaukuma liek semikolu. Pascal valodā bloks tiek norobežots ar vārdiem begin un end. Operatorus atdala ar semikolu, bet programmas beigās ir punkts. Pascal ir jutīgs uz simbolu reģistru.
Tādā veidā, pati vienkāršākā programma Pascal valodā varētu izskatīties šādi:

 begin
 end.
Programma neizpilda nekādas darbības un satur tikai tukšu operatoru bloku.
Programmas piemērs, kura izvada uz ekrāna teksta rindu «Hello, World!»:

 Program HelloWorld(output);
 begin
   writeLn('Hello, World!');  { rindas ievades operators }
 end.

Moduļi

Moduļi ir bibliotēkas, kas satur konstantes, datu tipu aprakstus, mainīgos, procedūras un funkcijas, kuras var ielādēt atmiņā no diska tikai tad, kad programmā tās speciāli tiek pieprasītas. Katrs modulis ir translējams atsevišķi un var tikt izmantots jebkurā programmā. Ja programmā citādi nav prasīts, tad atmiņā pēc noklusējuma ir tikai Pascal valodas biežāk izmantojamā daļa.
Programmas apjoms bez moduļiem nedrīkst pārsniegt 64 kb. Katrs modulis arī var būt 64 kb liels. Programmēšanas valoda Turbo Pascal ļauj izmantot 10 iepriekš izveidotus moduļus. Katras programmas vajadzībām var veidot arī savus moduļus.
Lai izmantotu kādu moduli, nepieciešams to izziņot moduļu aprakstā sadaļā Uses.

Moduļa struktūra

Moduļa struktūra ir analoģiska programmas struktūrai, tomēr ir dažas lielas atšķirības. Piemēram, apskatīsim moduli:

 unit <identifikators>;
 interface
 uses <moduļu saraksts>;      { neobligāts }
 { globālie apraksti }
 implementation
 uses <moduļu saraksts>;    { neobligāts }
 { lokālie apraksti }
 { procedūru un funkciju realizācija }
 begin
 { inicializācijas kods }
 end.
Moduļa virsraksts sākas ar rezervētu vārdu unit, aiz kura seko moduļa nosaukums (identifikators) tieši tāpat, kā gadījumā ar programmas nosaukumu. Nākamais moduļa elements ir atslēgas vārds interface. Tas apzīmē interfeisa sekcijas sākumu modulī - moduļa daļa, kura ir pieejama citiem moduļiem vai programmām, kurās tas tiek izmantots. Programmas modulis var izmantot citus moduļus, tāpēc tos uzskaita operatorā uses. Operators uses (ja tāds vispār ir) var atrasties divās vietās. Pirmkārt, tas var sekot uzreiz pēc atslēgas vārda interface. Šajā gadījumā jebkuras konstantes un datu tipi, kuri aprakstīti šo moduļu interfeisa sekcijā, var tikt izmantoti jebkurā šī moduļa interfeisa daļas aprakstā. Otrkārt, tas var atrasties aiz atslēgas vārda implementation. Šajā gadījumā visi apraksti no šiem moduļiem var tikt izmantoti tikai realizācijas sekcijā.

Izmantošana

Lai izmantotu moduli, galvenajai programmai vai citam modulim jāimportē dotais modulis, t.i., jāsatur norāde uz šo moduli. Šo norādi pieraksta aiz atslēgas vārda USES, pēc kura ar komatiem atdalīti moduļu nosaukumi, kurus programma izmanto. Moduļu sarakstam jāatrodas programmas koda sākumā, tieši pēc programmas nosaukuma vai arī pēc atslēgas vārda INTERFACE, ja šos moduļus izmanto vēl cits modulis.

System

Modulis System nodrošina zema līmeņa iebūvēto programmu izpildi, piemēram, datu ievadi un izvadi, rindu apstrādāšanu, operācijas ar peldošo komatu, dinamiskās atmiņas pārvaldi.
Visi moduļi un programmas pēc noklusējuma vienmēr izmanto moduli System, tādēļ programmas tekstā var uz to neatsaukties un to nedefinēt atsevišķi.

CRT

Šis modulis ir paredzēts efektīva darba ar ekrānu un tastatūru organizēšanai. Modulis CRT satur ekrāna režīmu, paplašinātu tastatūras kodu lasīšanas, krāsu, logu un skaņas izmantošanas pārvaldes apakšprogrammas. Tas nodrošina tādu programmu rakstīšanu, kurās paredzēta konkrēta izvade uz ekrāna, kā arī skaņa.
Moduli CRT var izmantot tikai programmās, kas ir paredzētas darbam uz IBM personālajiem datoriem vai ir savietojami ar tiem.

Printer

Modulis PRINTER nodrošina to, ka standarta izvade tiek nosūtīta uz printeri, izmantojot operatorus write un writeln.

Overlay

Modulis OVERLAY satur procedūras, funkcijas un mainīgos, kurus izmanto pārklājumu pārvaldes programma. Šo moduli izmanto programmās, kurām ir pieprasīts vairāk atmiņas, nekā tās ir reāli datorā. Tādēļ programmas darba laikā atmiņā būs atrodama tikai tās daļa. Modulis kompilē programmu pa daļām, katru no tam ierakstot atsevišķā izpildāmajā failā.

Strings

Modulis STRINGS nodrošina iespēju programmā izmantot speciālas simbolu virknes, kas beidzas ar ASCII kodu 0 (null-terminated strings). Tas kopā ar paplašinātu sintaksi noder, lai rakstītu ar Windows lietotnēm saderīgas programmas.

Graph

Šajā modulī aprakstītas procedūras un funkcijas, kas ir paredzētas darbam ar grafiskā režīma ekrānu, kā arī dažas iebūvētās konstantes un mainīgie, kurus var izmantot grafiskās programmās. Graph ir universāla apakšprogrammu bibliotēka darbam ar grafikiem. Šajā modulī ir grafisku attēlu apstrādātāji, kuri atbalsta IBM un ar tiem saderīgos personālajos datoros īpaši izplatītos grafiskos adapterus.

Datu tipi

Pascal valoda izmantotie datu tipi tiek iedalīti 3 grupās: skalārie, strukturētie un pārsūtāmie.