OpenVMS için VSI BASIC - VSI BASIC for OpenVMS

OpenVMS için VSI BASIC
Paradigmazorunlu
GeliştiriciDigital Equipment Corporation
işletim sistemiOpenVMS

OpenVMS için VSI BASIC bir lehçenin son adıdır TEMEL Programlama dili tarafından yaratıldı Digital Equipment Corporation (DEC) ve artık VMS Software Incorporated'a (VSI) aittir. Başlangıçta şu şekilde geliştirilmiştir: BASIC-PLUS 1970'lerde RSTS-11 işletim sistemi PDP-11 minibilgisayar. Daha sonra taşındı OpenVMS ilk önce VAX, sonra Alfa ve en son Bütünlük.

Ürünün geçmiş isimleri şunları içerir: BASIC-PLUS, Temel Plus 2 (BP2 veya TEMEL-Artı-2), VAX TEMEL, ARALIK TEMEL, OpenVMS için Compaq BASIC ve OpenVMS için HP BASIC. Donanım platformunu (VAX, AlphaServer, vb.) Belirten çok sayıda başlık çeşidi de mevcuttur.

Önemli özellikler

VSI BASIC'te birçok FORTRAN benzeri uzantılar ve orijinali destekleyen Dartmouth TEMEL matris operatörler.

Satır numaraları "ERL" işlevi mevcut olmadığı sürece isteğe bağlıdır. "NE ZAMAN HATA" yazmanıza izin verir hata işleyicileri etrafında korumalı ifadeler. Daha geleneksel, ancak daha az zarif olan "ON HATA" ifadesi bu tür bir bağlam veya kapsamdan yoksundur.

VSI BASIC'in daha dikkate değer özelliklerinden biri, aşağıdakiler için yerleşik destektir: OpenVMS güçlü Kayıt Yönetim Hizmetleri (RMS). VAX BASIC sürümünden önce, yerel RMS desteği yalnızca DEC'in COBOL derleyici.

Tarih

OpenVMS için VSI BASIC ürün geçmişi, 30 yıldan fazla bir süreyi kapsar ve bu süre içinde birçok isim ve mülkiyet değişikliğinden geçmiştir. Aynı zamanda taşınan art arda yeni platformlar DEC, Compaq, HP ve VSI tarafından geliştirildikleri için. Şirket ve / veya platform adı genellikle ürün adına dahil edilerek adların çoğalmasına katkıda bulunur.

BASIC-PLUS

VSI BASIC şu şekilde başladı: BASIC-PLUS, DEC tarafından RSTS-11 işletim sistemi ve PDP-11 mini bilgisayar. Programlama dili ifadeleri, komut yorumlayıcısı doğrudan veya bir Metin düzeltici, bir dosyaya kaydedilir ve ardından dosyadan komut yorumlayıcısına yüklenir. Kaynak koddaki hatalar, satır girildikten hemen sonra kullanıcıya bildirildi.

Programlar .BAS olarak saklandı kaynak dosyasını "KAYDET" komutunu kullanarak. "DERLEME" komutu kullanılarak düzenlenemez bir ikili .BAC dosyasında "derlenebilir". Bu komut doğru üretmedi makine dili programlar, daha çok bayt kodu "jetonlar" denir. Simgeler, daha modern olana benzer bir şekilde, infaz sırasında yorumlandı. Java.

Programlar komut yorumlayıcısına ile başlayarak girildi. Satır numaraları, 1'den 32767'ye kadar tamsayılar. Satır, bir kullanılarak birden çok satırda devam ettirilebilir. satır besleme karakter. Kaynak dosyanın harici olarak düzenlenmesini kolaylaştırmak için, BASIC-PLUS'ın sonraki sürümleri ayrıca bir satır devam karakteri olarak & karakterine izin verdi. Kullanılarak tek bir satıra birden çok ifade yerleştirilebilir \ ifade ayırıcı olarak.

Sanal bellekli PDP-11 sistemleri için (RSTS / E ), adres alanı yaklaşık 64 ile sınırlıydı KB. BASIC-PLUS ile bunun yaklaşık yarısı, birleşik komut yorumlayıcısı ve çalışma zamanı kitaplığı tarafından kullanıldı. Bu sınırlı kullanıcı programları 32 KB bellek ile sınırlıdır. Daha eski RSTS-11 sistemler sanal bellekten yoksundu, bu nedenle kullanıcı programı, RSTS ve BASIC-PLUS paylarını aldıktan sonra fiziksel bellekten geriye kalan her şeye sığmak zorunda kaldı. Örneğin, 32K fiziksel belleğe sahip, RSTS-11 V04B-17 çalıştıran bir PDP-11 / 35'te, kullanıcı programları 7 KB ile sınırlıydı. "ZİNCİR" komutu kullanılarak büyük programlar çeşitli parçalara bölünebilir. Programlar olabilir Zincir ikincil bir programdaki belirli satır numaralarına. Adlı paylaşılan bir bellek bölümünün kullanımı çekirdek ortak ayrıca programların gerektiğinde birbirleri arasında veri aktarmasına izin verdi; disk dosyalar da kullanılabilirdi ancak daha yavaştı.

Yorumlayıcı, hem dizgi verileri hem de bayt kodu için kullanılan bir çöp toplama bellek yöneticisi içeriyordu. Çalışan bir program kesintiye uğrayabilir, değişkenler incelenip değiştirilebilir ve ardından devam ettirilebilir. Diğer üst düzey dillerde kullanılan denetim yapılarının çoğu, WHILE ve UNTIL dahil BASIC-PLUS'ta mevcuttu. Dil ayrıca tek bir satırda koşullu değiştiricilerin kullanımını destekledi. Örneğin, "YAZDIRbenUNLESSben<10", 10'dan küçük olmadıkça" I "değerini yazdırır.

BASIC Plus 2

Temel Plus 2 (BP2 veya TEMEL-Artı-2) daha sonra ek özellikler eklemek ve performansı artırmak için DEC tarafından geliştirilmiştir. İçine doğru derleme kullandı dişli kod ve çıktısını şuraya yazdı: makine dili nesne dosyaları. Bunlar sistemdeki diğer nesne dosyalarıyla uyumluydu ve kitaplıklar halinde birleştirilebilirdi. Bir bağlayıcı (TKB görev oluşturucu) daha sonra oluşturuldu yürütülebilir dosyalar onlardan. TKB ayrıca kaplamaları destekledi; bu, bireysel rutinlerin gerektiğinde ana bellek alanına değiştirilmesine izin verdi.

BP2 programları altında çalıştı RSX-11 veya RSTS / E'nin RSX Çalışma Süresi Sistemi. Bu RTS, kullanıcının adres alanının yalnızca 8 KB'ını (daha sonra 2 KB) kaplayarak kullanıcının programı için 56 KB kaldı. Bu iki faktör, bireysel BP2 programlarının BASIC-PLUS programlarından çok daha büyük olmasına izin vererek, genellikle ZİNCİR ihtiyacını ortadan kaldırdı. BASIC-PLUS'ın aksine (yalnızca RSTS-11'de mevcuttu), BP2, RSX-11 işletim sisteminde de kullanıma izin verdi.

VAX BASIC ve DEC BASIC

Yaratılışıyla VAX mini bilgisayar DEC, BASIC-PLUS-2'yi yeni VMS işletim sistemi ve buna denir VAX TEMEL. VAX BASIC, standart VMS çağrı standartlarını kullandı, böylece VAX BASIC tarafından üretilen nesne kodu, diğer VMS dillerinden herhangi biri tarafından üretilen nesne koduna bağlanabilirdi. BASIC Plus 2 için kaynak kodu genellikle VAX BASIC'te büyük değişiklikler olmadan çalışır.

DEC kendi Alfa mikroişlemci, VMS ona taşındı ve yeniden adlandırıldı OpenVMS. VAX BASIC de aynı şekilde Alpha'ya taşındı ve yeniden adlandırıldı ARALIK TEMEL. Basit çevirmen bu noktada kalıcı olarak bırakıldı, bu da DEC BASIC programlarının yalnızca OpenVMS olarak çalıştırılabileceği anlamına geliyordu. çalıştırılabilir dosyalar tarafından üretilen derlemek ardından bir bağlantı.

Compaq, HP ve VSI

DEC tarafından satın alındığında Compaq 1997 / 98'de ürünler yeniden adlandırıldı OpenVMS VAX için Compaq BASIC ve OpenVMS Alpha için Compaq BASIC.

Aynı şekilde, ne zaman Compaq ile birleşti HP 2001 / 02'de ürünler yeniden adlandırıldı VAX üzerinde OpenVMS için HP BASIC ve AlphaServer'da OpenVMS için HP BASIC. HP daha sonra piyasaya çıktı Dürüstlük Üzerine OpenVMS için HP BASIC Dürüstlükleri için sunucu dayalı platformlar Intel 's Itanium işlemciler.

2014 ortalarında HP, tüm OpenVMS ekosistemini ürünü yeniden adlandıran VSI'ye sattı OpenVMS için VSI BASIC[1]

Basit kod

Selam Dünya

YAZDIR"Selam Dünya!"

Santigrat - Fahrenheit dönüştürme

10YAZDIR"Santigrat cinsinden bir sıcaklık girin";GİRİŞCne zamanhataiçindeX=GERÇEK(C)YAZDIR"Fahrenheit derece cinsinden sıcaklık";(X*1.8)+32kullanımYAZDIR"Hata: Geçerli bir sayısal değer girin."sonne zaman40SON
  • Not: VSI Basic, satır numaraları gerektirmez.

Referanslar

  1. ^ "VSI BASIC for OpenVMS Kullanıcı Kılavuzu" (PDF). 2018.

Dış bağlantılar