Categories: 未分類

bs(プログラミング言語)

Bs_(programming_language)

bsは、UNIXシステム上の適度なサイズのプログラム用のプログラミング言語およびコンパイラ/インタプリタです。bsコマンドが経由して、必要に応じて引数を取る、インタラクティブプログラミングまたはプログラムを含むファイルのいずれかで呼び出すことができるUnixシェル使用して、例えば、シェバング(UNIXの場合) #!/usr/bin/bs。 bs によって設計された
リチャードC.ヘイト
初登場
1980 ; 41年前 (1980)OS nix
に影響を受けた
BASIC、SNOBOL4、C
初期のマニュアルページには、「はBasic とSNOBOL4のリモートの子孫であり、少しCが挿入されています」と記載されています。

コンテンツ
1 歴史
2 デザインと機能
3 構文例
4 サンプルプログラム
5 も参照してください
6 参考文献

歴史
このbsコマンドは、1982年にベル研究所の外で最初にリリースされたUNIX System IIIリリース3.0(1980)に登場します。 1978年頃にDickHaight(Richard C. Haight)によって書かれ、次のように述べています。
私はbsUnix(V 3?)の時に書いていて、すべてのコマンドがアセンブラーからCに変換されていました。それで[ Ken Thompson ’s]basが私のbs—一種になりました。
リリース3.0のマニュアルではbs、9ページに目立つように記載されています(強調が追加されています)。
プログラムを書く。ソースプログラムのテキストをUNIXファイルに入力するには、を使用しますed(1)。UNIXで使用できる4つの主要言語は、C(を参照cc(1))、Fortran(を参照f77(1))、bs(Basicの精神に基づくコンパイラ/インタプリタ、を参照bs(1))、およびアセンブリ言語(を参照as(1))です。
System IIIより前は外部にリリースされていませんでしたが、このbsコマンドはUNIX / TS 1.0(1978年11月)、 PWB / UNIX 2.0(1979年6月)、およびCB UNIXエディション2.1(1979年11月) および2.3(1981)。このbsコマンドは、以前の内部リリース、たとえばUNIXサポートグループの1977年3月のリリースや、1977年5月付けのPWB / UNIXマニュアルには表示されず、1978年頃の作成を示唆しています。ResearchUnixまたはBerkeleySoftwareDistributionのすべてのバージョンに表示されます。
その後1990年代に、bs種々のに含まれていたシステムIII由来またはシステムを含む商用オペレーティングシステムをVが由来、これらに限定されない:PC / IX。 UNIX System Vリリース2および3:SVR2、 SVR3、SVR3.2(1986); HP-UX ; AIX ; およびA / UX。(AT&T UNIX PC(3B1)のユーザーズマニュアルには、bsコマンドは使用できないが、SVR3.2では使用できると明記されています。)
時折、bsUNIXで開発するための主要なプログラミング言語の1つとして宣伝されました。 しかし、bs中に含まれていないPOSIX.1のコマンドとユーティリティ(標準のUnixコマンドの一覧)もで統一UNIX仕様と最も現代的なオペレーティングシステムで提供されたとえば、Linuxでは、同様の構文と機能がbc、Perl、およびPOSIXシェルによって提供されます。
21世紀にbsは、少なくともHP-UXリリース11i(2000)と、AIXバージョン6.1(2007)および7.2(2018)に存在し、おそらくUNIXが原因です。SystemVの遺産。

デザインと機能
bs manページ、次のように、表向きのプログラミング言語の唯一の仕様は、それを特徴付けます:
Bsは、プログラム開発時間が結果として生じる実行速度と同じくらい重要であるプログラミングタスク用に設計されています。データ宣言とファイル/プロセス操作の形式が最小限に抑えられます。一度に1行ずつデバッグすること、traceanddumpステートメント、および有用な実行時エラーメッセージはすべて、プログラムのテストを簡素化します。さらに、不完全なプログラムをデバッグすることもできます。内部関数は、外部関数が作成される前にテストでき、その逆も可能です。
bsプログラムは、当時の他の主要なUnixプログラミング言語であるC、FORTRAN、およびアセンブリ言語で記述されたプログラムとは異なる方法でコンパイルおよび実行されます。これらの各コマンドは、プログラムのソースコードを実行可能なアセンブラ出力(a.out)にコンパイルします。代わりに、bsプログラムは、最初にbsコマンドによって内部逆ポーランド記法(RPN)中間表現に変換され、次にコマンドの内部仮想スタックマシンによって実行されます。bsしたがって、この言語は、ハイブリッドのインタプリタとコンパイラであり、UnixプログラミングはAncientUnixとは異なります。
このbs言語は、BASIC、SNOBOL、およびCといくつかの機能と構文を共有しており、前者の2つはおそらくその名前に影響を与えています。BASICと同様に、ステートメントをすぐに実行するか、プログラムに収集して後で実行するかのいずれかで、インタラクティブに使用できます。SNOBOL4、代入演算子(のように=)のために使用されるI / Oとbsその使用、ストリング内のコードを実行することができる評価関数。また?、式の評価が成功するかどうかをテストするために使用されるSNOBOLの問い合わせ演算子()も含まれています。組み込みformat関数は、1つの引数に制限されており、Cのprintf形式変換指定子のサブセット(「%f」など)をサポートします。
言語にはいくつかの顕著な要素がたとえば、そのプログラム関数は構文を使用して定義され、その関数はローカル変数を持つことができます。また、ステートメントとプログラムを解釈(および実行)するか、それらをコンパイルするか、およびを使用して2つを切り替えるという、2つのモードで動作できます。それ以外の場合、個々の機能は、Unixシェル(ファイルI / Oやループなど)やAWK(連想配列や正規表現など)などの共存ツールの機能と重複しているため、その機能は集合的に(1つの言語で)のみ一意です。マッチング。fun … nufbscompilestop
このbs言語は、小さなモジュラープログラムの便利な開発とデバッグを目的としていました。以前の一般的な言語の構文と機能のコレクションがありますが、シェルスクリプトとは異なり、内部でコンパイルされます。そのため、目的、設計、および機能bsは、PerlやPythonなどのハイブリッドインタープリター/コンパイル言語のほとんど知られていない、控えめな前身です。

構文例
次の例は、A / UXのbs(1) マニュアルページから派生したものです。
この例ではbs、計算機として使用します。
$ bs #光がナノ秒単位で移動する距離(インチ)。186000 * 5280 * 12 / 1e9 11 .78496..。#複利#($ 1,000で5年間6%)。int = .06 / 4 bal = 1000 for i = 1 5 * 4 bal = bal + bal * intbal- 1000 346 .855007..。 出口
この例は、典型的なbsプログラムの概要です。
#初期化:var1 = 1 open (”read”、”infile”、”r” ) ..。 #計算:while  ?(str = 読み取り) ..。 次 #クリーンアップ:閉じる(「読み取り」) ..。 #最後に実行されたステートメント(exitまたはstop):exit #最後の入力行:走る
この例は、I / Oを示しています。
#「oldfile」を「newfile」にコピーします。open (”read”、”oldfile”、”r” ) open (”write”、”newfile”、”w” )..。 ながら ?(書き込み = 読み取り) ..。 #close “read” and “write”: close (”read” ) close (”write” )#コマンド間をパイプします。open (”ls”、”!ls *”、”r” ) open (”pr”、”!pr -2 -h’List ‘”、”w” ) while  ?(pr = ls ) ..。..。 #必ずこれらを閉じる(待つ): close (”ls” ) close (”pr” )

サンプルプログラム
以下は、を使用して99 Bottles ofBeerbsという曲に単語を出力するサンプルプログラムです。/usr/bin/bs
fun sing (n 、 end ) s s = (”s” 、 “” )[ match (n 、 “^ 1 $” ) ] put = format (format (format (”%sボトル%% s of beer %%% %s ” 、 n )、 s )、 end )nuffor n = 99 、 n 、 put = “” sing (format (”%-0.0f” 、 n )、 “on the wall、” ) sing (format (”%-0.0f” 、 n )、 “、” ) PUT = “は、1回のダウンを取るの周りに渡し、” – N 歌う((フォーマット(”%-0.0f” 、 N )、 “NO” ) 、 “壁にする” )次

も参照してください DC 紀元前

参考文献
^ UNIXユーザーズマニュアル(リリース3.0版)。ベル研究所、組み込まれています。1980年。p。95。
^ Dick Haightからの個人的なコミュニケーション、2019年9月10日。
^ UNIXユーザーズマニュアル(PDF)(リリース3.0版)。ベル研究所、組み込まれています。1980年。p。9.9。
^ ジョン・R・マシェイとの個人的な会話、2019年9月9日。
^ 「CB / UNIXman 7」、 Unix Heritage Society、1979年11月。。
^ 「CB / UNIXman 1」、 Unix Heritage Society、1979年11月。。
^ JD Doan、ed。(1981年5月)。CB-UNIXプログラマーズマニュアル、エディション2.3(PDF)。オハイオ州コロンバス:ベル電話研究所。NS。iii。
^ TAドロッタ; RCヘイト; EM Piskorik編、(1977年5月)。「セクション1」。PWB UNIXプログラマーズマニュアル、エディション1。ニュージャージー州ピスカタウェイ:ベル電話研究所。
^ “IBMはUNIXを行きます”。PCマガジン。1984年6月12日。p。218。
^ “ボリューム1″。AT&T UNIX PC UNIX System Vユーザーズマニュアル(PDF)。AT&T。1986.p。8.8。
^ 「第1巻のコマンドとユーティリティ」。UNIXプログラマーマニュアル(PDF)。AT&T。1986.p。41。
^ 「セクション1(AM)」。HP-UXリファレンスリリース11iユーザーコマンド(PDF)(1版)。ヒューレットパッカード社。2000.p。93。
^ 「セクション1(ac)」。AIXバージョン6.1コマンド・リファレンス(PDF)(初版)。インターナショナルビジネスマシーンズコーポレーション。2007.p。251。
^ 「セクション1(AL)」。A / UXコマンドリファレンス(PDF)(2.0版)。Apple Computer、Inc。1990.p。93。
^ 「A / UX:開発ツール」、 Apple、Inc、2012年2月18日。。
^ 「セクション1(ac)」。AIXバージョン7.2コマンド・リファレンス。IBMCorporation。2018.p。282。
^ Dick Haightとの個人的な会話、2019年9月12日。
^ ファイル、A / UX 3.0.1インストールメディア、アップル社(1993)/FILES
^ 「LanguageBS」、 99ボトルのビール、1996年8月8日。。

Bs_(programming_language)&oldid=1035397320″

admin

Share
Published by
admin

Recent Posts

ブズフキPGR

Bz%C3%B3wki_PGR…

2か月 ago

ブズフキ

Bz%C3%B3wki Bzó…

2か月 ago

Bzówiec

Bz%C3%B3wiec Bz…

2か月 ago

ブズフ

Bz%C3%B3w Bzów …

2か月 ago

Bzzzpeek

Bzzzpeek Bzzzpe…

2か月 ago

Bzzz!

Bzzz! その他の使用法につ…

2か月 ago