Interaktivní ALGOL 68 - Interactive ALGOL 68
The Interaktivní ALGOL 68 překladač pro ALGOL 68 bylo zpřístupněno uživatelem Peter Craven z Aplikace Algol z roku 1984.[1] Poté v roce 1994 od OCCL (Oxford a Cambridge Compilers Ltd) až do roku 2004.[2]
Platformy
- Inmos Transputer rodina
- Linux pro Intel x86 počítače
- OS / 2 verze 2.0 a novější
- SunOS -4.1.3 (Solaris 1) pro SPARC - počítače na bázi
- Okna 95 a Windows NT pro Intel
Rozšíření na standardní ALGOL 68
- Možnost zahrnout zdrojový kód a verze zdrojového kódu.
- Vnořitelné komentáře
- PRO VŠECHNY syntaktický prvek pro smyčku přes pole.
- ANYMODE spojení všech MODE známých kompilátoru, a tedy dynamické psaní.
- Vylepšené nátlaky (casting), které umožňují stringer a pak „silné“ nátlaky.
- Stavba automaticky vynucuje proměnnou z typ na struktura (typ)
- Konformní donucení UNION (THING, MOODS) k THING, ale pokud to není aktuální nálada unie, bude vygenerována chyba běhu.
- Rozhraní knihovny s nativním operačním systémem a dalšími knihovnami.
- Operátor VELIKOST
- Pseudo-operátory ANDTH a OREL a ANF a ORF pro Vyhodnocení zkratu logických výrazů.
- Pole mohou být řezy s krokem k výběru podmnožiny prvků.
- MOID je zacházeno odlišně.
Příklad kódu
MODULOVÉ vektory BEGIN INT dim = 3; REŽIM VEKTOR = [dim] SKUTEČNÝ; OP + = (VECTOR a, b) VECTOR: (VECTOR out; FOR i FROM LWB a TO UPB a DO out: = a [i] + b [i] OD; out), - = (VECTOR a, b) VECTOR : (VECTOR out; FOR i FROM LWB a TO UPB a DO out: = a [i] -b [i] OD; out), DOT = (VECTOR a, b) REAL: (REAL out: = 0; FOR i Z LWB a DO UPB a DO out +: = a [i] * b [i] OD; out); ENDKEEP VECTOR, +, -, DOT
Omezení jazyka ze standardního ALGOL 68
- Proměnné, režimy a operátory musí být deklarovány před použitím.
- Anonymní procedura může jako parametr použít deklarátor řádků.
- Žádné přechodné názvy flexibilních polí.
- Není naformátováno Transput (nebo formátové texty).
- Omezené použití narovnání více hodnot během Transputu.
- Omezené použití BYTES, BITS a BOOL.
- omezené používání štítků pro sledování příkazů EXIT
Viz také
Reference
- ^ „AB52.3.1: Průzkum realizovatelných implementací ALGOL 68“. Archivovány od originál 27. září 2007. Citováno 26. dubna 2007.
- ^ „Domovská stránka Oxford a Cambridge Compilers Ltd“. Archivovány od originál 12. června 2004. Citováno 26. dubna 2007.