hoc(プログラミング言語)
| hoc | |
|---|---|
| 原作者 | ブライアン・カーニハン、ロブ・パイク (AT&Tベル研究所) |
| 初回リリース | 1984年 |
| リポジトリ |
|
| 言語 | C |
| オペレーティングシステム | Unix、Plan 9 |
| プラットフォーム | クロスプラットフォーム |
| タイプ | プログラミング言語、コマンド |
| ライセンス | Plan 9: MITライセンス |
hocはHigh Order Calculatorの略で、 1984年の書籍『The Unix Programming Environment』でYaccを用いたインタープリタの構築方法を示すために使用されたインタープリタ型 プログラミング言語です。
hocはブライアン・カーニハンとロブ・パイクによって、高機能な対話型計算機として開発されました。基本的な機能は、浮動小数点数値式(例:)を評価することです。その後、Cに似た構文を使用して、変数、条件分岐、ループ、ユーザー定義関数、単純な入出力などが追加されました1+2*sin(0.7)
改良されたhocインタプリタは1985年に第8版 Research Unixに含まれていましたが、商用UnixシステムやLinuxディストリビューションでは一般的に採用されていません。代わりに、以前の計算機言語であるdcとbcがこれらのシステムで広く普及しました。hocはPlan 9オペレーティングシステムの一部として生き残り、進化を続けました。hocのいくつかの改良版は、ベル研究所やその他の個人によってフリーソフトウェアとしてリリースされました(下記のリストを参照)。hocはPythonと並んで、 Neuronシミュレータのスクリプト言語として使用されています。
例
以下は、hocでの対話型計算機セッションの簡単な例です。強調表示されたテキストはhocの出力を表します
1 + 2 * 3 7角度= π / 3 r = sin (角度) r 0.866025 r * 2 1.73205 関数とフロー制御の簡単な例:
func atan 2 (){ if ( $ 1 > 0 ){ return atan ( $ 2 / $ 1 ) } else if ( $ 1 < 0 ){ return atan ( $ 2 / $ 1 ) + PI } else if ( $ 2 > 0 ){ return PI / 2 } else if ( $ 2 < 0 ){ return - PI / 2 } else { print "atan2 domain error" return 0 } } atan 2 ( 2 , 3 ) 0.982794 atan 2 ( 0 , 0 ) atan 2 domain error 0.0 参考文献
- カーニハン、ブライアン・W.、パイク、ロブ (1984). Unixプログラミング環境. プレンティス・ホール. ISBN 0-13-937681-X。
外部リンク
- – Plan 9プログラマーズ・マニュアル 第1巻
hocの実装とバージョン
- AT&Tバージョン:
- その他のバージョン:
- Nelson HF Beebeによるhocの拡張版。
- Nadav Y. Har'Elによるhocの拡張版。
- Jack Dennonによるhocの拡張版。
- Michael Hines、John W. Moore、Ted Carnevaleによるhocの拡張版。