クライアント「神々たる仕変!後悔など遅い!」 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2015/06/30(火) 23:15:27.13ID:6N4sj+uR
プログラマー「ジリジリジリ納期が迫る、ズキズキズキ頭が痛む、ピリピリピリ空気が軋む、その震えは過労症状
       フリーズ!フリーズ!フリーズ!フリーズ!」
2015/07/01(水) 20:05:53.93ID:GJbtuEwQ
ム板でやれ
2015/07/01(水) 20:09:59.16ID:GJbtuEwQ
マ板でやれ
2015/08/04(火) 23:06:59.65ID:VOYl2fqg
片山博文MZが、まさかのスレ乗っ取り宣言! 使わないスレは再利用いたしますよっと。

以下、片山博文MZがX11でBASICを作るスレ。よろしくね。
2015/08/04(火) 23:12:03.85ID:VOYl2fqg
一週間でコンソールが半分ほどできるようになって、コンソールでHello, worldしたところです。
メモリーモデルとテキストVRAMを完全にエミュレートしたーいよー!
ちなみに俺のUbuntuはVirtualBox 5で動いてますっ。
2015/08/04(火) 23:52:57.60ID:VOYl2fqg
上げときます
2015/08/05(水) 00:45:22.68ID:w1UWuDWC
vipでやれ
2015/08/05(水) 15:32:00.34ID:L7EpLchZ
時計を表示してみたが、エミュだとかくかくして遅れがちだね
2015/08/05(水) 21:29:59.49ID:L7EpLchZ
日本語乳緑テスt
2015/08/05(水) 21:31:41.28ID:L7EpLchZ
are,nankaokasii desu
2015/08/05(水) 21:34:28.86ID:L7EpLchZ
kore,mosikasite hakkingu!?
2015/08/05(水) 21:45:58.50ID:L7EpLchZ
回復したようだ。
ネットワーク日本語入力システムに侵入形跡あり。
IPアドレスは125.***.*8.*4。特定した。
2015/08/05(水) 21:49:51.15ID:L7EpLchZ
ネットワーク入力システムが狙われている。
今すぐ脆弱性がないか調査が必要だ
2015/08/05(水) 21:59:31.12ID:L7EpLchZ
※フィクションです
15片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/06(木) 14:20:04.44ID:5xat+ZWF
X11 Basic
https://github.com/katahiromz/x11basic

コンソールで時計の表示までできたぞーーー!!!
2015/08/06(木) 20:56:08.36ID:4xD13DN7
テラテイルで質問した。早く返事来ねーかな。わくわく
17片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/08(土) 12:40:18.71ID:lSW9wyt8
試作中。。。

MZ88-BASIC (experimental)
https://github.com/katahiromz/MZ88_BASIC

画像
https://twitter.com/katahiromz/status/629852039481155584
https://twitter.com/katahiromz/status/629851914671255552
2015/08/08(土) 21:39:01.82ID:mgSCA6PB
VRAM周辺ができた。明日公開する。
始めっからクロスプラットフォームで行くぞ。
さて、言語エンジンはどのように作ろうか?
BASICの文法は複雑怪奇だから、一筋縄では行かないだろうな。
19片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/09(日) 11:24:07.49ID:33VNuQhG
ファンクションキーの表示を実装したよ!!!!
https://twitter.com/katahiromz/status/630202595705892864

https://github.com/katahiromz/MZ88_BASIC
20片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/13(木) 14:25:42.61ID:5WXSkhNu
MZ88-BASIC(作成中)
https://github.com/katahiromz/MZ88_BASIC
カナ文字、グラフィック文字の入力が可能になりました。
WindowsでもLinuxでも動くマルチプラットフォーム対応!
https://twitter.com/katahiromz/status/631697675369353217
2015/08/13(木) 16:19:14.61ID:TzobCxoU
さあ、これからがんばって字句解析器を書くぞ!!!
2015/08/18(火) 20:09:12.69ID:7ZRpZn5E
【目標1】ベーマガのN88プログラムの80%が無修正でとりあえず動く互換性を実現する。

やるぜえ。
2015/08/18(火) 20:22:42.83ID:7ZRpZn5E
同じように動くためには、メモリーモデルもVARPTRも互換性がないといけない。
ただ、全く同じものを作る訳ではない。全く同じものはエミュレーターで充分だ。
現在となっては無意味な制限からは解放され、21世紀にふさわしい自由さを提供すべきだ。
2015/08/20(木) 15:19:57.01ID:522SpRvB
ローマ字入力が可能になりました。

https://github.com/katahiromz/MZ88_BASIC
25片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/22(土) 13:09:16.29ID:NUu3MzbF
ローマ字入力と字句解析ができました。
https://twitter.com/katahiromz/status/634940062468182016

MZ88-BASIC(作りかけ)
https://github.com/katahiromz/MZ88_BASIC
2015/08/23(日) 13:19:36.02ID:aPdc8zwD
次はいよいよ構文解析です。
2015/08/26(水) 17:12:26.18ID:bYpCY1Cw
いちおう、構文を書きましたが、余計なshift/reduce conflictが発生します。
よくわからないので、jonigataさんに相談してみよう。

shift/reduce conflict: additive_expression ::= additive_expression MINUS backslash_expression vs logical_not_expression ::= additive_expression
shift/reduce conflict: additive_expression ::= additive_expression MINUS backslash_expression vs relational_expression ::= relational_expression LE additive_expression
...

MZ88-BASIC(作りかけ)
https://github.com/katahiromz/MZ88_BASIC
2015/08/27(木) 23:05:10.97ID:oqQcnINP
非同期テキスト出力を実装した。明日更新する。
2015/08/28(金) 18:54:10.88ID:aew9/zyH
仕事が入った。更新遅れます。すんません。
2015/08/30(日) 17:26:08.98ID:bYlp1Mb/
落とし穴にはまった。文法のconflictsが解消できない。
31片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/09/01(火) 02:00:31.90ID:I1cVjDhD
俺だって何度も挫折してる。本や他の人の力を借りて立ち直ってきた。
2015/09/01(火) 21:12:32.52ID:I1cVjDhD
文法の問題は解決した。開発を続ける。
2015/09/02(水) 20:08:21.89ID:urWXCT/E
実行モデルはインタプリター形式になる。
プログラム実行やコンソール出力を途中で^Cで止められるようにしないといけない。
コンソール出力があれば、バッファの中身を少し出力して消費した分は
バッファから消す。
コンソール出力がなければ、実行中なら実行位置をワンステップ進める。
コンソール出力がなく実行中でもなければ、入力待ち。
GOSUB文が来たら次の実行位置をスタックに保存しないといけない。
2015/09/02(水) 20:23:13.47ID:urWXCT/E
実行位置を、行番号と列番号の対で定義する。ダイレクトモードの行番号はゼロとする。
列番号はその行にある文のインデックスとする。
入力された行はまず字句解析される。字句の並びは、プログラムリストに保存される。
プログラムリストは行番号から字句の並びへの写像で定義する。
RUN文やGOTO文やGOSUB文によるプログラム実行の最初にプログラムリストは構文解析される。
間違いはすぐにわかる方がいいので、構文解析に失敗したらすぐにSyntax errorにする。
2015/09/02(水) 21:00:20.89ID:urWXCT/E
「だったら最初から構文解析まですればいいじゃん」
と思うかもしれないが、プログラムリストの表示や修正では、字句の並びの方が優れている。
アイドルループを使って少しずつ実行する。
2015/09/10(木) 19:54:11.93ID:RK9Kxx2F
わりー、しばらく仕事が忙しくてサポートできない
2015/09/13(日) 13:26:41.29ID:bab5xHvJ
セマンティックアクションを書いてみた。

MZ88-BASIC(作りかけ)
https://github.com/katahiromz/MZ88_BASIC
38片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/09/13(日) 16:16:51.83ID:bab5xHvJ
文法チェックができるようになりました。
MZ88-BASIC(作りかけ)
https://github.com/katahiromz/MZ88_BASIC
https://twitter.com/katahiromz/status/642959769959948288
2015/09/13(日) 19:44:44.64ID:io0Trfl5
実行モデルの仕様を変更する。実行は文脈(context)という単位で行うことにする。
文脈は行番号と列番号と文のリストとする。
列番号は現在の文脈における、文のインデックスとする。
if-then-else文の解釈は、条件に従ってさらに細かい文脈に展開して行うものとする。
制御文のGOSUBなどがあれば、文脈スタックに文脈を積んだり、文脈を復元したりする。
2015/09/13(日) 21:00:04.60ID:io0Trfl5
このモデルでうまく行きそうだ。この調子なら今年中には80%完了するだろう。
41片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/09/16(水) 12:19:08.76ID:mvaLzxUB
PRINT文、LIST文、DELETE文、プログラムの入力ができるようになりました。
MZ88-BASIC(作りかけ)
https://github.com/katahiromz/MZ88_BASIC
https://twitter.com/katahiromz/status/643987051214323712
2015/09/16(水) 14:45:24.09ID:OezDmTKu
今度も俺が勝って賞金は頂くぜ。
2015/09/16(水) 21:35:26.57ID:OezDmTKu
MZ88-BASICの別の名前を決めないといけない。ググって調べてるが、
俺が思い付いたのは既に使われてた。何かいい名前ない?
2015/09/16(水) 21:45:38.68ID:OezDmTKu
いい名前を見つけた! 後日発表するぜ。
2015/09/19(土) 20:28:07.79ID:FsjYPbwK
>>1
マキシマムザホルモンのfだろう
俺はわかったよ
46片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/09/22(火) 13:04:26.54ID:cVHX+xrK
新しい名前は「VeySicK」(ヴェイシック)に決まりました!!!

https://github.com/katahiromz/VeySicK
47片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/09/27(日) 12:40:36.74ID:kduBpt9j
昔風のBASIC環境「VeySicK」(開発中)
https://github.com/katahiromz/VeySicK
LOAD/SAVE/GOTO/GOSUB/RETURN/KEY LIST/
KEY/KILL/NAME/COLOR@/STOP/RUN/LISTが使えるようになりました。
https://twitter.com/katahiromz/status/647978781760552960
48片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/10/01(木) 16:13:26.72ID:WaFKy5T5
作りかけの自作BASIC環境「VeySicK」
https://github.com/katahiromz/VeySicK
DATE$/TIME$/SWAP/ROLL/CLEAR/PSET/PRESET/COLOR/
RENUM/DEFINT/DEFSNG/DEFDBL/DEFSTR/WIDTH/ERASE/DIM/LET
が使えるようになりました。
https://twitter.com/katahiromz/status/649481824914149376
49片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/10/10(土) 11:05:39.92ID:qM5Qx0os
作りかけの自作BASIC環境「VeySicK」
https://github.com/katahiromz/VeySicK
EDIT/FOR/WHILE/CONT/AUTO/INPUT/INPUT WAIT/
LINE INPUT WAIT/NEW/NEW ON/CONSOLE/OPTION BASE/
DEF FN/READ/DATA/SCREEN/ROLLが使えるようになりました。
https://twitter.com/katahiromz/status/652665928623067136
2015/10/12(月) 18:12:51.13ID:f2n17VdL
頑張れ自分
2015/10/12(月) 21:42:58.89ID:f2n17VdL
多重FORループ、案外難しい
2015/10/12(月) 21:53:48.73ID:f2n17VdL
NEXT K,J,Iを
NEXT K:NEXT J:NEXT I
に展開すれば解決するみたいだが、展開のコストがかかりそう。
FOR/NEXTの対応が全単射になれば容易いのだが。
2015/10/13(火) 18:33:32.58ID:DtroG4QR
多重FORループ問題、解決!
54片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/10/18(日) 15:33:36.21ID:P4QuySZ4
BASIC環境「VeySicK」開発中
https://github.com/katahiromz/VeySicK
ERR/ERL/SEARCH/ON GOTO/GOSUB/POINT/LINE/CIRCLE/PRINT USING/
PRINT# USING/EOF/FPOS/LOF/WRITE/WRITE#/LSET/RSET/LINE INPUT#/
GET/PUT/FIELDが使えるようになりました。
https://twitter.com/katahiromz/status/655632352702402560
2015/10/19(月) 18:46:59.22ID:AtTt+iDa
INPUT$の制御が難しい。バッファに積み上げるのはわかるが。。。
2015/10/19(月) 20:21:59.27ID:AtTt+iDa
INPUT$が出来たぜ
2015/10/19(月) 20:30:24.74ID:AtTt+iDa
次はRESUME, RESUME NEXT, ON ERRORの実装だ。
エラートラッピングはどうやるんだろ?
2015/10/21(水) 04:15:11.38ID:v0t+0YM/
応援してるお
2015/10/21(水) 22:13:13.47ID:jRXObvXq
COM通信以外のトラッピング実装完了。
オーバーフローエラー未実装。
PUT@で左上にゴミが出る問題あり。
2015/10/21(水) 22:24:05.07ID:jRXObvXq
タイリングが移植できた。
更新は日曜になる。
2015/10/21(水) 22:30:39.23ID:jRXObvXq
音は多分、Csoundで実装することになると存じます。
何かアイディアがあれば御指摘下さい。
2015/10/21(水) 22:39:16.38ID:jRXObvXq
VirtualBox上のUbuntuで音が鳴らない現象に遭遇している。
あれこれ試したが音が出ない。
2015/10/23(金) 00:13:05.36ID:/zhY2mEN
関数ポインターと別スレッドの活用で高速化するよ
64片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/10/25(日) 13:11:53.56ID:WBNNufGP
BASIC環境「VeySicK」開発中
https://github.com/katahiromz/VeySicK
MID$/ON ERROR GOTO/ON HELP GOSUB/ON KEY GOSUB/ON STOP GOSUB/
ON TIME$ GOSUB/GET@/PUT@/PAINT/INPUT$/INKEY$/ATTR$/FILES
が使えるようになりました。タイリングが可能です。
https://twitter.com/katahiromz/status/658133512898285568
2015/10/26(月) 16:19:34.55ID:CvaZPTEG
次は漢字の表示だな。さすがに漢字ROMをパクる訳にもいかないから、
IPAフォントを使おうと思う。JISコードの変換処理をおさらいだ。
2015/10/26(月) 18:54:08.70ID:CvaZPTEG
やはり梅フォントを使うべきか
2015/10/26(月) 21:35:35.05ID:CvaZPTEG
梅ゴシックの方がきれい。だが、ゼロになか点がついているのが余分。
自由に改変できるらしいから、少し変更してみるか。
文字のきれいさではMSゴシックにかなわない。日本のソフトウェア
開発は、人間工学をソフトの品質向上に活かすロジックが足りない。
2015/10/26(月) 23:50:17.27ID:CvaZPTEG
ちっ、最初からビットマップフォントを探せばよかったんだ。。。
2015/10/27(火) 18:06:35.66ID:5PFO2WOq
jiskan16.bdfと梅ゴシックを組み合わせてビットマップフォントを作ったよ。
品質には特に問題は無い。
2015/10/27(火) 22:17:06.48ID:5PFO2WOq
座標系が違う。修正しないと。
2015/10/27(火) 22:45:46.70ID:5PFO2WOq
時々Visual C++のデバッグ機能に助けられてる。あれは本当に便利だ。
shared_ptrの生存カウンターでメモリーリークの場所を特定しちゃるぜ。
72片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/11/01(日) 15:55:14.78ID:ubtxRzw8
BASIC環境「VeySicK」開発中
https://github.com/katahiromz/VeySicK
LLIST/LPRINT/LPRINT USING/WIDTH LPRINT/MID$/
PUT@ KANJI/CMD TEXT/CMD CLS/COMMON
https://twitter.com/katahiromz/status/660711108517322752
2015/11/01(日) 18:19:31.05ID:lhwvxGV2
samplesフォルダにサンプルをたくさん追加した。
まだまだ動かないのが多い。
PUT@で漢字の表示ができるようになった。
2015/11/06(金) 21:34:23.11ID:PylK8O7s
今、排他制御のミューテックスを追加しているが、さらなる高速処理のためには、
別スレッドを使用した新たな実行モデルを構築する必要がある。
2015/11/06(金) 21:46:16.16ID:PylK8O7s
実行が別スレッドになるということは、割り込みが発生したら、処理単位の切れ目で
処理の文脈を書き換えることになる。また実行前にスレッドを作成し、実行スレッドの終了フラグを用意する必要がある。
2015/11/06(金) 21:49:23.57ID:PylK8O7s
マルチスレッドはデバッグが困難だから、デバッグ用にシングルスレッドのコードも
残しておくことにする。
77片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/11/08(日) 13:40:49.68ID:4JY2IK+2
BASIC環境「VeySicK」開発中
https://github.com/katahiromz/VeySicK
DRAW/CMD TURTLE/CHAIN/CHAIN MERGE/INPUT#/PRINT#/WIDTH#
高速実行が可能になりました。
https://twitter.com/katahiromz/status/663214225708351488
2015/11/08(日) 13:54:28.51ID:4JY2IK+2
次は、音だな。Csoundって奴で試してみないといけない。
2015/11/08(日) 14:36:59.57ID:NO0JFS9g
乱数はメルセンヌツイスターを使おうかな? スレッドごとに種が違うのはまずい。
2015/11/09(月) 15:36:10.68ID:z+AFBfd7
CsoundのライセンスはLGPLだから、BSDライセンスに適合するには、Csoundを動的リンクしないとあかん。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況