Základní Vilnius | |
---|---|
Jazyková třída | algoritmický, procedurální |
Typ provedení | Překladač typu kompilátoru |
Objevil se v | 1985 |
Přípona souboru | .BAS, COD |
Typový systém | laxní |
Byl ovlivněn | MSX BASIC |
BASIC Vilnius (také známý jako BASIC-86 ) je implementace programovacího jazyka BASIC pro 16bitové domácí a školní počítače s procesory architektury PDP-11 . Původně vyvinut ve Výpočetním centru Vilniuské státní univerzity (VTsKP VGU) v roce 1985 . Používá se na počítačích: DVK , BK-0010/BK-0011 , UKNTS , Nemiga .
BASIC Vilnius byl zjevně vyvinut pod silným vlivem MSX BASIC : názvy většiny operátorů a funkcí jsou stejné, stejně jako kódy chybových zpráv. Ale v Basic Vilnius není možnost zapsat několik příkazů na jeden řádek, chybí operátor PLAY, nejsou žádné operátory pro nastavení typu proměnných DEFINT, DEFDBL atd., stejně jako některé další funkce.
V mnoha počítačích, které používaly Vilnius Basic, je místo dolaru $ (kód 36 10 =24 16 ) zobecněný symbol měny ¤ a všechny řetězcové proměnné a funkce se zapisují přes něj, například MID¤.
Po spuštění programu příkazem RUNje program zkompilován do přechodného, tzv. vláknového kódu. Vláknitý kód je ve skutečnosti posloupnost adres volání podprogramu a dat pro volání. V tomto případě překladatel před spuštěním programu převede všechna čísla do interní reprezentace a všechny výrazy do obráceného zápisu v závorkách . Když je program spuštěn, provádějící systém volá zadané podprogramy a přenáší do nich připravená data. Vláknový kód je tedy rychlejší než obvyklá interpretace (protože provádění programu nezabere čas na „rozpoznání“ čísel a názvů proměnných, transformace výrazů atd.), ale pomalejší než program ve strojovém kódu získaný na výstupu skutečného kompilátoru.
Příklad jednoduchého programu:
10 CLS 20 TISK "Ahoj všichni!" 30 KONECProgram se skládá ze sady očíslovaných řádků, každý řádek obsahuje jeden příkaz. Práce na úpravách textu programu probíhají v režimu příkazového řádku. Týmy:
Jazykové operátory:
BEEP CALL CIRCLE CLEAR CLOSE CLS BARVA DATA DEF DEF FN DEF USR DIM KONEC DRAW PRO GOSUB GOTO IF VSTUP KEY LET ŘÁDEK VYHLEDEJTE LPRINT NA OPEN OUT DALŠÍ PAINT POKE PRESET PRINT PSET READ REM OBNOVIT NÁVRAT OBRAZOVKU STOP TROFF TRONOperátory je možné při zadávání zmenšit na tři znaky (například: CIRCLEmůžete zmenšit na CIR) a některé, z nichž první dva znaky neodpovídají žádnému jinému operátoru, na dva ( POKE - PO). Příkaz PRINTlze nahradit znakem ?. Je také možné použít konstrukci řetězu IF - THEN - ELSE IF, při použití zkratek TH, ELa ELIF. Maximální délka jednoho řádku programu je omezena na 254 znaků.
Funkce:
SQR SIN COS TAN ATN PI EXP LOG ABS FIX INT SGN RND FRE CINT CSNG CDBL PEEK INP BIN¤ OCT¤ HEX¤ CHR¤ ASC LEN STRING¤ INKEY¤ STR¤ VAL MID¤ CSRLIN POS LPOS EOF SMĚŘOVATZákladní Vilnius zahrnuje schopnost volat podprogramy ve strojovém kódu . K tomu slouží konstrukce DEF USR. Strojový kód lze načíst příkazem BLOADnebo vygenerovat operátorem POKE.
Mezi nedostatky tohoto BASICu patří absence řady příkazů, například INSTRvyhledávat výskyt řetězce v řetězci, DECpřekládat 16. číslo na 10., nástroje pro práci s chybami při provádění programu, příkazy pro znak po znaku vstup ze souboru.
Základní Vilnius pro BK-0010/BK-0011 zabírá 24 KB ROM. Z důvodu úspory paměti nebyly do ROM ukládány chybové texty; chyby nejsou uvedeny v textu, ale v kódech, například: "Chyba 2 na řádku 10".
Pro BK-0010 s Focalem v ROM byla vytvořena zjednodušená verze Vilnius BASIC o velikosti pouhých 9 KB, nahraná do RAM z magnetofonu (první verze - v roce 1985, druhá - v roce 1987). Nepodporoval různé typy čísel (pouze reálná čísla s jednoduchou přesností), stejně jako některé operátory a funkce hlavní verze, ale byla implementována základní sada funkcí BASIC. Verze 87. ročník zároveň umožňovala použití více operátorů na jednom řádku a také pravopis operátorů redukovaný na jedno nebo několik prvních písmen. Použití reálné aritmetiky s jednoduchou přesností navíc několikanásobně zrychlilo práci s reálnými čísly oproti verzi pro BK-0010-01 v ROM, díky čemuž se verze v RAM stala skutečně extrémně rychlou BASIC implementací při práci s proměnnými tohoto typ.
Existují tři verze Basic Vilnius pro UKNC - verze v ROM kazetě zabere 24 KB, verze pro stahování přes síť (síť) - 28 KB, disková verze - 30 KB. Implementace disku a sítě se liší přítomností textových chybových zpráv. Nejnovější verze pocházejí ze září 1988.
Adaptace BASIC Vilnius pro počítač Nemiga byla zřejmě provedena později a již v Bělorusku. Samotný jazyk se vyznačuje přítomností operátora PLAY, který umožňuje přehrávat zvuky a melodie.
BASIC | Dialekty programovacího jazyka|
---|---|
Klasický |
|
přechodný |
|
procesní |
|
Objekt |
|
mobilní, pohybliví |
|
Řídicí panel |
|