Skip to content

Instantly share code, notes, and snippets.

なつやすみのにっき 2024/08/12

きょうはなんにもないすばらしい一日だった

そんな日もあるよね

なつやすみのにっき 2024/08/11

せっかく RISC-V 環境を手に入れたので ruby を動かしたい

ので、やってみます。

(WSL で)
$ git clone --depth 1 --branch v3_4_0_preview1 https://github.com/ruby/ruby.git

なつやすみのにっき 2024/08/10

ふと RISC-V を試したくなりました

ので docker + qemu で試してみます。

ファイルを作った後 WSL で以下のようにして環境を作りました。

@wanabe
wanabe / how-falcon-work.md
Last active April 28, 2024 08:24
Falcon ってどういう仕組みなのか読んでみたけれどよくわからない(未完)

免責

てきとうに読み始めててきとうに書き始めていてまだ終わっていません。 何か変なことを書いていたらすみません。

序文

https://github.com/socketry/falcon がどう動いているのか気になったので見てみます。

初手

@wanabe
wanabe / parser.peg
Last active February 12, 2023 22:12
# original file: https://git.ruby-lang.org/ruby.git/tree/parse.y
%prefix "tiny_ruby_parser"
%capture on
%value c -> "tiny_ruby_value" rb -> "TinyRubyValue"
%auxil c -> "tiny_ruby_context_ext *"
dump <- program:program
c -> {
# This code is hereby placed in the public domain.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
@wanabe
wanabe / class.md
Last active January 30, 2023 10:12
classDiagram

Parser --> LrMemoTable: memos
Parser --> Thunk: thunks[]
LrMemoTable --> LrMemo: memos[pos][rule_name]
LrMemo --> ThunkChunk: answer

Thunk <|-- ThunkNode
Thunk &lt;|-- ThunkLeaf
@wanabe
wanabe / gist:bc6c4091d9e70164baa2b8d6162e5807
Created November 27, 2022 08:20
ruby sample/exyacc.rb parse.y at d055c44b0cfeeed2d02f8899200863d69758abc1
program : top_compstmt
;
top_compstmt : top_stmts opt_terms
;
top_stmts : none
| top_stmt
| top_stmts terms top_stmt
;
@wanabe
wanabe / gist:d1d6c0711b3ac7df4a94021477713b9a
Last active July 9, 2022 09:53
Feature #18875 がどういうことなのか読み解く

Feature #18875 https://bugs.ruby-lang.org/issues/18875 で、Ruby になにやら大きな変更が入ったようです。 チケットを読んでもどういうものなのかまだあまりわからず、気になったので調べつつメモします。

もっとも特徴的なのはこの部分です。

@@ -456,9 +460,12 @@ struct rb_iseq_constant_body {
     } variable;
 
 unsigned int local_table_size;