Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13 14214
次のページ(過去)
返信[10]
親投稿
MIKI ifconfig
毎週毎週集計ありがとうございます!! ついに 4 桁の大台に!! サイゼだったらおいしいものたくさん頂けますね!! ありがとうございます!! 次回もがんばります!!
0そうだね
プレイ済み
返信[18]
親投稿
MIKI ifconfig
予想では閉鎖後は今募集している手書きイラストのモザイクアートだけババーンと表示されるようになると思ってます。 今作ってる処理系も、中間コード(double配列)を吐き出して、実行は vm 担当です。 vmとかお好きなら、こちらのとかどうですか? http://www.boundvariable.org/um-spec.txt たった13個の命令だけ。 これはとあるプログラミングコンテスト用の vm です。 めちゃくちゃおもしろいです!! 参加者(日本人)の blog がわかりやすいかな。 http://shinh.hatenablog.com/entry/20060725/1153760624 プチコンでも実装できるのですが、メモリがかなり必要なので 3号では実行できません。 BIG ならいけるかもだけど、素直にCあたりで書くのがいいと思います。 私の実装だとCで382行.
1そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
なんどでも!!
3そうだね
プレイ済み
返信[5]
親投稿
MIKI ifconfig
そのものズバリは書けませんが、 どこかのバージョンから「定数だけからなる式」は定数扱いになったので、例えば次みたいにかけます repeat:read x: ? x: until x!=x data 1,2,1e308*2,1e308*2*0
6そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
デスヨネー でもえくるさんは絵が描けてるじゃないですか!! 前髪ぱっつん・つり目・ゴスロリ風でとってもかわいいです!!
1そうだね
プレイ済み
返信[16]
親投稿
MIKI ifconfig
あ、思い出した!! 最初に書いたオレオレ言語では太古のLISPよろしく動的スコープを採用したんだった。 動的スコープの場合、実装上名前空間は一つだけでいいのよね。 なので yylex で一律管理できた。
1そうだね
プレイ済み
返信[15]
親投稿
MIKI ifconfig
あーこんなことメモってもミバ終わったらみられなくなっちゃうのかー 記憶のネットワークバックアップという意味では全く無意味だなーー
1そうだね
プレイ済み
返信[14]
親投稿
MIKI ifconfig
def func(x) の場合、'(' を先読みした時点で func が reduce されるので、そこで yylex に指示すれば、次の token 'x' はローカル変数になるが、 def proc x の場合、proc が reduce されるのは token 'x' を先読みし終えた時点。 なので、そこで「次からlocalな」と yylex に指示しても x は手遅れでグローバル変数として登録済み。 def 命令定義の場合に限ったら、def と proc の間で yylex に指示すればまあいいのだけれど、いちいち先読みを気にして構文解析するとかムリなので、解決方法としては構文解析側で識別子を解決するするしかないという結論。 これまで何回かオレオレ言語を作りましたが、名前空間を分けたことがありませんでした。 経験不足を痛感しますね。 GC も実装したこと無いのでお先真っ暗闇です。
1そうだね
プレイ済み
返信[13]
親投稿
MIKI ifconfig
命令 def の処理でバグが・・・ def proc x: statements: end これで x がグローバル変数になってしまうというもの。 def func(x): statements: end では発生しません。なんでかなーと探ってったら 1. 識別子の解決を yylex() 側でやってて、 2. 名前空間の切り分け(global/local)は文法側から yylex に指示してる のがダメということが判明。 関数名/命令名を reduce した時に、yylex に対して「次からローカル変数な!」と指示してるのだけど、yacc は LALR(1) 法なので、常に token を一つ先読みします。
1そうだね
プレイ済み
返信[15]
親投稿
MIKI ifconfig
参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!参加します!!
0そうだね
プレイ済み
返信[12]
親投稿
MIKI ifconfig
てか現状は double 型のスカラ変数しか実装してません。
1そうだね
プレイ済み
返信[11]
親投稿
MIKI ifconfig
命令版 def 実装中です。関数版 def との違いは戻り値があるかないかだけ、、、と思いきや、 out v1, v2 がありましたね。 これは p(double *v1, *v2) と考えることにして、呼び出し側は p(&v1, &v2) てな感じにしました。 本来は out 実引数は lvalue ですね。プチコンの lvalue は ・スカラ変数 ・文字列変数 ・配列変数[指標[,指標..]] ・文字列変数[指標] ・文字列配列変数[指標] ・文字列配列変数[指標][指標] ・var("スカラ変数名") ・var("文字列変数名") ・var("配列変数名")[指標[,指標..]] ・var("文字列変数名")[指標] ・var("文字列変数名")[指標][指標] がありますが、var 関数はサポートしない予定です。
1そうだね
プレイ済み
返信[11]
親投稿
MIKI ifconfig
35円当たったけど、総額には加算されなかった(号泣 次がんばる!!
1そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
なんとなく名称的に flagget/flagset がいいような気がしました
0そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
spset しなくても spvar 使えるのか~ 不揮発性のメモリとしては - clipboard - 他スロット - グラフィック(bg,sp含む) などが考えられますね。 あとどなたかが mpsend で他の3DSに送るという荒業をやってました。
3そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
print 文字列 を実装しました。 文字列は本来配列として実装すべきなのですが、配列の実装はまだまだ先のことになりそうなので、場当たり的に print の引数としてだけ文字列定数を指定できるようにしました。 これでやっと hello, world が表示できるようになりました。 ↓ print 12Hhello, world
2そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
おちゃめさん > プチコン3号の演算は基本的に左側から順番に処理されますが、 > 構文解析は右から行わる 構文解析については == は左結合つまり a==b==c は (a==b)==c と解釈される 実行順序というか評価順序は 構文木を作り時計回りで帰りがけ順に評価 になります。 この場合、 c を評価して b を評価して a を評価して 一個目の == を評価(演算)して 二個目の == を評価 となります。
0そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
Aho の本は旧版(マンガ風の赤いドラゴン)の方です。第2版(CG風のドラゴン)は読んでません。
0そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
「unixプログラミング環境」(水色表紙の本)の第8章に、四則演算から関数定義まで 6 段階にわたって実装していくすごく詳しいチュートリアル(70ページ)があります。 今回の実装も基本的にそれがベースになっています。 もし興味があるなら是非ご一読を!! 理系大学の図書館にならあるでしょう。 みなつさんなら難なく読めると思います。 今見たら某大手通販サイトで中古 575 円で売ってる!! これはほんとにいい本!! must buy!! Aho他の「コンパイラ―原理・技法・ツール〈1〉」は大学の教科書ですが、yacc の基礎となる理論について詳しい説明があります。
0そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
これバイリニア補間かな?? RGB じゃなくて HSV で補間してみては?? H の場合、円環なので、距離の短い方を選ぶ必要があります。
0そうだね
プレイ済み