猫ベ~開発記。

猫なBASIC言語の開発記。にゃ~にゃ~言いながら作成中です。
2
猫大名 ねこ猫 @W88DodPECuThLOl

WebAssemblyのimport具合。 new,deleteはC++側で実装したいところ。 putcharの表示するのは無理で、 doubleの表示は頑張れないかもしれにゃい……(弱気 #猫ベ~開発記 #BASIC #プログラミング #WebAssembly pic.twitter.com/rKfreQpejh

2022-11-05 00:08:54
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

new,deleteはC++側で実装しようとしたけど、 これ駄目なヤツだ…… (ファイルサイズに注目です……) #猫ベ~開発記 #BASIC #プログラミング #WebAssembly pic.twitter.com/ogvzfkPxrA

2022-11-05 02:12:58
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

extern "C" void* __heap_base; とするとヒープの開始位置が取得できるのかな? よくわからじ…… メモ) (global (;1;) i32 (i32.const 68976)) (export "__heap_base" (global 1)) #猫ベ~開発記 #BASIC #プログラミング #WebAssembly

2022-11-05 02:56:15
猫大名 ねこ猫 @W88DodPECuThLOl

うまく行かずにこんな感じに、javaScript側から呼び出して設定するように。 むむぅ~。 extern "C" void* __memory_base; void setupHeap(void* heapBase, size_t heapSize) { __memory_base = heapBase; #猫ベ~開発記 #BASIC #プログラミング #WebAssembly

2022-11-05 13:16:10
猫大名 ねこ猫 @W88DodPECuThLOl

参照渡しのユーザ定義関数。 後は、返り値のRETURN。呼び出し部分も、もう少々。 #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/OSUoGnyykV

2022-11-07 02:20:37
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

式中の関数の呼び出しが難しいので「文」ごとに区切って実行してたのをやめようと改造中。 なんだかLLVMでフロントエンドを作ってる感じの気分にゃに。 (ちなみに「きつねさんでもわかる本」で学習しましたにゃ) #猫ベ~開発記 #BASIC #プログラミング

2022-11-08 00:36:20
猫大名 ねこ猫 @W88DodPECuThLOl

9割がた出来た。 (残り1割がもの凄く時間かかる罠) #猫ベ~開発記 #BASIC #プログラミング

2022-11-09 21:48:51
猫大名 ねこ猫 @W88DodPECuThLOl

ASTから似非コードを吐き出すように。 再びの「こんにちは世界」 後は、ガリガリとやればできるはず……(フラグ #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/Tu3nqOffu8

2022-11-10 07:15:56
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

にゃんとか式の中から関数を呼び出せるように。 疲れたよ、パトラッシュ。 で、ソースがパスタっぽくなってしまったので、整理がんばる。 #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/rReGcUgjtH

2022-11-13 14:55:27
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

猫の知っているBASICとはにゃんだか違う気がするにゃ……。 #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/k5RgupjymC

2022-11-14 22:41:20
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

「Worker側で処理させながら、メッセージを受け取ったらそれを処理する」みたいなのをやりたい。 WebWorkerは処理してる途中、メッセージ受け取れるんじゃろか? #猫ベ~開発記 #プログラミング #JavaScript

2022-11-16 20:03:00
猫大名 ねこ猫 @W88DodPECuThLOl

SharedArrayBufferというので、threadっぽくできるみたいだけど、セキュリティの問題で使えない? うむぅ、わからじ……。 #猫ベ~開発記 #プログラミング #JavaScript

2022-11-16 20:03:32
猫大名 ねこ猫 @W88DodPECuThLOl

関数形式のユーザ関数実装。 予定していたの全部実装できた。 エラー時のメッセージなどのユーザビリティな所を 実装しつつソース整理とデバッグにゃ。 あとGitHubのPage?というのを調べること > 未来の猫へ #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/4ngwKQ1uYi

2022-11-18 16:54:41
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

GitHub Pagesに砂場を作成。思ってたよりも簡単にできました。 テストやデバッグや諸々頑張るぞい。 #猫ベ~開発記 #BASIC #プログラミング #WebAssembly pic.twitter.com/k34Uu4ZgJp

2022-11-19 13:37:37
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

WindowsでコンソールにUTF-8を表示のはsetlocale()でUTF-8を設定するっぽい。 残念ながらUTF-32には対応していないらしい…… // Windows 10 バージョン 1803 (10.0.17134.0) 以降 setlocale(LC_ALL, ".UTF8"); #猫ベ~開発記 #プログラミング pic.twitter.com/n2l8FokkTm

2022-11-20 17:25:46
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

FOR文の構文解析時のエラーの場合 FOR ~ "FOR"の後に変数が必要です。

2022-11-20 19:50:15
猫大名 ねこ猫 @W88DodPECuThLOl

ようやく、 エラー表示がまともににゃってきました! #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/MV00GcgMma

2022-11-22 02:13:47
拡大
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

数学関連の関数。 Webの方はJavaScriptの関数を呼び出すことで実装。 muslというのを使う手もあったけど、MITライセンスにするのも何なので、使わないことにゃに。 #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/ycPo7e6KmE

2022-11-23 17:39:28
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

文字関連の関数実装中。 後は、printfっぽい中ボス的なのが残ってる……。 #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/Paoip0I8G9

2022-11-24 21:58:17
拡大
猫大名 ねこ猫 @W88DodPECuThLOl

よくわからないバグに悩まされる事半日。 (結局、凡ミスだった……) Printfっぽい中ボスできました。疲れたにゃ。 #猫ベ~開発記 #BASIC #プログラミング pic.twitter.com/FEhDq67jE3

2022-11-26 16:08:07
拡大