shinya@iOS用音楽プレイヤー配信中@flat_leon
新品のSlimBladeってこんなに滑り悪かったっけ?ってくらい滑り悪いからハンドクリーム塗った。今まで塗ったことなかったのに。
posted at 22:23:00
Stats | Twitter歴 2,951日(2015/01/06より) |
ツイート数 2,989(1.0件/日) |
表示するツイート :
shinya@iOS用音楽プレイヤー配信中@flat_leon
新品のSlimBladeってこんなに滑り悪かったっけ?ってくらい滑り悪いからハンドクリーム塗った。今まで塗ったことなかったのに。
posted at 22:23:00
shinya@iOS用音楽プレイヤー配信中@flat_leon
あと無線SlimBlade買いました。有線のやつ3個くらい買ってるから、SlimBladeトータルだともう4個目かな。
posted at 22:20:16
shinya@iOS用音楽プレイヤー配信中@flat_leon
いろいろあって1ヶ月くらい中断してた自作言語&自作フレームワークの開発を再開。
posted at 22:16:59
shinya@iOS用音楽プレイヤー配信中@flat_leon
python、型ヒント書けるようになってほんと快適になった。静的型チェック使わずとも。
posted at 23:16:33
shinya@iOS用音楽プレイヤー配信中@flat_leon
もういいかげん、自作言語の改良じゃなくて、実際に自作言語ばりばり使っていきたい
posted at 00:13:02
shinya@iOS用音楽プレイヤー配信中@flat_leon
CとC++の標準ライブラリの対応マップの自動生成できた。2000項目くらい。これでとりあえず、自動include機能実装完了。
posted at 00:10:29
shinya@iOS用音楽プレイヤー配信中@flat_leon
自動include、標準ライブラリ編。とりあえず対応マップ用意してみたけど、必要になるたびに追加するのはあれだから自動生成するか。巨大になりそうだけど。 https://pic.twitter.com/lL6TRBgXWB
posted at 00:55:04
shinya@iOS用音楽プレイヤー配信中@flat_leon
自動include機能完成しつつあるけど、めちゃくちゃ便利な予感。あと自動decl機能も一緒に作ってる。
posted at 00:34:03
shinya@iOS用音楽プレイヤー配信中@flat_leon
自動include機能、単純に文字列見てinclude決定するから、関数の戻り値型とかその場のソースコードとして現れないものに関しては対応できないんだな。自動includeしてくれるかもしれない機能。
posted at 21:43:49
shinya@iOS用音楽プレイヤー配信中@flat_leon
自動includeを実装するには、型名とファイル名の対応マップが必要。逆に言えばそれがあれば実装できそう。
posted at 19:21:17
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語に自動include機能実装できないか考えている
posted at 16:02:04
shinya@iOS用音楽プレイヤー配信中@flat_leon
VSCodeの構文カラーは、他の言語の構文カラーを部分的に挿入できるようになっていて、自作言語のfunc内はC++構文カラーを挿入している。
posted at 22:48:18
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語(C++トランスパイラ)のVSCode構文カラー作ったら、なぜかコード補完も機能するようになって感動している。たぶん、裏で開いている生成されたC++ファイルのコード補完が効いている。 https://pic.twitter.com/L69LzWeWsw
posted at 22:44:45
shinya@iOS用音楽プレイヤー配信中@flat_leon
とりあえず、満足行くのできた
posted at 22:16:03
shinya@iOS用音楽プレイヤー配信中@flat_leon
VSCodeの構文カラー作るのまじつらい。わけがわからない。でもちょっとずつこつを掴んできた。
posted at 00:06:32
shinya@iOS用音楽プレイヤー配信中@flat_leon
VSCodeで独自構文カラー作るのむずっ
posted at 00:00:53
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語の構文ハイライトが欲しくてVSCode拡張作り始めた。
posted at 00:35:52
shinya@iOS用音楽プレイヤー配信中@flat_leon
class A
{
var %class_name%_value: int
}
みたいに書くと、
var A_value: int
ってなる機能作った。
posted at 00:18:01
shinya@iOS用音楽プレイヤー配信中@flat_leon
Pythonのpathlibの存在を初めて知ったんだけど、これ便利だな。os.pathとはおさらばかな。
https://docs.python.org/ja/3/library/pathlib.html…
posted at 14:20:53
shinya@iOS用音楽プレイヤー配信中@flat_leon
ファイル更新日ではなく、ファイルのハッシュ値見るように変更した。
posted at 23:30:57
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語というかコンパイラ、インクリメンタルビルドの仕組み実装した。単純にファイル更新日見るだけだけど。この仕組み無いと毎回全ファイルコンパイルしちゃうから必要だった。
posted at 22:57:53
shinya@iOS用音楽プレイヤー配信中@flat_leon
一時的にnamespace変えたい場合はpush/pop
namespace a
class X{} // a::X
push namespace
namespace b
class X{} // b::X
pop namespace
class Y{} // a::Y
posted at 01:09:18
shinya@iOS用音楽プレイヤー配信中@flat_leon
名前空間、基本的に1ファイルに一回しか書かないのに、{}でくくるのが面倒。
namespace a
{
class X
{
}
}
なので自作言語ではこうした。
namespace a
class X
{
}
入れ子はこう書く
namespace a::b
class X
{
}
posted at 01:02:49
shinya@iOS用音楽プレイヤー配信中@flat_leon
ヴァルキリーエリュシオン楽しい…。でももう寝なきゃ。
posted at 01:02:32
shinya@iOS用音楽プレイヤー配信中@flat_leon
訳あって、自作言語開発1ヶ月くらいストップしてたけど再開しよう
posted at 17:39:05
shinya@iOS用音楽プレイヤー配信中@flat_leon
もう審査通った!
posted at 23:09:43
shinya@iOS用音楽プレイヤー配信中@flat_leon
センメツコースター、バージョンアップ申請した。Appleがバージョンアップしないと消すぞって言うから。うさぎのソリティアはもう消されました。
posted at 21:44:52
shinya@iOS用音楽プレイヤー配信中@flat_leon
# define nil nullptr とするだけで、5%くらいC++をNimに近づけることができる
posted at 23:38:57
shinya@iOS用音楽プレイヤー配信中@flat_leon
/**/によるコメントアウト。入れ子可能にしたかったけど、実装大変そうだったから、$if(False)でいいじゃんってなった。結局C言語と同じに…
posted at 00:36:20
shinya@iOS用音楽プレイヤー配信中@flat_leon
これ結局こうなった。
$ if(式)
$ elif(式)
$ else
$ end
$ select
使うコード
$ discard
使わないコード
$ end
posted at 00:31:53
shinya@iOS用音楽プレイヤー配信中@flat_leon
基本的な動作ができた。自作プリプロセス言語というか、プリプロセスとしてPythonを実行する仕組み。 https://pic.twitter.com/DhRaTaR5a5
posted at 23:47:09
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語に自作プリプロセス言語を実装しようとしている
posted at 13:43:35
shinya@iOS用音楽プレイヤー配信中@flat_leon
Nimは個人的にはほぼ最高な言語だったけど、一部致命的なところがあって断念した。あと10年くらいしたらまたチャレンジしてみるかも。
posted at 23:33:24
shinya@iOS用音楽プレイヤー配信中@flat_leon
C++入れ子クラスは便利だけど、先行宣言できないという嫌な制限があって、自作言語のC++コード生成ではもうクラス外に展開してしまおうかとか考えてる。 https://pic.twitter.com/4nLcfxgm6b
posted at 23:01:18
shinya@iOS用音楽プレイヤー配信中@flat_leon
C++後継も増えてきたな。RustとかNimとかZigとか。
posted at 23:53:54
shinya@iOS用音楽プレイヤー配信中@flat_leon
/**/を入れ子にできないのただ不便なだけだよなぁ。swiftは/**/を入れ子にできるらしい。
posted at 23:07:50
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語のコメントアウトの文法を考えている。この実装ではなく、こっちの実装を使いますという意図を記述できる文法入れたいな。 https://pic.twitter.com/amgX3tk4Ni
posted at 22:55:40
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語作り始めてから10日くらいでここまでできれば上出来でしょう…
posted at 00:36:18
shinya@iOS用音楽プレイヤー配信中@flat_leon
↑のコード動いた!
Pythonでソースコード->AST->.h .cpp CMakeLists.txt生成 -> cmakeでビルド -> 実行
posted at 00:33:14
shinya@iOS用音楽プレイヤー配信中@flat_leon
関数の中身とか型は文法そのままC++で。C++コード生成時にそのまま出力。そこも独自文法やりたい気持ちはあるけど、大変そうだし、そんなに不満ないし。セミコロンは嫌だけど。
posted at 19:45:59
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語のHello Worldこんな感じになる。
基本クラスベースだから、main関数だと少しおまじないが多くなってしまうけど。 https://pic.twitter.com/EAMutxT10F
posted at 19:36:36
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作言語、アクセス制御にpush/pop使えるようにする。あとデフォルトpublic。 https://pic.twitter.com/VyMrZyYxRA
posted at 00:13:39
shinya@iOS用音楽プレイヤー配信中@flat_leon
pythonもうすっかり型記述(type hint)できるようになって、vscodeだとコード補完もばっちり動いて非常に快適
posted at 00:03:06
shinya@iOS用音楽プレイヤー配信中@flat_leon
C++で苦しいのは、ヘッダとソース2回関数書く必要があるところ。自作言語では、そこ自動生成にする。
posted at 21:53:29
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作プログラミング言語、Nimと同じようにC++コード生成する方式。プログラミング言語というかC++コード生成マクロに近い。AltC++?
posted at 21:49:37
shinya@iOS用音楽プレイヤー配信中@flat_leon
この三連休は自作プログラミング言語の開発を猛烈に進めて行きたいところ
posted at 22:50:11
shinya@iOS用音楽プレイヤー配信中@flat_leon
この前買ったXBoxコントローラーでヴァルキリープロファイル(初見)やってる。ヴァルキリーエリシュオン発売までにクリアしたい https://pic.twitter.com/FfKm3C8kNB
posted at 15:52:23
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作プログラミング言語の文法案 https://pic.twitter.com/YGdUqw0RSd
posted at 20:59:14
shinya@iOS用音楽プレイヤー配信中@flat_leon
決まった。
posted at 22:32:11
shinya@iOS用音楽プレイヤー配信中@flat_leon
自作プログラミング言語の名前どうするか悩んでいる
posted at 21:34:50