ToDo:
http://neugierig.org/software/c-repl/
via http://www.rubyist.net/~matz/20070918.html#p03
i@colinux ~/src/c-repl> ./repl > char* v="hoge"; > puts(v); <stdin>: In function 'dl2': <stdin>:1: error: 'v' undeclared (first use in this function) <stdin>:1: error: (Each undeclared identifier is reported only once <stdin>:1: error: for each function it appears in.)
> int x = printf("Hello\n"); Hello > printf("%d\n", x); <stdin>: In function 'dl6': <stdin>:1: error: 'x' undeclared (first use in this function) <stdin>:1: error: (Each undeclared identifier is reported only once <stdin>:1: error: for each function it appears in.)
結局ある程度文法決め打っちゃってるのがうーんいまいち感が。
あーでもちょっと使うくらいならこれくらいでも 十分実用なのかなー。
ていうかユーザーから decl か stmt か指定する構文が あってもいいんじゃないかな。
さっきのだけなら
if code =~ /^\w+\*?\s+\w/ # rule 1
とかしとけば
> char* s="hoge"; > puts(s); hoge
とか通るようになるんだけど今度はうーん。てか
> 3*2 > 5<<3
こいうのはもともと通らんのか。
ふーむ。
(14:22)
前 | 2007年 9月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。