FORM,WICS,GAME,TL/1..8ビット機の独自言語
FORM,WICS,BASE,GAME,TL/1,K Compiler,SLANG 等
8ビット機の独自言語について語りましょう。 >>573
ゴールの設定によるかも。
大きいプログラムをある程度の小さい規模に落とし込むプログラミング言語 (処理系) は需要があるにしても、
小さいプログラムをギリギリまでリソース消費を抑えるのはそれほど需要がないし、意味がない。
潤沢なマシンリソースをある意味では「無駄にしている」ことになるわけだし。
「趣味的な面白さ」を軸にするのだと主観的なものになっちゃうから、
昔よりずっと自由度の高い前提の上だと人によってかなり違う意見になっちゃうんじゃないかな。
これは面白いって皆が言うようなタイニー言語はもう生まれないんじゃないかな……。
ちょっと寂しい話だけど。 micro-Pascalって有ったな
TinyだかBaby AWKも有った
micro PythonはCP/Mには無い? Python の文法自体は簡素だからフルセットの機能を要求しないなら
CP/M 級の環境でも Python っぽい処理系を作れないことはないんじゃないのかな。
まあやろうとする人がいるとも思えないが。 パーサー処理て実装難しいからパーサー必要ない言語があると面白いとは思う。
RPNなForthや電卓記号言語のようなものかな。
マトモなパーサー処理せずにAWKでパターンマッチング繰り返してバイナリ生成
していた古いFORTRANのような処理系があったらそれはそれで面白いし
プログラミング言語ではなくシーケンサーという条件なら子供でも理解できて
処理も単純化できそうだが。 Brainfuck とかか?
https://ja.wikipedia.org/wiki/Brainfuck
コンパイラのサイズはわずか123バイト、インタプリタは98バイトであった。 構文解析は言語処理関連の中ではかなり理屈が確立されてる部分だから、
面倒くさいけど難しいってほどでもない。
なるべく単純な文法を設計するに越したことは無いけど、
実装を楽しようとして言語デザインが実装方法に引きずられ過ぎるのも不格好だと思うなぁ。
このスレの趣旨からすると好事家が遊べれば充分だが、
多少は使い物になることも考えようよ。
Forth くらいに突き抜けてたらそれはそれで面白いし実務的だけど、
Brainfuck は余興にしか使えんでしょ……。 forthの式は逆ポーランドだが手続き型なのでステートメントはjavaのように構文を書く。
中間言語インタプリタなので遅いし飛び抜けて実用的とは思わないな。
元々の機械動作は可読性と関係ないから小型化しようと思えば人が理解可能な可読的要素は
一切ないと思った方がいい。VTLなどのように記号言語のようになる。
最初から可読的言語デザインよりはエディタやデバック支援環境がある方が便利だと思う。
支援環境側で記号的難解言語の可読性の支援をするほうが言語レベルのサイズは小さくて済む。
言語サイズはBrainfuckくらいがちょうどいいと思う。 Excelで懐かしい手書きコーディングシート形式のワークシート作った。
セル幅変えてそのまま枠線出力する。
タイトルにFACOMとかUNIVACとか入れると一層良くなる。
COBOLやFORTRAN用。 位置が決まってるタイプの言語だとエクセル (表計算ソフト) でコーディングするのは良い案だと思う。 >>557 ありがとうございます
FORMはMZ-1500のQD対応に改造されていました コロナ禍が治まったら、図書館にTL/1の資料でも
探しに行こうかな。 スレが立ってからはや20年。これより古いスレが90くらいあるのは過疎板ならではですな。
TL/1やGAMEの作者の大西博氏ですが、亡くなられていたようです。
https://www.sophiakai.gr.jp/news/news/2020/2020082501.html
上智大の講師らしいという話がTwitterであり、年齢的にも合っているように思います。
ご冥福をお祈りいたします。 ソニーのアセンブラのANN表記についてきちんとした仕様はネット上のどこかで見れたりします?
概要とか紹介みたいな形で部分的に雰囲気はわかるんですが、
仕様を網羅したものは見つからないみたいで、どうにかして当時のリファレンスマニュアルを手に入れるしかないんですかね? http://jump.5ch.net/?http://www.win-corp.jp/etc/msx/
ミニ言語らしい イイネ!
でも SLANG と比較して特によくなっているという印象はないので
なんらかの差別化要素があればもっとよかったかもね。 >>597
Oh! X の 1990 年 1 月号 (146~149 ページ) にあるリファレンスマニュアルが完全な仕様だと思う。
https://archive.org/details/OhX_1990-01/page/n147/mode/2up
前後の号で使用例もあったはず。 さんきゅ 面白かった。
Windowsに実装されていたら、まだ子孫がいたかもね。 SLANG の文法を形式的な表現に書き直してみようと試みたら若干の不明点を見つけた。
・ アドレス宣言、大域宣言、関数は順不同でもよいのか? (関数定義の後ろに大域宣言があってもよいか?)
・ 変数名として使える文字は? (名前の先頭以外に数値を含むような C ならアリなパターンは許容される?)
・ 定数式とは何か? (C の定数式は割とめんどいので SLANG がそのレベルを要求してはいるはずはないだろう……)
・ 大文字と小文字は区別するか?
当時の事情の中では自明だったりするんかな? Windows 版があったけど Bad File Descripter とでてコンパイルできなかった。
ファイル形式がわからんー
SLang Compiler ver 1.00
]D
Asc Q:a .txt:0000:003C:0000
Asc Q:cygwin1 .dll:0000:FFFE:0000
Bin Q:EMATE .obj:3000:3CA2:3000
Asc Q:readme .w32:0000:07E4:0000
Bin Q:SLANG .obj:3000:730C:3000
Asc Q:sos .exe:0000:FFFE:0000
Asc Q:sos .ini:0000:005F:0000
Nul Q:source . :0000:FFFF:0000
Bin Q:sword .bin:2100:2AFF:2100
]C a
File not Found
]C a.txt
Bad File Descripter
] a.txt こんな感じだと思うんだけどうまくいかない。
ORG $8000;
MAIN()
BEGIN
PRINT("hello");
END; S-OS には Windows 版があったのか……。 ちょっと興味あったので探したらここのアーカイブにあるやつかな?
UNIX版のソースがあったのでコンパイルしてみたけど24行決め打ち
しているぽくてsegmentation faultしたw
http://www.retropc.net/ohishi/s-os/ MSX3が出たら、tiny系の言語も楽しめるだろうか。 あの手の小さな言語は細々としたところは低レイヤを触らせる前提だったりするから移植性があまりなくて、
言語自体に興味があっても実行環境 (エミュレータでもいいが) を保全するのが面倒になるんよね。 この手の言語は16ビット世代には移行しなかったな。 このチマチマしているやつと、オブジェクト指向で湯水のようにメモリ使うやつの中間が欲しい。
あたらしいMSXでは何か提案あるだろうか。 チマチマと湯水の間が「ただの」C言語とかじゃねーの