Tölvumál - 01.05.1990, Síða 10
Tölvumál Maí 1990
Pascal
staðall
FyrirlesturTómasar
Gíslasonar,
tölvunarfræðingsfrá
ráðstefnu
SÍ 8. mars 1990
Staðallinn leyfir ekki
einingaforritun, og er það lítið í
anda nútíma-forritunaraðferða.
Að undanfömu hefur mikið verið
talað um staðla, og nauðsyn þeirra
með tilliti til alþjóðlegs samstarfs.
Forritun hefur ekki farið varhluta af
þessari stöðlunaráherslu, og nægir
þar að nefna forritunarmálið Ada.
Ég tel að allir geti verið sammála
um nauðsyn þess að aðilar með
ólíkan bakgmnn geti gengið út frá
sameiginlegum gmnni, en þá er líka
nauðsynlegt að þessi sameiginlegi
gmnnur sé í takt við tímann.
Pascal hefur fengið sinn staðal, eins
og ýmis önnur forritunarmál, og er
sá staðall tekinn til umfjöllunar í
þessari grein.
Staðallinn er að gmnni til frá því
fyrir 1983, en þá var hann
samþykktur sem ISO 7185 - 1983,
og var svo tekinn upp óbreyttur
sem Evrópustaðall árið 1987.
Staðallinn er gefinn út í hefti upp á
73 síður, og er af því ljóst að ekki er
mikið farið út í smáatriði. Ekkert er
fjallað um skjávinnslu, og lítið sem
ekkert um strengjameðhöndlun.
Ég hef að undanfömu skoðað tvo
Pascal þýðendur með tilliti til
staðalsins, Vax Pascal og Turbo
Pascal.
Vax Pascal getur þýtt forrit eftir
staðli (ISO 7185- 1983, eða
ANSI/IEEE), og þá er hægt að velja
hvort þýtt er með villutilkynningum
eða viðvörunum. Efþýttermeð
villutilkynningum er ekki hægt að
þýða forrit sem víkja frá staðlinum,
en ef viðvaranir eru notaðar, kemur
þýðandinn einungis með ábendingar
um það sem betur mætti fara.
Þegar ég prófaði að taka forritasafn
sem ég hafði verið að vinna mcð
kom í ljós að ekki var hægt að þýða
eitt einasta forrit ef reynt var að
þýða eftir staðli. Villumar voru
þess eðlis að helst var að skilja að
þýðandinn hefði búist við einhverju
allt öðru forritunarmáli.
Turbo Pascal 5.0 (TP5), er reyndar
minn uppáhaldsþýðandi, en þegar
hann er skoðaður, kemur í ljós að
hann ber afar lítinn svip af
staðlinum. Ef ég reyni að orða þetta
aðeins betur, þá má segja að
staðallinn beri einna mestan svip af
fomsögunum.
Til að styðja þetta aðeins ætla ég að
nefna nokkur dæmi um ósamræmi á
milli Turbo Pascal 5.0 og staðalsins.
Staðallinn leyfir ekki
einingaforritun, og er það lítið í
anda nútíma-forritunaraðferða.
Staðallinn gerir þá kröfu að öll föll
(Function) innihaldi að minnsta
kosti eina tilvísun (assignment) í
nafn sitt.
Staðallinn gerir þá kröfu til “Case”
setninga að alltaf sé eitt valatriði til
fyrir hvem vísi (index), annars komi
villumelding. í TP5 er hreinlega
hoppað yfir “Case” setninguna ef
ekki finnst valatriði á móti vísi.
Einnig býður TP5 upp á “else”
hluta, sem er þá villa samkvæmt
staðli.
í “For” lykkjum em ekki leyfðar
aðgerðir sem ógnað gætu
stýribreytu lykkjunnar.
Rökyrðingar verður alltaf að meta
til enda samkvæmt staðli, en TP5
leyfir einnig skammhlaup á
rökyrðingum.
Staðallinn telur upp öll þau föll og
stef sem eiga að tilheyra málinu, og
við yfirlestur á þeim lista saknar
maður ýmissa hluta. Staðallinn gerir
ekki ráð fyrir skipunum eins og:
concat, copy, length, pos, val, str,
insert, delete, move, getmem,
freemem, ofl.
10