Difference between revisions of "Standard Pascal/fi"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "{{Standard_Pascal}} Vuonna 1974 Pascal-ohjelmointikielen luoja Niklaus Wirth kirjoitti Kathleen Jensenin kanssa kirjan nimeltä '''Pascal U...")
 
 
Line 8: Line 8:
 
Seuraavat ovat standardin [[Keyword/fi|avainsanoja]] (joita kutsutaan ''word-symboleiksi'' standardissa ISO 7185), joita kaikkien kääntäjien on tuettava:
 
Seuraavat ovat standardin [[Keyword/fi|avainsanoja]] (joita kutsutaan ''word-symboleiksi'' standardissa ISO 7185), joita kaikkien kääntäjien on tuettava:
  
* [[And/fi|<syntaxhighlight lang="pascal" enclose="none">and</syntaxhighlight>]]  
+
* [[And/fi|<syntaxhighlight lang="pascal" inline>and</syntaxhighlight>]]  
* [[Array/fi|<syntaxhighlight lang="pascal" enclose="none">array</syntaxhighlight>]]
+
* [[Array/fi|<syntaxhighlight lang="pascal" inline>array</syntaxhighlight>]]
* [[Begin/fi|<syntaxhighlight lang="pascal" enclose="none">begin</syntaxhighlight>]]  
+
* [[Begin/fi|<syntaxhighlight lang="pascal" inline>begin</syntaxhighlight>]]  
* [[Case/fi|<syntaxhighlight lang="pascal" enclose="none">case</syntaxhighlight>]]
+
* [[Case/fi|<syntaxhighlight lang="pascal" inline>case</syntaxhighlight>]]
* [[Const/fi|<syntaxhighlight lang="pascal" enclose="none">const</syntaxhighlight>]]
+
* [[Const/fi|<syntaxhighlight lang="pascal" inline>const</syntaxhighlight>]]
* [[Div/fi|<syntaxhighlight lang="pascal" enclose="none">div</syntaxhighlight>]]
+
* [[Div/fi|<syntaxhighlight lang="pascal" inline>div</syntaxhighlight>]]
* [[Do/fi|<syntaxhighlight lang="pascal" enclose="none">do</syntaxhighlight>]]  
+
* [[Do/fi|<syntaxhighlight lang="pascal" inline>do</syntaxhighlight>]]  
* [[Downto/fi|<syntaxhighlight lang="pascal" enclose="none">downto</syntaxhighlight>]]  
+
* [[Downto/fi|<syntaxhighlight lang="pascal" inline>downto</syntaxhighlight>]]  
* [[Else/fi|<syntaxhighlight lang="pascal" enclose="none">else</syntaxhighlight>]]
+
* [[Else/fi|<syntaxhighlight lang="pascal" inline>else</syntaxhighlight>]]
* [[End/fi|<syntaxhighlight lang="pascal" enclose="none">end</syntaxhighlight>]]  
+
* [[End/fi|<syntaxhighlight lang="pascal" inline>end</syntaxhighlight>]]  
* [[File/fi|<syntaxhighlight lang="pascal" enclose="none">file</syntaxhighlight>]]  
+
* [[File/fi|<syntaxhighlight lang="pascal" inline>file</syntaxhighlight>]]  
* [[For/fi|<syntaxhighlight lang="pascal" enclose="none">for</syntaxhighlight>]]
+
* [[For/fi|<syntaxhighlight lang="pascal" inline>for</syntaxhighlight>]]
* [[Function/fi|<syntaxhighlight lang="pascal" enclose="none">function</syntaxhighlight>]]  
+
* [[Function/fi|<syntaxhighlight lang="pascal" inline>function</syntaxhighlight>]]  
* [[Goto/fi|<syntaxhighlight lang="pascal" enclose="none">goto</syntaxhighlight>]]
+
* [[Goto/fi|<syntaxhighlight lang="pascal" inline>goto</syntaxhighlight>]]
* [[If/fi|<syntaxhighlight lang="pascal" enclose="none">if</syntaxhighlight>]]
+
* [[If/fi|<syntaxhighlight lang="pascal" inline>if</syntaxhighlight>]]
* [[In/fi|<syntaxhighlight lang="pascal" enclose="none">in</syntaxhighlight>]]  
+
* [[In/fi|<syntaxhighlight lang="pascal" inline>in</syntaxhighlight>]]  
* [[Label/fi|<syntaxhighlight lang="pascal" enclose="none">label</syntaxhighlight>]]
+
* [[Label/fi|<syntaxhighlight lang="pascal" inline>label</syntaxhighlight>]]
* [[Mod/fi|<syntaxhighlight lang="pascal" enclose="none">mod</syntaxhighlight>]]
+
* [[Mod/fi|<syntaxhighlight lang="pascal" inline>mod</syntaxhighlight>]]
* [[Nil/fi|<syntaxhighlight lang="pascal" enclose="none">nil</syntaxhighlight>]]  
+
* [[Nil/fi|<syntaxhighlight lang="pascal" inline>nil</syntaxhighlight>]]  
* [[Not/fi|<syntaxhighlight lang="pascal" enclose="none">not</syntaxhighlight>]]
+
* [[Not/fi|<syntaxhighlight lang="pascal" inline>not</syntaxhighlight>]]
* [[Of/fi|<syntaxhighlight lang="pascal" enclose="none">of</syntaxhighlight>]]
+
* [[Of/fi|<syntaxhighlight lang="pascal" inline>of</syntaxhighlight>]]
* [[Or/fi|<syntaxhighlight lang="pascal" enclose="none">or</syntaxhighlight>]]
+
* [[Or/fi|<syntaxhighlight lang="pascal" inline>or</syntaxhighlight>]]
* [[Packed/fi|<syntaxhighlight lang="pascal" enclose="none">packed</syntaxhighlight>]]
+
* [[Packed/fi|<syntaxhighlight lang="pascal" inline>packed</syntaxhighlight>]]
* [[Procedure/fi|<syntaxhighlight lang="pascal" enclose="none">procedure</syntaxhighlight>]]
+
* [[Procedure/fi|<syntaxhighlight lang="pascal" inline>procedure</syntaxhighlight>]]
* [[Program/fi|<syntaxhighlight lang="pascal" enclose="none">program</syntaxhighlight>]]   
+
* [[Program/fi|<syntaxhighlight lang="pascal" inline>program</syntaxhighlight>]]   
* [[Record/fi|<syntaxhighlight lang="pascal" enclose="none">record</syntaxhighlight>]]  
+
* [[Record/fi|<syntaxhighlight lang="pascal" inline>record</syntaxhighlight>]]  
* [[Repeat/fi|<syntaxhighlight lang="pascal" enclose="none">repeat</syntaxhighlight>]]
+
* [[Repeat/fi|<syntaxhighlight lang="pascal" inline>repeat</syntaxhighlight>]]
* [[Set/fi|<syntaxhighlight lang="pascal" enclose="none">set</syntaxhighlight>]]
+
* [[Set/fi|<syntaxhighlight lang="pascal" inline>set</syntaxhighlight>]]
* [[Then/fi|<syntaxhighlight lang="pascal" enclose="none">then</syntaxhighlight>]]
+
* [[Then/fi|<syntaxhighlight lang="pascal" inline>then</syntaxhighlight>]]
* [[To/fi|<syntaxhighlight lang="pascal" enclose="none">to</syntaxhighlight>]]
+
* [[To/fi|<syntaxhighlight lang="pascal" inline>to</syntaxhighlight>]]
* [[Type/fi|<syntaxhighlight lang="pascal" enclose="none">type</syntaxhighlight>]]
+
* [[Type/fi|<syntaxhighlight lang="pascal" inline>type</syntaxhighlight>]]
* [[Until/fi|<syntaxhighlight lang="pascal" enclose="none">until</syntaxhighlight>]]
+
* [[Until/fi|<syntaxhighlight lang="pascal" inline>until</syntaxhighlight>]]
* [[Var/fi|<syntaxhighlight lang="pascal" enclose="none">var</syntaxhighlight>]]
+
* [[Var/fi|<syntaxhighlight lang="pascal" inline>var</syntaxhighlight>]]
* [[While/fi|<syntaxhighlight lang="pascal" enclose="none">while</syntaxhighlight>]]
+
* [[While/fi|<syntaxhighlight lang="pascal" inline>while</syntaxhighlight>]]
* [[With/fi|<syntaxhighlight lang="pascal" enclose="none">with</syntaxhighlight>]]
+
* [[With/fi|<syntaxhighlight lang="pascal" inline>with</syntaxhighlight>]]
  
 
== Symbolit ==  
 
== Symbolit ==  
Line 218: Line 218:
 
On olemassa muita avainsanoja, jotka eivät ole teknisesti osa standardia Pascal-kieltä, mutta joita [[FPC/fi|FPC]] käyttää joko lisätoimintoihin, kuten objektien toteuttamiseen, yhteensopivuuteen C ++: n paljastamien virheiden palauttamiskonseptien kanssa tai yhteensopivuuden tarjoamiseksi [[Borland Pascal/fi|Borland Pascalin]] ja aikaisempien Pascal-kääntäjien kanssa. Tälläisiin avainsanoihin sisältyy:
 
On olemassa muita avainsanoja, jotka eivät ole teknisesti osa standardia Pascal-kieltä, mutta joita [[FPC/fi|FPC]] käyttää joko lisätoimintoihin, kuten objektien toteuttamiseen, yhteensopivuuteen C ++: n paljastamien virheiden palauttamiskonseptien kanssa tai yhteensopivuuden tarjoamiseksi [[Borland Pascal/fi|Borland Pascalin]] ja aikaisempien Pascal-kääntäjien kanssa. Tälläisiin avainsanoihin sisältyy:
  
:[[Implementation/fi|<syntaxhighlight lang="pascal" enclose="none">implementation</syntaxhighlight>]] &middot; [[Finally/fi|<syntaxhighlight lang="pascal" enclose="none">finally</syntaxhighlight>]] &middot; [[Try/fi|<syntaxhighlight lang="pascal" enclose="none">try</syntaxhighlight>]] &middot;  [[Unit/fi|<syntaxhighlight lang="pascal" enclose="none">unit</syntaxhighlight>]].
+
:[[Implementation/fi|<syntaxhighlight lang="pascal" inline>implementation</syntaxhighlight>]] &middot; [[Finally/fi|<syntaxhighlight lang="pascal" inline>finally</syntaxhighlight>]] &middot; [[Try/fi|<syntaxhighlight lang="pascal" inline>try</syntaxhighlight>]] &middot;  [[Unit/fi|<syntaxhighlight lang="pascal" inline>unit</syntaxhighlight>]].
  
 
== Tyypit ==
 
== Tyypit ==
Line 225: Line 225:
  
 
== Free Pascal:n kääntäjän moodit  ==
 
== Free Pascal:n kääntäjän moodit  ==
Free Pascal tukee ISO 7185 Standard Pascal [[Compiler Mode/fi|kääntäjän moodilla]] [[Command-line interface|komentorivillä]] optiolla '''-Miso''' tai [[Source code/fi|lähdekoodissa]] [[Compiler directive/fi|kääntäjän ohjeella]] [[Mode iso/fi|<syntaxhighlight lang="pascal" enclose="none"> {$mode ISO} </syntaxhighlight>]]. Tuki ISO 7185 standardille alkoi versiosta 3.0.0.  
+
Free Pascal tukee ISO 7185 Standard Pascal [[Compiler Mode/fi|kääntäjän moodilla]] [[Command-line interface|komentorivillä]] optiolla '''-Miso''' tai [[Source code/fi|lähdekoodissa]] [[Compiler directive/fi|kääntäjän ohjeella]] [[Mode iso/fi|<syntaxhighlight lang="pascal" inline> {$mode ISO} </syntaxhighlight>]]. Tuki ISO 7185 standardille alkoi versiosta 3.0.0.  
 
On tarkoitus saada kääntäjän moodi tukemaan ISO/IEC 10206 [[Extended Pascal]] -versiolle Free Pascal :n tulevissa versioissa.
 
On tarkoitus saada kääntäjän moodi tukemaan ISO/IEC 10206 [[Extended Pascal]] -versiolle Free Pascal :n tulevissa versioissa.
  

Latest revision as of 17:27, 6 August 2022

العربية (ar) Deutsch (de) English (en) español (es) suomi (fi) français (fr) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

Vuonna 1974 Pascal-ohjelmointikielen luoja Niklaus Wirth kirjoitti Kathleen Jensenin kanssa kirjan nimeltä Pascal User Manual and Report, jonka on julkaissut Springer-Verlag. Tästä kirjasta tuli standardi Pascal-kielelle. Vuonna 1983 Kansainvälinen standardointijärjestö (ISO) virallisti standardin nimellä ISO 7185: 1983. Vuonna 1990 ISO julkaisi päivitetyn version - ISO 7185: 1990 -, joka ei ottanut käyttöön uusia käsitteitä, mutta poisti epäselvyydet ja korjasi virheet, jotka olivat aiemmassa versiossa. ISO 7185 -standardiin viitataan nimellä Standard Pascal. Standardi määrittelee vähimmäistason, jota Pascal-kääntäjän on tuettava voidakseen olla todellinen Pascal-kielen kääntäjä.


Varatut sanat

Seuraavat ovat standardin avainsanoja (joita kutsutaan word-symboleiksi standardissa ISO 7185), joita kaikkien kääntäjien on tuettava:

Symbolit

Seuraavat symbolit (joihin standardi viittaa erityissymboleiksi) ovat myös osa ohjelmointikieltä:

Funktiot

Kaikki vakio Pascalin määrittelemät toiminnot toteutetaan Free Pascal -sovelluksessa vakiona olevan System unit:n Runtime Library:ssä.

Aritmeettiset funktiot

Funktio Kuvaus
abs(x) Laskee x:n absoluuttisen arvon
arctan(x) arctan palauttaa x:n arctangentin, joka voi olla mikä tahansa reaaliluku tyyppi. Tuloksena oleva kulma yksikkö on radiaaneina
cos(x) Laskee kulman x kosinin (radiaaneina)
exp(x) Exp palauttaa x: n eksponentin, ts. luvun e potenssiin x
ln(x) palauttaa reaaliluku tyypin, parametrin x:n luonnollisen logaritmin. x: n on oltava positiivinen.
sin(x) Laskee kulman x sinin (radiaaneina)
sqr(x) Laskee x:n neliön
sqrt(x) Laskee x:n neliöjuuren. x:n on oltava positiivinen.

Transfer Functions

Funktio Kuvaus
round(x) Pyöristää liukulukuarvon lähimpään kokonaislukuun ja palauttaa kokonaisluvun.
trunc(x) Katkaisee liukuluku x:n -arvon ja palauttaa sen kokonaislukuna.

Ordinaali funktiot

Funktio Kuvaus
chr(x) Muuntaa tavuarvon merkkiarvoksi
ord(x) Palauttaa ordinaarityypin x:n järjestysarvon.
pred(x) Palauttaa ordinaarityypin edellisen elementin.
succ(x) Palauttaa ordinaarityypin seuraavan elementin.

Boolean funktiot

Funktio Kuvaus
eof(f) Tarkistaa onko tiedoston f loppu
eoln(f) Tarkistaa, onko rivin loppu tekstitiedostossa f
odd(x) Onko x pariton vai parillinen?

Aliohjelmat

Standard Pascalin määrittelemät aliohjelmat toteutetaan Free Pascal -järjestelmässä vakiona olevan System käännösyksikön Runtime Library :ssä.

Tiedostojen käsittelyaliohjelmat

Aliohjelma Kuvaus
get(f)
page()
put(f)
read Lukee tekstitiedostosta tai stdin:stä muuttujaan
readln Lukee tekstitiedostosta tai stdin:stä muuttujaan]] ja siirtyy seuraavalle riville
reset(f) Avaa tiedoston lukemista varten
rewrite(f) Avaa tiedoston kirjoittamista varten
write Kirjoittaa muuttujan tai merkkijonon tekstitiedostoon tai stdout:n
writeln Kirjoittaa muuttujan tai merkkijonon tekstitiedostoon tai stdout:n ja lisää uuden rivin

Dynaamiset allokointialiohjelmat

Aliohjelma Kuvaus
dispose(q) Vapautta q: n osoittama muistin, joka allokoitiin New:n kutsulla
dispose(q,k1...kn)
new(p) New allokoi uuden p-tyyppisen esiintymän ja laittaa osoitteen p:hen.
new(p,c1...cn)

Siirtoaliohjelmat

Aliohjelma Kuvaus
pack() Luo pakatun taulukon normaalista taulukosta
unpack() purkaa pakatun taulukon

Laajennukset

On olemassa muita avainsanoja, jotka eivät ole teknisesti osa standardia Pascal-kieltä, mutta joita FPC käyttää joko lisätoimintoihin, kuten objektien toteuttamiseen, yhteensopivuuteen C ++: n paljastamien virheiden palauttamiskonseptien kanssa tai yhteensopivuuden tarjoamiseksi Borland Pascalin ja aikaisempien Pascal-kääntäjien kanssa. Tälläisiin avainsanoihin sisältyy:

implementation · finally · try · unit.

Tyypit

On olemassa vakiotyyppejä:

integer · smallint · longint · real · boolean · string · char · byte

Free Pascal:n kääntäjän moodit

Free Pascal tukee ISO 7185 Standard Pascal kääntäjän moodilla komentorivillä optiolla -Miso tai lähdekoodissa kääntäjän ohjeella {$mode ISO}. Tuki ISO 7185 standardille alkoi versiosta 3.0.0. On tarkoitus saada kääntäjän moodi tukemaan ISO/IEC 10206 Extended Pascal -versiolle Free Pascal :n tulevissa versioissa.


Ulkoiset linkit