Rubyのブロック渡し+yeildって何のためにあるの? Proc.new がやたら遅いのを改善すれば存在価値ないよね。 ブロック無くせば Lispの方言くらいに認めてあげるよ。
>>8 Ruby らしさのため。それがわかんないようなバカは氏んでください。
まぁ Lisp みたいなユーザビリティの低い言語と同列に語られたくないし。
Haskell と Ruby が今後の必須科目。それ以外は低能か変態向け。
ブロック渡しが Rubyのアイデンテテなんだね。 他の言語のよいところをつぎはぎした生きた言語である Rubyは ユーザイリティが高くて大人気なんだね。 これからの時代Rubyは必須科目だね。 でも純粋だけは名乗らないでね。
他言語の良い所でも学ぶべき所は学ぶのが Ruby の良い所。 ユーザビリティを考慮してうまく取り込んでいる。 今後は必修科目は Ruby と Haskell だってんだろド低能がぁぁ VM としては YARV コンパイラは GHC が鉄板
言語設計に全くかかわりのない業界の言葉なんだけど、 Ruby(Rails)に大規模Webアプリの実績がもう少しあれば信用できるんだけれど…
必修科目が Ruby と Haskell … そりゃ無茶だろうw
>>13 お前みてーな低能にはなw
実現したらバカが駆逐されて実に爽快だろうなw
>>14 >実現したらバカが駆逐されて実に爽快だろうなw
実現しっこないって自分で認めちゃだめでしょ?
せめて希望だけは持ち続けねば!
議論で負けているように見えるのか。 ここはひどいインターネットですね。
アレ?反省したんじゃなかったの?
991 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:15
や、
>>977 の発言を見て Rubyを純粋だと信じてやまないピュアな若者を
いじってみたくなっただけなんだ。
正直純粋とかアイデンティティとかどうでもいい。いまは反省している。
純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。 Smalltalkは人によっては純粋。Rubyも人によっては純粋。 それで何がダメなのか具体的に反論してみろよ? 負けてないならさぁ。
個人的には2ちゃんねるのような匿名板で、議論に勝ったり負けたりということに何の意味があるのかさっぱりわからん
そりゃレスポンスがあればいじっちゃうだろ。
>>19 Rubyのどこがダメか今までいってきたんだけど...
むしろそれの答が
>Ruby らしさのため。それがわかんないようなバカは氏んでください。
なんだけど。
とりあえずだな、俺は21世紀になってこの方、RubyもHaskellも 仕事で使わせて貰ったことはない。 これが現実だ。
>>21 ブロックがオブジェクトじゃないからダメとかいう、個人の主観に過ぎないことぐらいしかダメ出ししてねーくせに。
別にオブジェクトと捉えて特に問題も無いのにさぁ。
>>22 へー
で、今話題になってる純粋なSmalltalkは、Scheme仕事で使ってんのか?
使ってないなら、それは今関係無い話だ。
Rubyは仕事で使っているけど…Railsをね。 不安でたまらん
>>24 ほう、RubyやHaskellから話を逸らしたいのかね?
>>26 はぁ?そもそも俺は9じゃないんでどうでもいいけど?
>>19 Smalltalk が純粋、Java が純粋…ってなら(それぞれが立脚している
「オブジェクト指向」がなんなのか。具体的にはケイのか、ストラウストラップのか)
分かるような気がするけど、
Ruby が純粋ってヤツは、基本的に、オブジェクト指向にはどんなものがあるのかを
分かっていないか、知ってか知らずか俺定義に走っているか、教祖の尻馬に
乗っているだけか…、どれかだね。
>>23 ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?
てか今ここで Rubyのブロックのどこがオブジェクトじゃないのか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...
はいはい、じゃあ具体的に何が純粋じゃないのか言ってみ。 何も知らないで俺定義に走ってるのはお前だろ。
お前はブロックがオブジェクトかどうかが、純粋かそうじゃないかの全てかよ Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。 実用の為に、intなどのプリミティブな値あるしさぁ。
「純粋」って何なんだ さっきからオレには全然理解できん 誰か説明してくれ
>>29 >ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?
ドアホかお前は。>23をよく読めよ
ブロックがオブジェトじゃないってのは認めてるだろ。
ブロックがオブジェクトじゃないから、純粋じゃない、というのを主観だっつってんだよ。
もうお前黙れ。レスもちゃんと読めない馬鹿と議論なんか出来るか。
>>32 いやいや純粋ってそういうもんじゃんか。
Smalltalkは全部オブジェクト、Rubyはそうじゃない。
だから Rubyは Smalltalkより純粋じゃない。って見方ができる。
そんな潔癖に意味あるかは別としてね。
さっき上げた lisp prolog smalltalk haskell ml forth
なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。
で Rubyはなんなのって思うわけよ。
その Rubyらしさとやらを説明してほしいんだけど。
>>33 個人の主観に過ぎない幻想
理由は無いけど、SmalltalkやShcemeやJavaはそうで、Rubyはそうじゃないモノ。
>>34 オブジェクトと捉えて問題ないか教祖さまに聞いてみれば?
てか今ここで Rubyのブロックのどこがオブジェクトと捉えて問題あるか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...
あの、どう問題ないのか説明してください。
あと、Rubyはこうだから純粋だっていうのを是非。
>>23 >別にオブジェクトと捉えて特に問題も無いのにさぁ。
>>34 >ドアホかお前は。>23をよく読めよ
>ブロックがオブジェトじゃないってのは認めてるだろ。
こいつおもしろいね。
>>35 Aの言語より純粋さに多少欠けるから、
Bの言語は純粋と言ってはいけないってか?アホらしい。
>>37 >>38 レスもちゃんと読めないアホとは議論できないとさっき言ったろ
>さっき上げた lisp prolog smalltalk haskell ml forth >なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。 どう純粋なのか言ってないじゃんw
>>39 もなんもないみたいだし
特になんかなければ 終了ってことで。
>>39 つまり、お前は自ら議論能力の欠如を吐露したと言う訳だな?
>>41 何にも無いのはお互い様。必死になってお互いに相手に証明を求めてるだけ。
>>42 いいや、お前の議論能力の欠如を指摘したまで
>あの、どう問題ないのか説明してください。 これなんかアホの典型。悪魔の証明だ。 普通は問題が「ある」と思うほうが説明する。
>>43 おいおい、勝手にお互い様にしちゃいかんだろ。
えっと lisp と smalltalkはでてきたと思うけど他は lisp クロージャ マクロ eval prolog 一階述語論理 カットによる制御 パターンマッチ smalltalk オブジェクト指向 haskell 遅延評価 参照透明性 ml 型推論 パターンマッチ カリー化 forth スタック 後置記法 俺の思う純粋は余計なものがないってこと。
お前お前って相手がひとりだと勘違いしてないか。43は。 Rubyのブロックはオブジェクトではないし、オブジェクトとして使うには、 別の書き方をしなきゃいけない。そもそも書き方が何通りもあること自体、 Rubyがつぎはぎであることの結果としか思えんのだが。 こんなのを「オブジェクトと捉えて特に問題も無いのにさぁ」といえるのなら、 Javaだって今はWrapperクラスとauto boxingあるから、 >Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。 >実用の為に、intなどのプリミティブな値あるしさぁ。 こんなことも言えないはずだしね。
>>45 ブロックがオブジェクトなんて斬新な意見持ち出す方が説明すべきだと思うぞ。
ブロックは普通の引数と違ってメソッド呼び出しの後ろにくっつけて渡して
それを中から yieldで呼びだせるからオブジェクトじゃないとか説明すればいいのか?
>俺の思う純粋は余計なものがないってこと。
「俺の思う」とかつけてる時点で主観だってわかってるんだろ。
>>48 >こんなことも言えないはずだしね。
おいおい、Rubyが純粋じゃないなら、Javaも当然純粋じゃないって意味だ。
つうか、こっちが言いたい台詞だよそれは。お前はJavaが純粋とかのたまったくせに、
Rubyが純粋じゃないとか言ってたアホさに呆れてたんだよ。
>>49 アホか。ブロックがオブジェクトと捉えて問題ない、といったんだ。
「ブロックはオブジェクトそのものだ」なんてお前が捏造した意見だろ。
どうも脳内毒電波ゆんゆんさんらしいので、言っても意無駄かもしれんが繰り返すぞ。 「お前お前って相手がひとりだと勘違いしてないか。50は」
>>50 そうそう、主観なんだよ。
だから Ruby信者の主観を知りたいんだよ。
どういう観点で見たら Rubyが純粋なのかって。
そのレスポンスが期待できないから終了にしたかったんだけど...
なにもないよね?
荷が重ければアイデンティティでもいいけど、
それはいろいろ吸収するってことなんだっけ?
それじゃバランスのいい Perl止まりなんだよな Rubyは。
>>52 はぁ?名に言ってんだお前は。
一人一人にレス番号付けてるのに、「お前等は」とか複数形にしろってのか。
馬鹿か黙ってろ
結論は20で出ている、という事実を伏せておくのが大人の配慮なんだろうね
def foo(&block)
block.call("test")
end
foo{ |it|
p it
}
普通にブロックはそういう風に扱うとオブジェクトになるだろうが。
>>53 じゃあ、ほぼ全てがオブジェクトで、式で、
一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
>>53 >だから Ruby信者の主観を知りたいんだよ。
そうだよね。
>>19 >純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。
結局これは、「信仰によるもの」というのが結論?
いや、結論はRuby信者は純粋にヘタレ、でおk
>>56 「foo(&block)」は「普通」なのか?
そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
さすがはつぎはぎ言語。
>>57 992 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:35
>Rubyが、いろんな言語からつぎはぎした統一感のない言語だってのは事実なんじゃね?
>それを「いいとこ取り」と言う奴もいるだろうが、「ぐちゃぐちゃ」とか「アイデンティティがない」とか
>思う奴もいてよかろう。
その一文はお前をパロってるんですけど。
半角?クンだから、コレはおまえだよな?
>>59 そのヘタレよりヘタレがお前だけどな
>>60 >「foo(&block)」は「普通」なのか?
何が普通じゃないんだ?
>そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
>さすがはつぎはぎ言語。
だから何なのだろう?もう煽りたいだけのアホは困る。
>>59 オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
教祖も純粋にヘタレてる。
>>62 ブロックがオブジェクトなら&修飾子はいらんだろ?
ここまでの話のどこら辺が > 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, > CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, > SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, > JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 > 意味論に関する話題も歓迎です。 のうちのどれに関わっているのか教えてくれ。
>>54 あのね。
>>52 =48 は「俺は
>>28 じゃねえ」って言いたいんだと思うよ。
>>56 そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
そのブロック文法自体いらないともいえる。主観ではいらない。
>じゃあ、ほぼ全てがオブジェクトで、式で、
>一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
その意見を批判するのはちょっと違うと思うので何も言わないが
新しいパラダイムがある訳でもなく特別潔癖でもない、むしろ雑食な言語を
vi で書くのが純粋のイメージってのが違和感あっただけ。
>>63 残念。最初にアイデンティティとか言い出したのは、前スレのコイツです
982 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/05(金) 23:51:09
>>980 SchemeとSmalltalkはRubyよりは「純粋」だと思うよ
Rubyのアイデンティティってなんなの?
>>64 だから、ブロックはオブジェクトだと言ってないって。捏造が好きなアホだな。
便利なための記法なんて、どの言語にもあるだろうに。
>>65 >ここまでの話のどこら辺が
もっともだ。じゃあRubyのそういうところについて議論しようか。
・字句解析、構文解析
→つぎはぎの拡張を繰り返したトンデモ文法のおかげでparserとlexerが
ごっちゃになってひどいことになってるよな。
・データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化
JIT,動的バイナリ変換等の各種最適化, 低消費電力化
→どれもやってないよな。継続の実装もアレだし。
・VM
→ようやくYARVが、ってとこか。
・GC
→「GC や Thread などのインタプリタの実装のトリックが移植性を損なっている」
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby%A4%CE%B7%E7%C5%C0 …えーっと。
>>66 >そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
>そのブロック文法自体いらないともいえる。主観ではいらない。
もともとも文法的に2個以上ブロックを渡すのはムリがある。
>Proc.newとかしないと駄目でしょ
あれ? lambda{}と書けるけど。もしこれがダメならschemeはどうすんの?純粋じゃないの?
>vi で書くのが純粋のイメージってのが違和感あっただけ。
俺が書いたんじゃねーから知らんけど、そもそもviなんか使わんし、
そんなことで噛み付くなよ。
Ruby 信者が話にならないのは、パクリ元の言語のことをほとんど知らないからだな。 教祖の尻馬に乗って、寄せ集めの機能を自慢げに語ろうとする。 パクリを認めないばかりか、Ruby オリジナルとか言いかねない教祖が悪いんだけどね…。
オブジェクト指向はアイデンティティだべ。 Rubyにゃアイデンティティがねえべ。 従ってRubyはヘタレ。 これは三段論法ではないが、立派な連鎖推理だにょ。
> オブジェクト指向はアイデンティティ 飛躍 > Rubyにアイデンティティがない 主観 > 従ってRubyはヘタレ。 論拠が無い
>>70 ハイハイ、レッテル張りね。すごいすごい。
>>71 オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
71も純粋にヘタレてる。
>>73 お前、その日記の内容見て無いだろ。アホ丸出しだぞ。
今しがた、アイデンティティ Ruby でググッて見つかったのを張ったダケだろ。
わかった、わかった、Rubyは純粋。 それも純粋なヘタレ。
反論出来ないとコレだw
中身が無いのに熱さだけあるってのもすごいよな。 信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど 凡庸な rubyに信者がたくさんいるってのが解せない。 rubyしか書けないから、だったりして。
Ruby はオブジェクト間の区別ができるから、純粋なオブジェクト指向言語なんだな。w なるほど! オブジェクト指向するって、案外、お手軽なんだな。知らなかったよ。
>>77 おいおい、おまいさんの書き散らしたレスのどこに「論」があったんだ?
論無き所には、反論もまた無しと言う訳だ。
今日はここかい?
>>78 Rubyは単なる嗜みの一つだが、馬鹿が沸いてたので指摘したまで。
>>79 理解力0と
>>80 確かに相手側も一切の「論」が無かったな。
馬鹿ばかりだった。
>>78 >信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど
そりゃ作者が正真正銘本職の宣教師(元)だもの。モルモン教の。
主観では、一番のアホは、半角の?を付けてる彼でした。
自作自演するときは、微妙に書き方を変えなきゃ 自作自演するときは、微妙に書き方を変えないと。 自作自演するときは,書き方を微妙に変えないと。
おや>84。どうして「彼」だとわかったんだ。どうして「彼女」では無いと?
そうか。半角?は書き分けのためだったのか。やられた。
>>82 単なる嗜みのひとつレベルで、ここまで熱くなれると言う事に
驚愕すると共に、Rubyはただのヘタレではなく、偉大にして
純粋なヘタレであることを、ここに宣言するものである!
すなわち
language of the ruby, by the ruby, for the ruby.
同胞よ涙せよ!
>>86 俺は殺人事件の容疑者で、お前は探偵かよ。
>>89 お前もこんな時間まで熱くなってんじゃん。
何の信者なの?
>>91 もちろん2chのおちょくり信者でんがな。
ところで「コンパイラ・スクリプトエンジン」て何?
Rubyって多分宝石のルビーとは関係ないだよね?
サムッ
わかったよ>90。お前が探偵役な。
なんか深夜にキチガイが湧いていたようですね…でも
>>9 の言うとおり
Haskell と Ruby が今後の主流なのは異論がないと思うので。YARV の話でもし
ましょうか。国も認める未踏な先進的プロジェクトです。税金を出す == 我々
も望む望まぬに関わらず Ruby にお金を出しているわけです。使わないと損で
しょう?
未踏は ML 処理系にも Scheme 処理系にも金を出している訳だが。 YARV は金払った上に、貴重な俺の時間まで費やす程の物でもないしな。
今後の主流はC#とJavaなんじゃないの?
PHPも忘れてはいけない
↓これ等以外で、リテラル表現を持っている言語ってありますか? 整数、実数、複素数、配列、文字列、構造体、共用体、列挙型、リスト、タプル、 関数(ラムダ)、正規表現、XML(e4x) リストの内包表記とかもリテラル表現と言って良いのかな。 Scheme のマクロは文法規則のリテラル表現? 面白いリテラル表現がありましたら教えて下さい。
>>99 ぱっと思いつくのは
・文字(Javaとかは文字列とは別扱い)
・辞書/ハッシュ/連想配列
Lisp の世界にはプログラマブルなリテラルがあるよ。配列や複素数などがこの 機能を使って実装されてる。ライブラリだと日付とか XML、単位などがこの機 能を使ってリテラル表現されてる。
ML しね Scheme しね Lisp しね Prolog しね これから Haskell しかねーよ低能共 型推論と遅延評価マンセー
>>100 文字忘れてました…
ハッシュリテラルは Perl にあるみたいですね。
>>101 リーダーマクロを使っているのでしょうか。
CL は勉強中なのですが、まだマクロは良く分かっていません。
リテラル表現の豊富さはプログラムの簡潔さに大きく寄与すると
思うのですが、リテラルをその場で作り出せる Lisp は凄いですね。
リテラルになりえないのは実行時にならないと計算できない クロージャと継続くらいで他は全部 quoteつければリテラル
107 :
デフォルトの名無しさん :2006/05/06(土) 18:50:19
えらい伸びるなw
>>9 低能は違うだろ?
変態向けというのは同意。
>>107 お前は俺と同じ低能臭がするw
とりあえずおまえが一番の低能。俺二番。
同じキチガイどうし意味のない不毛なレスのやりとりをしようぜ
109 :
107 :2006/05/06(土) 19:17:42
>>108 断る。
俺は純粋な Vi 使いだからな。
>>109 そこでemacs使いの俺様の愚痴を聞いてくれ(違!
いい加減貶めあうのはやめないか?
#本当はBriefが好きなんだよ、なんで飼い殺しにしたんだ>>ボーランド
>>109 奇遇だな。俺も vi 使いだよw
さすがスレと全然関係ない話題なところが無能っぷりをさらけだしてるな
俺ももっとバカっぽい発言ができるよう精進するよ
とりあえず Ruby 厨房のフリする?それとも Lisp 信者の真似?
>>106 クロージャはともかく、継続のリテラル表現はソースコードそのものなんじゃないかと、ふと思った。
>>112 ソースコードはレキシカルなもので継続はダイナミックなものなので違うのでは?
ゴールデンウィークが終わってきてみれば 何のスレだか分からなくなっているなw
115 :
107 :2006/05/08(月) 20:03:37
そんなことより2行目だろ
>>111 のポイントは
これネタとかじゃなくて本気で興奮して本気で間違ってるよ
メアド交換してメッセンジャーでやれ
よくわかんないけどさ、 ruby は (perlよりも) 純粋なオブジェクト指向言語だ ってあたりでみんな同意して次いかないか?
119 :
デフォルトの名無しさん :2006/05/08(月) 22:22:16
×perl よりも ○どの言語よりも
Haskell はともかく Ruby は今後も主流に成り得ないと断言できる。 従ってRubyは純粋なヘタレ。 言語と言えるようなもんじゃない。
Haskell 最強ーーーーーーーーーーーーーー
スレ違いな方向に進んでるのは池沼が原因か?
>>122 Rubyの質の高さを認めたくない奴が、いつまでもゴチャゴチャ抜かすせい。
そんな暇があったら勉強すればいいのにね。無能の発想ってよくわからない。
125 :
119 :2006/05/09(火) 22:10:49
俺は別に Ruby 信者でもなんでも無い。 ただの、流しの vi 使い。 お前馬鹿か?
>>119 「どの言語よりも」ってことは無いだろう。
rubyと同程度にオブジェクト指向な言語があれば、
その言語より純粋とは言えないから。
そういう奴にはsmalltalkとか言っておけばおとなしくなるんじゃないの
おまえ様等に問いたい、いい加減にスレ違いはやめようや。 煽りも煽り耐性弱いやつもいい加減にスルーすることおぼえようよ。 もうこのスレ延々と続く度に思うのは1〜200位と900〜1000の間だけ異常にすれ違い過ぎ!
なに気取ってんだバカ野郎スレ違いなんだよ
>>119
name *(COMMA name) っていうABNFがあった場合 ab,ac,ew,ae,ae っていうことだよね?
132 :
デフォルトの名無しさん :2006/05/10(水) 10:44:14
>>128 単なる無知ゆえの的外れな発言を、
本格的に突っ込まれたあとになって「煽り」だの「釣り」だのと称して
突っ込んだ側に改善点を見出してみせるのは、割とポピュラーなやり方ですよね。
通用しませんけど :-)
>>123 Rubyに質などない。
厳選された必要にして十分なものを揃える事を「質が高い」と言う。
しかしRubyは結局「アレモ、コレモ」という謂わば「物量主義」、
質など無視して完全に量で切り抜けようとする姑息なシロモノ。
たとえば?
おまえらRubyスレに去ってください
ほんとそうしてください
皆さん tag bits って使ってますか? fixnum が 32bit にならないのがイヤン。
138 :
俺もvi使い :2006/05/10(水) 23:34:23
>>133 それが新しい言語パラダイムだと気づかないのかね?
石器時代に生きてるような石頭ユーザには、せいぜい lisp がお似合い。
もう、書き込まんでいいよ、
うぜーからw
C++は最強のマルチパラダイム言語 普通に手続き型プログラムできたり オブジェクト指向できたり genericsできたり 無理やりラムダとかできたり プログラマを言語仕様の罠にはめだり コンパイラ製作者を泣かせたり
仕事では使えないC++
142 :
基地外 :2006/05/11(木) 00:33:13
>>138 そうだ lisp 氏ねw
vi ! vi !
>>141 ここ10年近く、色々バージョン違いはあるけれどVisual C++以外の
仕事はしたことがなく、ソースファイルは*.cppしか書いてない俺が
来ましたよ?
ところで「vi使い」という謳い文句を流行らせたい輩が いるようだが、viは基礎体力養成課程で万人が触れる 初心者用ツールのはずだが、まさか、それしか使え ないという訳じゃあるまいね?
つまりviを使ってrubyでコーディングしてる俺が日本最強。 秀丸を使ってHSPでコーディングしてる奴は日本じゃあ二番目だ。
vi を使って Haskell でコーディングしてる俺は世界最強
サクラエディタで変なソースコード作成している俺は ユニークだ
サクラエディタで俺言語やってるけど、きちゃだめ?
選ばれし vi 使い以外は死滅するというのは本当ですか
EmEditor…
151 :
デフォルトの名無しさん :2006/05/11(木) 01:24:21
Viとかサクラエディタとか、本当にプログラミングで使いやすいのか?
額にviって入ってる奴だけ救われるんだってな 残りの人間は全部どっか知らんけど死のviに 名前書かれて死んでいくって聞いた
>>147 使いやすいにきまってんだろ?頭が不自由な方ですか?
勝ち組は Eclipse で Haskell !!
何が楽しくてわざわざ糞スレにしようとするんだろう・・・
自分の技量でははるかに届かないテーマのスレタイを見て、 あまりの悔しさに滅茶苦茶にしてやろうと思っているんですよ。 通常の議論の場と違って、2chでは能無しは「負けを感じてからが饒舌」ですからね :-)
一つ教えてやろう コンパイラについて勉強しても何の約にも立たないということだ
159 :
デフォルトの名無しさん :2006/05/11(木) 22:57:04
萌えeditor つかってる洩れが来ました。 時計はもちろんエミクロックです。
yaccとbison使うと正直勉強になりませんですた
>>160 字句解析・構文解析については一回作ればもうそれで十分。
面倒なことは自動化して、重要なのはその後。
yaccとかbisionなどのツールって C言語と独自の構文が混ざって正直キモいんですけど。
163 :
デフォルトの名無しさん :2006/05/13(土) 09:56:22
正直 lisper の方がキモいよw よくあんなスタイルで(ry
キモイのOKなんだけど慣れるから 臭いのはまじ勘弁
お前らはいつになったらデレに変化するの?
ツンデブ?
170 :
デフォルトの名無しさん :2006/05/15(月) 23:45:24
>>162 bison って書き方確かにキモイよね。
機能がいいので、仕方無く使ってるけど、
もっとよい書き方のできるWrapperとかないんだろうか?
やっぱコンパイラを書くなら オブジェクト指向言語でinterpreterパターンで書くのが一番だよね。 自分の好きな言語で書けるし。
>>171 お前ってリファクタリングのこと何も知らないんだな。
まあ、いいけど。
リファクタリングが何か関係があるわけ?
>>170 BoostのSpiritでも使ってみれば?
>>173 デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
詳しくは「リファクタリング」を読め。
>>176 >デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
意味不明なんだが?デザインパターンは型に当てはめるものだろ?
>詳しくは「リファクタリング」を読め。
そういう本があるのか?
>>177 >デザインパターンは型に当てはめるものだろ?
型に当てはめるもんだけど、単純に当てはめればいいというものでもないんだな。
答えも出さずに勉強しなおせもねーだろ。
>>180 勉強すればわかるよ。
ここで答えを求めるな。
だいたい、読めば良い本を指し示してやってるんだから読めよ。
今さっき提示した本を読めるわけねーだろーがボケが。 つーかお前の言ってること的外れなんだけど? リファクタリングって言葉最近覚えたか?
自他共に認める無知、あるいは、自分では一応知識があるつもりだけど それが本当に試される状況は怖いから避けたい人、 そういう人種が「そのくせ偉そうにしたい」時には便利ですよね<○○読め、勉強しなおせ
そこまで分かってるなら絡むなよw デザパタの話は常に不毛。
馬鹿だね
デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは? 自分の設計をどうやってそのパターンに当てはめるのかと考えはじめたら、 多種多様なパターンを複合的に使わなくてはいけなくなって、 逆に複雑になりすぎてしまうから良くない、という話だと思うんだけど。 まずはデザインパターンに無理に当てはめようとするのではなく、自分の好きなように設計して、 リファクタリングしながら徐々に人気があるいくつかのデザインパターンの形に近づけて行けばよい。 (もちろん、有名なパターンそのものになるとは限らない)
スレタイに即した物なんか何一つ作れない無能なのが ありありとわかるレスが続けてるなぁ。 ここらで流れと住人レベルが戻ってくれるといいのだけど。
>>188 まあ、それなりに書けるやつならお前みたいなことは書かないと思うけど
思うのは自由だしね。
一度インタプリタのようなものでも作った事があればそんなに難しいことじゃないことぐらい分かるだろうに、
>>188 は一度も何も作ったことがないんだろうなあ。
192 :
デフォルトの名無しさん :2006/05/17(水) 13:39:53
そんなに難しいことじゃないから できないことが無能に該当するんだよ。 限られた人間しかできないことができなくても、それはせいぜい凡人だよね。 無能と呼ぶのは不適切。 無能の二文字があまりにも図星で頭に血が上ってるのはわかったけど、 噛み付く行為によって一層相手の言い分が証明されるのは悲惨の一語だから 気をつけたほうがいいですよ。
それはお気の毒に。
>>187 漏れは傍観者だけど、
「インタプリタで実行するようにコードをなぞってオブジェクトを生成する」と
説明的で長くなるところを「interpreterパターン」と一言で言っているわけです。
別に本等で「interpreterパターン」とかを調べてそれに準拠せよ、
と言っているわけではなくて・・・
>デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
単にパターンに名前を付けて話をしやすくしたってだけのことでしょう。
よっぽどのバカじゃないと無理に当てはめるなんてあり得ないし。
本末転倒。
命名は認識の規格化であり、互換性の最小単位である。 ――ガッツ石松
質問カキコ 式の正当性って、どうやってチェックすれば良いのでしょうか? 1+2=3が正しい式で、1 2 + 3 =が正しくない式だというのは人間にはすぐに分かるのですが…。 ・左右括弧の数をチェックする ・演算子の数=定数や変数の数-1であるかをチェックする(-5等の-の様な単項演算子は除く) これぐらいしか思いつかないのですが、具体的な方法等あれば教えて頂ければと………m(_ _)m
ちなみに、中置記法の場合です。 正当性をチェックしてから、後置記法に変換しようと思っているので。
>>197 「正しい式」を定義して、
その定義に従ってパーサを作って、
パーサが受け付けないものが「正しい式でないもの」。
「正しい式」「正しい式でないもの」を判別するのは出来るだろうけど、
「正しい式」「正しくない式」ってのはなんだかよくわからない。
正しくないけど「式」?
「正しくない式」という表現を否定するなら 式にいちいち「正しい」とつける意味も無いのでは。 「式」「式でないもの」でじゅうぶん。
なんだかよくわからないなりにも、もしかしたら
>>197 的には
「正しくない式」というのの定義があるのかもしれないと思って・・・
正しい式って仕様どおりの式のことでしょ?
203 :
197 :2006/05/17(水) 20:00:19
すみません、「正しい」や「正しくない」は中置記法の数式としての観点からです。
>197 詳しく知りたかったら形式言語を勉強するといいんじゃない?
あなたの中置記法では -1+-2 は正しい式ですか?
206 :
197 :2006/05/17(水) 21:37:23
>204 形式言語ですか? 調べてみます。 >205 はい、正しい式です。
>>206 「文脈自由文法」「LL構文解析」「LALR構文解析」「lex yacc 電卓」でググれ
LR(1)とかLALR(1)を一言であらわすと 「小さなことからコツコツと(Byキー坊)」 ってことでよろしいでしょうか?
,.-─ ─-、─-、 , イ)ィ -─ ──- 、ミヽ ノ /,.-‐'"´ `ヾj ii / Λ ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{ ノ/,/ミ三ニヲ´ ゙、ノi! {V /ミ三二,イ , -─ Yソ レ'/三二彡イ .:ィこラ ;:こラ j{ V;;;::. ;ヲヾ!V ー '′ i ー ' ソ Vニミ( 入 、 r j ,′ お前ら死ねよ ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ ヽ ヽ -''ニニ‐ / | `、 ⌒ ,/ | > ---- r‐'´ ヽ_ | ヽ _ _ 」
>>197 207が言うようにyaccが使えりゃ一発だけど、言語がCじゃないとかの
理由で使えないなら(JavaならJavaCCとか、たいていなんかのパーサジェネレータは
あるけどね)、「再帰下降パーサ」または「再帰下降パーザ」でぐぐればよいかと。
再起下降型ならちょっと文法変換しないとだめだよね。
213 :
デフォルトの名無しさん :2006/05/19(金) 10:10:53
下降は負け犬がつかうパーサだからな。 Lisp,Emacs に通じるものがある。
このスレでナンセンスなことを言ってるやつはすべてRuby狂信者ということでよろしいですか?>ALL
つまりあなたも?
負け犬とか勝ち組とか激しくワラタ
というか
>>213 が最高にバカだな。本気でいってそうなあたりが。
再帰下降が負け組だって?低能はものを知らないね。
>>213 の今後の行動
1. ネタでした
2. 話題をかえて荒す
3. Ruby 狂信者のフリをする
4. Ruby を煽ってごまかす
5. Lisp を煽ってごまかす
バカはどーゆう行動にでるのかな。消えてくれると一番
たすかるけどアホのくせに粘着だからなぁ
222 :
213 :2006/05/19(金) 22:33:57
すまん。誤爆した
223 :
213(リアル) :2006/05/20(土) 00:55:22
なんか、馬鹿なレスがついとるけどw 再帰下降ってつまり、パーサーのために文法を変えるでしょ? そこが負け犬なわけよ。わかる? 言語はツールに縛られてはいかんのよ。
>>223 文法を変えるというか、左再帰が起こらないようにBNF的に分解するだけっていうか。実際には文法を変えているわけじゃないんだけど。
文法を変えるって言うと誤解する人がいるから。
ちょ www おまっ www
>>213 がいくら馬鹿とはいえ
>>223 はありえないだろ?
さすが想像のナナメ上をいくな。え?本物?
226 :
デフォルトの名無しさん :2006/05/20(土) 02:45:58
でも再帰下降で作ってて左再帰回避をするのって負けだよな。 やっぱり上昇型で文脈自由文法に素直に解析したい。
>>226 で、それを手で書いてみろと言われたら?
CPS変換について、勉強中なのですが、詳しく書いてあるサイトか、書籍を教えてください。
#include <vector> #include <functional> #include <stdio.h> #include <ctype.h> bool expression(); char buf[1000], *pc = buf; std::vector<int> data; std::vector<bool(*)()> ops; bool end(int c) { return c == 0 || c == '\n' || c == '\r'; } bool get(char& c) { while (!end(*pc++)) if (!isspace(c = pc[-1])) return true; return false; } bool get_digit(char& c) { return get(c) && (isdigit(c) || --pc && false); } bool is(char c) { char d; return get(d) && (d == c || --pc && false); } bool number() { char c; if (!get_digit(c)) return false; data.push_back(0); do { data.back() = 10 * data.back() + c - '0'; } while (get_digit(c)); return true; } template<typename T> bool binary(T t) { int i = data.back(); data.pop_back(); data.back() = t(data.back(), i); return true; } bool add() { return binary(std::plus<int>()); } bool subtract() { return binary(std::minus<int>()); } bool multiply() { return binary(std::multiplies<int>()); } bool divide() { return binary(std::divides<int>()); }
bool no_operation() { return true; } bool plus() { return true; } bool minus() { data.back() = -data.back(); return true; } bool push(bool(*op)() = no_operation) { ops.push_back(op); return true; } bool pop() { ops.back()(); ops.pop_back(); return true; } bool additive() { return is('+') && push(add) || is('-') && push(subtract); } bool multicative() { return is('*') && push(multiply) || is('/') && push(divide); } bool unary() { return is('-') && push(minus) || (push(plus), is('+')); } bool factor() { return (number() || is('(') && push() && expression() && is(')')) && pop(); } bool term() { return unary(), factor() && pop() && (!multicative() || term()); } bool expression() { return push() && term() && pop() && (!additive() || expression()); } int main() { while (fgets(pc = buf, sizeof buf, stdin) && push() && expression()) printf(" = %d\n", data.back()); }
標準入力から正しい式が入力されたら、計算し、 正しくない場合は、何もせずに終了するプログラムをC++で書いてみた やっつけですが
再帰下降で左再帰を 回避する必要なく ね? LLじゃないんだから。 そりゃLRよりは制限きついだろうけど。 むしろ再帰下降を避ける理由はバックトラックによる効率の悪さでしょ。
233 :
デフォルトの名無しさん :2006/05/20(土) 05:57:07
スクリプトホストを作っているのですが、IActiveScript::GetScriptDispatch()でわからない所があります。 GetScriptDispatch()でpstrItemNameにNULLを指定した場合には、スクリプトコンテキストのグローバル変数やグローバル関数をスクリプトホストから呼び出す事が可能なIDispatchポインタが取得できます。 しかし、pstrItemNameにNULL以外を指定した場合にはこれはどういう意味があるのでしょうか? pstrItemNameにはIActiveScript::AddNamedItem()で設定した名前が指定できます。 この名前は一般的にはスクリプトホスト側が提供するオブジェクトの名前ですが、GetScriptDispatch()でこの名前を指定するとやはりIDispatchポインタが取得できます。 このIDispatchポインタにはどういう意味があるのでしょうか? このIDispatchポインタを使ってもホスト提供のオブジェクトは呼び出すことはできません。まあホスト提供のオブジェクトをわざわざ別のポインタを取得してホストが呼び出す意味は余り無いので、その事は構わないですが、このポインタはいったい何に使えるのでしょうか?
236 :
デフォルトの名無しさん :2006/05/20(土) 14:06:10
>>232 再帰下降=LLだと思ってたんだけど違うの?
再帰しない構文解析アルゴリズムもあるよ。自分でスタック管理するだけだけど。 龍書IのP.223参考
>>235 ありがと
式の正当性のチェックだけならもっときれいになるかなあ・・・やってみた
#include <ctype.h>
#include <stdio.h>
bool expression();
char buf[1000], *pc;
bool get(char& c) { while (c = *pc++) if (!isspace(c)) return true; --pc; return false; }
bool get_digit(char& c) { return get(c) && (isdigit(c) || --pc && false); }
bool is(char c) { char d; return get(d) && (d == c || --pc && false); }
bool number() { char c; if (!get_digit(c)) return false; while (get_digit(c)); return true; }
bool factor() { return number() || is('(') && expression() && is(')'); }
bool term() { return is('-') || is('+'), factor() && (!is('*') && !is('/') || term()); }
bool expression() { return term() && (!is('+') && !is('-') || expression()); }
int main() { while (fgets(pc = buf, sizeof buf, stdin) && expression() && !*pc) printf("OK\n"); }
239 :
デフォルトの名無しさん :2006/05/21(日) 19:49:25
何言語? bool とかつかってるけど、
C++?
C++も知らんのか
どう見てもCです
どう見てもC++です
boolとtrueとfalseがあるからC++
釣れますか?
俺のVC++6.0がC99?なにそれ?とおっしゃっているのでC++ですよ
入れ食いですな
C99を考慮しても使ってるのはC++ Cと言ってるのはキチガイ
また釣れた
どう見てもC++だろが。アホか。 じゃあCと言うことを証明して見ろ。
252 :
デフォルトの名無しさん :2006/05/22(月) 13:40:51
晒しageとこう
何でこんなに、釣れるんだ 書いた本人はC99知らんのでC++ですわw C99って参照あるの?
254 :
デフォルトの名無しさん :2006/05/22(月) 22:34:27
アフォかお前ら? Cにboolなんかあるか!ボケw
そうだね。ついでにCにはsize_tもあるわけないよ。
256 :
デフォルトの名無しさん :2006/05/22(月) 22:42:40
また釣れましたよ。
つか、本気でわかっていないんだけど、なんでboolがCで使えるの? 釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。
>つか、本気でわかっていないんだけど、なんでboolがCで使えるの? C99ではstdbool.hをincludeすればbool型が使える。 >釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。 例えば bool get(char& c) { while (c = *pc++) if (!isspace(c)) return true; --pc; return false; } で関数の引数にCには無い参照(&)を使ってる。
もしboolがないなら自分で定義すりゃいいじゃん。 どちらにしてもboolはプリミティブじゃないんだからさ。
標準ライブラリとかそういうのってCの機能じゃねーだろ。死ねよ。
しかしCの仕様書には標準ライブラリも含まれている罠
言語としての仕様かどうかと言われたら、所詮は「ライブラリ」なわけで・・
>>263 図書館行くか通販でJISの規格書読め。
WEBで読めるやん
267 :
デフォルトの名無しさん :2006/05/23(火) 18:53:22
そろそろエサが古くなってきたか・・・
268 :
デフォルトの名無しさん :2006/05/23(火) 23:15:05
C99 が bool ? 本当か?
λ,,,,,,λ ガオー! ∩`iWi´∩ λ,,,,λ グオー! ヽ |m| .ノ∩`iWi´∩ |  ̄| ヽ |m| .ノ | | | | U⌒U U⌒U
C#のパーサーガ必要なので、勉強をかねてLEX、YACCもどきを作ろうかとも考えたのですが、皆さんから見ると無謀でしょうか? コンパイラ系は素人です。 C#の言語仕様見て、文法定義ファイルをつくってやれば何とかできるかなとも思ったのですが・・・ プロの皆さんの意見を聞きたいです。
C#の言語仕様って出回ってないの???
関係ないけど「コンパイラコンパイラ」って言葉、いまだに内心違和感アリ (´・∀・`) 意味解析,中間コード生成,最適化処理,目的コード生成は (当然ながら)別にする必要があるのに、 ”コンパイラを作成するためのコンパイラ”は看板に偽りがあるのでは? 実際、使い方の紹介でも、パターンに対応するアクションの処理の都合上 「スクリプトジェネレーター」的な例が大半だったから 勉強はじめた頃は余計にそう思ってた。 (´・д・`) 個人的には「コンパイラ作成用プロセッサ」なら許せるかな…
あっそ。 そういうくだらない感想文は、キミのつまんない糞ブログにでも書いてろ。 もう来んな。
個人で意味解析以降まで実際手がけてる人はあんまいないみたいよ 中田を買って良書とコメントする人はいぱーいぱーいいるけど
一番面白い部分をやらないなんてありえない
フフフ… 三平君ってそういうやつなんですよ
意味解析以降しかやらない、の間違いじゃないかと思いたい。
>>276 同じくくだらない感想でしかない上、さらにコンパイラさえまったく関わってこない
そのご自分のレスを通しちゃったら、なんの説得力も無いですよ :-)
282 :
デフォルトの名無しさん :2006/05/26(金) 03:33:48
ダイナミックトランスレーションってどういう手法なんでしょうか。 QEMUがやってるらしいのですが。
機械語を機械語にオンザフライで変換する事じゃない? コードモーフィングみたいな。
284 :
デフォルトの名無しさん :2006/05/26(金) 03:45:25
あー、そんな面倒なことだったのか。。。 両方のインストラクションに詳しくないと駄目っすね。
>>275 現代では普通 parser generator と呼ぶよ。
>>281 はいはい。で、キミの足りない脳でブログは作れたか?
>>286 > はいはい
己の愚が理解できたようでなによりです。
ANTLR使ってる人います? なんかサンプルからエラー出て動かないんですが・・・
とりあえずバージョン (2.7.6とか3.0ea9)とか、 エラーメッセージくらい書いてもばちは当たらないと思うよ。
えーと落としなおして antlr 2.7.5です。 javaの使い方の問題だと思うのですがGettingStarted の java antlr.tool t.g をしても Exception in thread "main" java.lang.NoClassDefFoundError:antlr/toolとなります。
それはアレだよ。初心者スレに行った方がいいんじゃね?
とりあえずJava質問スレで同じことを質問してあります・・・ 結果わかり次第報告します。
294 :
デフォルトの名無しさん :2006/05/26(金) 23:32:34
言語ってほとんど枯れてしまったね。 出るのは重箱の隅ばかりw
Epigramなんか、めちゃくちゃ熱いと思うんだが。
>>295 依存型(dependent type)の利点をキボンヌ
スクリプトホストを作っています。 IActiveScriptSiteWindow::EnableModeless()なのですが、これが何に使うのかがよくわかりません。 VBScriptがMsgBoxやInputBoxを表示する際に呼び出されるという事はわかったのですが、これは何を意味しているのでしょうか?
知らない人は答えなくて結構です
300 :
293 :2006/05/27(土) 11:12:09
えーとクラスパスの設定と大文字小文字とかをなおすことでうごきました・・・ やりたいことはC#2.0のパーサーを動かすことなんですが、 今kcsparse動かそうとして奮闘中。
質問です グリーンピースでアンコって作れますか?
つ 「うぐいす餡」
「や…やめてください…」 「へへへ……ラップはもうビリビリだぜ、あとはフタだけだ」 「いやぁ! だめ、フタを開けないで…!」 「ひゃっはあ! なんて嫌らしいノンフライ麺だ!」 「おいおい、スープの素が2袋もあるぜぇ、こいつ誘ってんじゃねえのか?」 「そ、そんなんじゃありません…!」 「『食べる直前に入れてください』だぁ? 待ちきれねえ、今すぐ入れてやるぜ!」 「や、やめてー! ま、まだお湯も沸ききってないのに…!」 「うはぁ、すっげえ、冷えてる油とかやくでグチャグチャだぜ…たまんねえ!」 「そーれ、お次はお湯だ! 中にたっぷり入れてやる!」 「あああ! ぬ、ぬるい…! ……て、れてえ!」 「聞こえねえなあ、はっきりいえよオラッ!」 「せ、線まで! きちんと線まで入れてくださいぃいぃ!!」 「残念だったなあ、俺は1センチ残す派なんだよぉ! ははは!」
>>303 焼きそばというオチじゃなかったっけ?
別バージョン?
NTTの未来想論2006行く人挙手ノ
Parsec, ケ篦ョ、ハ・ウ・モ・ヘ。シ・ソ・ム。シ・オ 確かにさっぱりわからん
309 :
デフォルトの名無しさん :2006/05/31(水) 23:10:18
>>304 そこみて分からんようじゃぁ、何見ても(ry
Lispでもつかとけw
>>304 Haskelしらねぇと話にならないってことじゃないのかえ?
Persecの仕組みが知りたかったのですが、 Haskel知らないととダメということならあきらめます。 ありがとうございました。
>>311 難しくないからおぼえりゃいい。
というかあそこのページ読み下すのにコード例を読めなければ意味が半減じゃろ?
あのページ以外にももっとわかりやすい記述 (Haskell以外の言語を使うとか、もっと概念的な説明があるとか) があればうれしかったのです。 でも、せっかくなのでなんとかHaskellを覚えようと思います。 そもそもParsecがHaskell固有の機能や概念を使ったものかどうかすら わからないので、とにかくParsecのコード例を読めるよう勉強します。
ちょうど Haskell の入門書が出た所だよ。内容は Haskell スレで聞いてみれ。
世界一簡単なMonadの説明みたいなのが欲しいかもね
ANTLRのチュートリアルでおすすめのものってないですか? C++のコード吐かせて使いたいんですが、APIがよ〜わからん。
解ればどうってことない。<モナド
そうそう。要は自己関手と自然変換からなる圏にモノイド構造を 入れ込んだものと思えばよい。
>>318 あぁ、ナルホド。凄い分かり易い...
わけねーだろw
298ですが、299は私ではないです。一応念のため。 それと2chなんでダメ元で聞いておりますので別にレスが無くても特に構わないのです。でわでわ。
あ、もともと2chを見てる人に答えがわかるとは期待してないという意味です。でわ。
322 :
こゆのは晒すべきだろう :2006/06/04(日) 16:20:18
2chを見てる人=321 捨て台詞にしても陳腐だな。おまえ心に棚を作り過ぎたんじゃねえのw
心の棚はいくつあっても無駄にはならん
>>322 相手にすんなって。寂しいだけなんだから。
居座られても困るだろ。
320と321が同一人物であるとも限らんわけだが。 いずれにしても、だれかこいつに「スレ違い」という言葉の意味を教えてやれよ。
誰かが自分を気にしてるとでも思ってるのかこいつはw
>>327 それ、お前が書き込むまでは成立してたんだがなw
注目し関心を持つところまでいかなきゃ 「気にする」とは言えないだろ
反応してる時点で気にしまくり
どうしてもそう思うなら別にそれでもいいけど
Conservative Garbage Collection の基礎を説明しているペーパーが あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。 - 何を以てポインタと判断するのか - ポインタが指している先の変数のサイズをどうやって知るのか - 実装で良く使われる効率化手法
>>331 誰もお前のことなんか気にしてないから頑張らなくていいよw
>>333 それ、お前が書き込むまでは成立してたんだがなw
注目し関心を持つところまでいかなきゃ 「気にする」とは言えないだろ
反応してる時点で気にしまくり
どうしてもそう思うなら別にそれでもいいけど
Conservative Garbage Collection の基礎を説明しているペーパーが あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。 - 何を以てポインタと判断するのか - ポインタが指している先の変数のサイズをどうやって知るのか - 実装で良く使われる効率化手法
>>337 誰もお前のことなんか気にしてないから頑張らなくていいよw
>>339 それ、お前が書き込むまでは成立してたんだがなw
なにこの強烈なデジャヴ
押井守のアレかよ!
注目し関心を持つところまでいかなきゃ 「気にする」とは言えないだろ
明日はコンパイラ祭。でも、俺の夢は、333や334さまや335さま、 336ちゃんや337さんや338さん達とずーっと、ずーっと煽りあって 楽しく過ごすことだ。
反応してる時点で気にしまくり
どうしてもそう思うなら別にそれでもいいけど
Conservative Garbage Collection の基礎を説明しているペーパーが あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。 - 何を以てポインタと判断するのか - ポインタが指している先の変数のサイズをどうやって知るのか - 実装で良く使われる効率化手法
>>346 誰もお前のことなんか気にしてないから頑張らなくていいよw
>>348 それ、お前が書き込むまでは成立してたんだがなw
なんかデジャブった
押井守のアレかよ!
注目し関心を持つところまでいかなきゃ 「気にする」とは言えないだろ
どうしてもそう思うなら別にそれでもいいけど
Conservative Garbage Collection の基礎を説明しているペーパーが あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。 - 何を以てポインタと判断するのか - ポインタが指している先の変数のサイズをどうやって知るのか - 実装で良く使われる効率化手法
>>353 誰もお前のことなんか気にしてないから頑張らなくていいよw
>>355 それ、お前が書き込むまでは成立してたんだがなw
なにこの強烈な押井守
注目し関心を持つところまでいかなきゃ 「気にする」とは言えないだろ
反応してる時点で気にしまくり
どうしてもそう思うなら別にそれでもいいけど
>>360 誰もお前のことなんか気にしてないから頑張らなくていいよw
>>361 それ、お前が書き込むまでは成立してたんだがなw
注目し関心を持つところまでいかなきゃ 「気にする」とは言えないだろ
Conservative Garbage Collection の基礎を説明しているペーパーが あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。 - 何を以てポインタと判断するのか - ポインタが指している先の変数のサイズをどうやって知るのか - 実装で良く使われる効率化手法
反応してる時点で気にしまくり
どうしてもそう思うなら別にそれでもいいけど
Conservative Garbage Collection の基礎を説明しているペーパーが あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。 - 何を以てポインタと判断するのか - ポインタが指している先の変数のサイズをどうやって知るのか - 実装で良く使われる効率化手法
>>366 誰もお前のことなんか気にしてないから頑張らなくていいよw
>>367 そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
どうしてもそう思うなら別にそれでもいいけど
>>371 そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
>>372 いや、お前が書き込むまでは頑張ってたんだがなw
>>373 誰もお前のことなんか気にしてないから頑張らなくていいよw
あ、なんかデジャヴった
押井守のアレかよ!
話すネタ無いし、ループ好きなのわかったからそろそろ ループしようぜ!
どうしてもそう思うなら別にそれでもいいけど
379 :
デフォルトの名無しさん :2006/06/11(日) 00:28:50
シャヨウ分野だなw
380 :
デフォルトの名無しさん :2006/06/13(火) 22:41:32
なんか、この分野の日本人研究者って、 WーCUPサッカーレベルだねw
いや、むしろスキーのジャンプって感じじゃないか?
382 :
デフォルトの名無しさん :2006/06/14(水) 08:42:29
そのこころは?
体重が軽い人ほど優秀
確かにT先生もN先生もひょろひょろだな
386 :
デフォルトの名無しさん :2006/06/17(土) 21:16:46
387 :
デフォルトの名無しさん :2006/06/17(土) 22:11:57
そしてループが始まった
なんか、この分野の日本人研究者って、 WーCUPサッカーレベルだねw
サッカーって書かれると吸血鬼を思い出す。
そのこころは?
sucker でしょ
392 :
デフォルトの名無しさん :2006/06/19(月) 00:41:09
引き分けたで〜 日本の言語技術も、よくて引きわ(ry
なんか、この分野の日本人研究者って、 WーCUPフットボールレベルだねw
394 :
デフォルトの名無しさん :2006/06/19(月) 18:53:01
>>394 いや、お前が書き込むまでは馬鹿だったんだがなw
そのこころは?
>>395 誰もお前のことなんか気にしてないから頭良くなっていいよw
真の馬鹿がレスしてしまったら そいつを「馬鹿」とは言えないだろ
つまりお前が馬鹿ってことだ。
ここは出来の悪い荒らしスクリプトの実験場みたいですね
荒らしスレとして、削除されたりしてなw
>>400 いや、お前が書き込むまでは実験場じゃなかったんだがなw
なにこの強烈な鷹村守
ようし、ラットをつれてこい
ようし、ラットをつれてこい
ようし、マッチョつれてこいキュピピンっていうやつな
データフロー解析の簡単な例プリーズ
たとえばリンクリスト内にサイクルがあるかを解析するデータフロー方程式は 以下のように書ける。 記号が出なかったので、やっぱりやめ。
結論として、Rubyは糞!でよろしかったですか?
RubyもLispも糞
JavaがBEST
それでは、結論として、RubyもLispも糞!でよろしかったですか?
それでいいよ。 Haskellに比べたら、それぞれ「不純物」「いい加減」でしかないし。
いえ、Haskellは、元々問題外でしたから…
質問です、一版論として文字列中への変数値の文字列展開は、どのタイミング で行うのが一般的でしょうか? PATH="$PAHT:/etc" として、文字列リテラルを認識したとき? それとも左辺へ代入したとき? それとも左辺値を評価するとき?
>文字列リテラルを認識したとき 実装の容易さで大抵これになる。 >左辺値を評価するとき でもLazy実装もいいかも。 文字列オブジェクトが不変であれば 本当の最後になるまでは展開しなくてもよさげ。
>>416 横やりだが、例えば、
x=3
Sample="#x is three."
x+=1
p Sample
のときの表示って、考え方によって異なるね。
もし、その表示が異なるなら、考え方の違いと言うより、仕様の違いだと思う
>>417
設定ファイルを解析し ソースコードをC、JAVA、C++用に自動出力したいのですが 構造解析までは終わったのですが、そのデータをもとに中間言語を 吐き出したいのです。中間言語のみを作るソフトってありませんか?
javac
>>419 ・設定ファイルって一体なんだ
・中間言語のみを作るソフトはいっぱいあるが、それがどうしたのか
・というか、あんたは一体何をしたいのか
>>421 設定ファイルには制御機器のパラメタとかそんな情報が入ってます。
この設定ファイルを読み込み各機器に合わせた設定を行う
Cのソースを吐かせたいのですよ。
中間言語だけ作るソフト教えてくれませんか?
> ソースコードをC、JAVA、C++用に自動出力したいのですが > Cのソースを吐かせたいのですよ。 JAVAとC++は何処へ行った
>>422 設定ファイル C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→
変換機
この 「変換機」 が作りたいという判断でOK?
んで、求めているのは
設定ファイル 中間言語 C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
中間言語作るソフト 自作の変換機
これか?
うんうんそうそう
俺なんか
>>424 が神様に見えてきたよ
ありがたやありがたや。
>>423 最初から欲張るなとか怒られそうなので控えめな
最小限の希望を最後に書きました
>>425 とりあえず 「設定ファイルの仕様」 「変換後の C/C++/Java ソースコードのサンプル」 だけでも教えてくれ。
それが分からないと、どうにも言いようがない罠w
まだファイルの仕様とか決めていないのですよ 中間言語作るソフトって具体的にどんなソフトなのでしょうか
求めてるソフトに望んでる仕様は何なんだ? 多分そんなソフトはないし全部作ることになると思うけど。
>>427 バカスwwwwwwwwwwww
お前が求めているソフトは未来人でしか作れんわwwwwwwwww
どうだろうね。.NET の CodeDOM とか参考になるかも。
えーと、gccのRTLという中間言語どうやって出来たんだろう なんかツールで文法とか作ったのかな
>>430 もしかして、中間言語の仕様を自動生成しようとか思ってるw?
言語をいくつか嗜んでくうち野心に満ちてきました。 俺言語作りたい!! ポインタをハッシュテーブルで包んであげたらOOPなる? そんなあまかないですね。 質問であります。俺言語作る人って出回ってるライブラリとか使わないの?
>>432 新しく作った言語は、Red-Sapphire と命名しましょう。
>>432 >ポインタをハッシュテーブルで包んであげたらOOPなる?
Io をオススメしてみる。
スロットの問い合わせにハッシュを使わない動的型付けな OOPL の実装ってある?
それいけそれいけガイコッツー うんうん ガァ〜イコツー
命名の参考にもっとも必要なのは、 プログラム言語名称の一覧ではないかと愚考する
>>440 2つ目のリンクがオッパイのflashかと思ってしまいましたorz
>有志の皆様 ふれてない命名だけこんな濃いアドバイス頂きありがとうございます。 >435 io をちょろっといじくってますけど、 他の言語手を出せば出すほど車輪が頭を過ぎりました 関係ないですけど、flexとbisonをいじり倒してみて思った事があります。 サンプルの使い方から馴染むと苦労する。そんな事無い?
最近の流行は手書きだぞ gcc4.1だってフルスクラッチで書いてあるんだぞ
C++のfrontも?
お客様frontは、3階になっております
正規表現のRFCってどこにあったっけ?
POSIX じゃ駄目?
完全にサポートしているソフトがない規格
450 :
デフォルトの名無しさん :2006/07/08(土) 08:05:00
>>449 アフォ?
ふつうフルサポートされてますが、
されてないよ ケーパビリィティとか つうかPOSIXったって細かく色々あるわけで
POSIXのどれか指定しないと意味のない議論だね。
453 :
デフォルトの名無しさん :2006/07/09(日) 18:02:50
ん?アフォ? 正規表現の話でしょ? Posixで確定できるよ。
そうですね
なんだよいいともかよ
POSIXよりPerlの正規表現が強力な件
N88BASICみたいな初心者向けの言語で、広く使われている言語ってありますかね?
すぐ思いつくのは Python かな。もともと教育用言語だった。
>>458 なるほど、教育用言語は間違いなく初心者向けですね
教育用言語と言われるとPascalも思い出しますね
ありがとうございます
ただ、プログラミングの教育用言語というようなもの以外に、
普段プログラミングをしない人が初めてのプログラミングが必要になる、
そういう場合に適した言語を探しています。
VisualBasicは書いたことがないけど、感覚的にはそういうのです
460 :
デフォルトの名無しさん :2006/07/12(水) 18:23:21
教育用=初心者用 ということならば、 Lisperは皆初心者ってことでOK?
>>459 そういうことならTcl/TKが適しているように思う。
必須となる概念が少ない、GUI作成が容易、環境非依存等々。
>>459 JavaScript か Python かなぁ。
色んなツールのマクロ言語として良く使われているから、非プログラマにも
受け入れられ易いんじゃないかな。
>>460 Lisp が対象としている初心者は、将来 Wizard になる事を期待されている
理工系の学生とかじゃないかな。
>>462 ECMAScriptは初心者用とは違うでしょう。Pythonは知らないけど。
N88BASICかVisualBasicかでいいんじゃないかと思う
初心者専用という意味ではなく、初心者にも取っ付き易い言語って事で挙げたんだけどな。 ドキュメントが多いし、インストール不要だし、エディタマクロやちょっとしたウェブページの装飾 にも使われているし。 後は用途次第かな。
皆さんありがとうございます。
>>464 用途としては、実はJavaScriptを書かせるのが難しすぎるため、
もっと簡単な言語を用意してあげられないか、という話なのです。
プログラマじゃない人間にとってはJavaScriptも難しすぎるようです。
さあどんどん後出し設定がでてきますよ
実は生徒は日本語が(ry
>>465 JavaScript がダメなら Python もダメだろうね。
普通の人なら半日も教えれば自習出来るようになるとは思うけど...
>>468 はい。実はPythonも試してみましたが難しすぎるようでした。
BASICでいいじゃん。 変数の宣言もいらないし、関数の概念すらないし、 GOTOは直感的にわかりやすいだろうし、 初めてプログラムを書く人にとっては良いと思うよ
BASICの肝ってインタラクティブ環境だってことだと思うんだけどなぁ。 言語がlispでエディタ機能がグッとよくなったらemacsって言うのかもしれないけど
>>472 インタラクティブ、懐かしいね。すっかり忘れてた
Javascriptのどこが難しいんだよ 奥は深いけど、軽く使う分にはお手軽じゃんよ いきなり「プロトタイプ指向の〜」とか教えてないよな
>>474 例外的な文法が多くて混乱させる悪質な言語だと思う。
・グローバルスコープでは変数の宣言が必要なくて、関数スコープでは必須
・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
・o["name"]とo.nameが同じにも関わらず、o["123abc"]は問題なくo.123abcは文法違反
>>475 >・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
これは良いんじゃないの。同じなんだから。
>>476 var a = []; a[0] = 0; a[1] = 1; window.alert(a.length);
var o = {}; o[0] = 0; o[1] = 1; window.alert(o.length);
javascript は with が邪悪に感じるよ with ("") toString = toString(); こんなよーなのに殺意を抱く あと this[0] this["0"] this[00] this["00"] this[false] this["false"] ここらへん違和感
>>475 にとっては自分自身で設計した言語じゃないと全て例外ありまくりだな。
> ・グローバルスコープでは変数の宣言が必要なくて、関数スコープでは必須
グローバルスコープでも宣言すりゃあいいんでは。
「宣言したら宣言のあったところのスコープになる。なければグローバル」
と理解すればいいんじゃないの。
> ・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
どこが例外的なのかさっぱり理解できん。
> ・o["name"]とo.nameが同じにも関わらず、o["123abc"]は問題なくo.123abcは文法違反
後者でo.123abcを許す方が例外的だと思う。
>>475 >・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
ECMAScript のArrayは「配列型」みたいな専用の型じゃなくて「Arrayオブジェクト」だもの…
オブジェクト型である以上他のオブジェクトと同じようにアクセスできるのが自然.
# だからといってECMAScript がそれほど初心者向き言語だとは思わないが…
>>479 > 後者でo.123abcを許す方が例外的だと思う。
実装屋さんからすればその通りだが、俺が初めてCに触ったときに
void 3kaku() {}
という関数が受け入れられない理由がさっぱりわからなかった。
技術者の発想では、初心者用の言語は出来ないだろうね。
言語の方からすべて初心者の要望にあわせた言語を作るなら 使い物にならん日本語言語が出来るか VBやHSPをはるかに超えたクソ言語ができるだろう。
コンパイラに入門をしたいのですが、 最低限動かしながら覚えていく手段はありませんでしょうか? コンパイラの簡単な理論の本は読んだんですが、 コンパイラが動くための全ての理論を理解して全て実装してから というのは膨大な時間が必要なようで困っています。
まずRubyの一行スクリプトから初めて、 次の日に二行スクリプト、 次には三行スクリプト。
Intelにインターンとして行ってみたら?
486 :
デフォルトの名無しさん :2006/07/13(木) 23:04:30
>>478 どこが?
お前の感覚では、100円と100Kg が違うのも違和感だろうなぁ
>>486 あれ、478は100円と100kgが同じであることに違和感を感じているんでしょ?
>>485 Intelとは技術展で飴もらうくらいしか関わり合いがないれすorz。
>>483 仮想マシンつくってそのマシン用のコンパイラを今の自分の環境で作って
その次にその新しい言語のコンパイラを自己記述してから仮想マシンに持って行く
という方法が一番学習には向いてるとおもう。
古い文献(30年位前?)でμplanって言語の紹介がbitにあったけどああいうもので始めるのはある意味正解かもしれない
planのvmは4Kバイトのアドレス空間しかない16ビットの仮想スタックマシン.
つかコンパイラ系の処理の何を会得したいのか不明じゃあんまり示唆のしようもないんだけどな。
全部持ってるけどさわり以外まったく読んでないな
本読んで理解するより、自分で作った方が早い BNFと再帰程度の知識で、コンパイラは書ける
コンパイラ作れない香具師はプログラマとして認められず
どっちの人にもメール送ったけど原稿は紙だし再販する気は ないみたい
──────────────────────────────── 参加者:筑紫 鳥越 古舘 小倉 田原 閲覧(1) ──────────────────────────────── 筑紫 : ROMってる奴ってネットウヨなんじゃないの? ──────────────────────────────── 鳥越 : インターネッツのゴミ貯め・2chに生息するあの連中ですかww ──────────────────────────────── 古舘 : 怖い怖い、我々も論破されちゃうんですかね〜(藁 ──────────────────────────────── 田原 : 論破して貰おうじゃないの、ホラ、入ってきなさいよ ──────────────────────────────── 小倉 : さっさと入って来いよ、ハゲ! ──────────────────────────────── 『櫻井よしこ』が入室しました ──────────────────────────────── 『筑紫』が退室しました ──────────────────────────────── 『鳥越』が退室しました ──────────────────────────────── 『古舘』が退室しました ──────────────────────────────── 『田原』が退室しました ──────────────────────────────── 『小倉』が退室しました
なんでどっちも、圧縮形式で何十キロもあるんだよ 最低限のことしかやってなかったら、そんなに大きいはずない 俺が暇つぶしに書いたヤツ、圧縮しなくても18キロだよ?
このスレで IActiveScript 系の質問するとスルーされるようなのですが、 他に専用スレでもあるんでしょうか?
>>498 vtlの方はしょうがないんじゃないの、実行ランタイムもついてたし。
なにしろvtlでvtlコンパイラ書いてあるの初めてみた(近いものでgameコンパイラ以来かも、つってもラベル使えるvtlってのはvtlと認めたくないけど)
501 :
デフォルトの名無しさん :2006/07/16(日) 09:44:55
DQN玄子はするーされまつ
インタプリタつくってるんだけど、実行部分のクラス名をExecutorにするかEvaluatorにするかで迷ってます。 どっちがいいと思う? つまらん質問でごめん!
古の REPL に倣うなら Eval... の方。
小さいコンパイラシリーズもっとキボンヌ
>>498 496のほうだけど、圧縮ファイルほどくとドキュメントが一番でかいよ。
506 :
デフォルトの名無しさん :2006/07/19(水) 19:42:17
りんごタン
>>499 IActiveScriptのIDispatch の話なら、
http://alpha.sourceforge.jp/diary/0602.html この辺見たら何かわかるかも。
「自分のグローバルメンバを公開するか」ということと、
「他の言語のグローバルメンバにアクセスできるか」ということに分けて考えられる。
前者については IActiveScript::GetScriptDispatch で得られる
IDispatch (IDispatchEx で実装していることが多いみたい) ポインタがグローバルオブジェクトになり、
等とかいてあるけど。
あ?ケンカう
>>502 Executor インタプリタ の検索結果 約 1,520 件中 1 - 10 件目 (1.46 秒)
Evaluator インタプリタ の検索結果 約 279 件中 1 - 10 件目 (0.83 秒)
Executor interpreter の検索結果 約 147,000 件中 1 - 10 件目 (0.14 秒)
Evaluator interpreter の検索結果 約 554,000 件中 1 - 10 件目 (0.33 秒)
日本だと、Executor 国際的にはEvaluatorが多いみたい。
executorは殺されそうで怖い
executeだとVMのようなバイトコードエンジンのイメージがある
evalだと値の評価って感じなのでノードを扱ってるイメージかも
>>510 死刑執行人だっけ?
えくせきゅーしょなー
evaluator の方は validate 噛ましてるようなイメージない?
514 :
デフォルトの名無しさん :2006/07/25(火) 22:41:35
一方ロシアはawkを使った。
それ、元ネタなんだっけ?
安西先生
518 :
デフォルトの名無しさん :2006/07/26(水) 22:58:00
しかし、日本はRubyを選んだ。
アンチRuby房は、竹島を韓国領土とでもいうのでしょうな。
>>520 言おうものなら自分の立脚している大地をぶちこわすだけだよ(笑
#国民は総統の(元台湾のw)声を聞く!
#元ネタわかる人は原語で書いてみよう
台湾の総統って4人しかいないんか
>>520 そんなアンチ「Ruby房」は君の妄想の中にしかいないから安心しろ。
Rubyの実装が腐ってるのは事実だし、これは作者も認めるだろう。
言語仕様は結局好みの問題だろうが。
524 :
デフォルトの名無しさん :2006/07/29(土) 15:47:47
実装が腐っているとか、作者も認めているとか 言いたい放題言いやがって、 脳内玄子お宅馬鹿は、すっこんでろ!
とまぁこんな風にRuby信者は頭が悪いわけです
こういうのって安置rubyが意図的に書き込んでるじゃなかったの?w
使う側にとっては実装が腐ってても別にかまわんわけで でもbeginとendで囲むのはめんど(ry
beginとendで囲むと言ってる時点でruby使って無いのがバレている訳で
python使いです
{}でも大丈夫です
531 :
デフォルトの名無しさん :2006/07/29(土) 23:36:34
> Rubyの実装が腐ってるのは事実だし、これは作者も認めるだろう。 おい、ソース出してみろよw ふざけたこと書き込むなよな。馬鹿が信じるだろw
それだけの情報で「腐ってる」とは・・・
どの行間読んだら、作者が認めていることになるんだw
535 :
532 :2006/07/30(日) 00:25:53
どうにもこうにも、Rubyの実装が腐っていることは事実なんだけどな。 いまどきVMでもない、再帰で構文木を下降するような実装で、 本質的に速度を追求できない構造であるにもかかわらず、 いらんところでCの低レベルな機能に頼りすぎ。 breakごときでlongjmp()するし、GCはスタックの構造に依存してるし、 Fixnumの持ち方なんかなんだありゃ。 スレッドがアレなのは、時代からするとしょうがないのかもしれないけれど。 それ以前に、ソース自体グローバル変数使いすぎだし。 ちなみにPerlの実装はもっと腐ってるが。つかあれのソースは読めない。
Fixnumはオブジェクトとして扱いながら即値としても扱えるというメリットがあって好きだけど
最近VMベースのruby実装もできてきてるがな。
>>537 タグつきで数値とポインタを切り分けること自体は
Lispとかじゃあたり前にやってることで
別におかしくない
Ruby自体知らんから、Fixnumの何処が悪いかは知らんが
>本質的に速度を追求できない構造であるにもかかわらず、 >いらんところでCの低レベルな機能に頼りすぎ。 これ一行目と二行目で言ってること矛盾してるんだよね。 本質的に速度を追求できない構造であるからこそ いらんところでCの低レベルな機能に頼ってるんだよ。
あ、漏れ一応 >540 だけど Fixnum は良いと思うよ
>>539 Lispどころか、コンパイルするのが前提のMLなんかでも普通に
タグつけてる。
543 :
デフォルトの名無しさん :2006/07/30(日) 18:22:30
だんだんと、Ruby 擁護スレになりつつありま(ry
>>568 お前はよくこのスレの流れを変えれたよな
すごい尊敬するよ
また厨房大好き未来安価か
>>551 また「もう夏休みか」って聞き飽きたよ!
>>540 >本質的に速度を追求できない構造であるからこそ
>いらんところでCの低レベルな機能に頼ってるんだよ。
rubyの実装の詳細を全く知らないあたしには、
一行目と二行目が全くつながりません
速度的に絶望な上に、プログラム的にも汚くて
どうしようもない実装には、なんとなく聞こえますが
「知らないからわかりません」 そりゃそうでしょうな。 次の方どうぞ。
そりゃ、おまいもしらんもんなw
よくわかんないけどさ、 ruby は (perlよりも) 純粋なオブジェクト指向言語だ ってあたりでみんな同意して次いかないか?
話題なんかねーんだからムリして話流そうとしてもムダだよ
lispは主にリスト処理だけど、リストは線形探索とかで効率悪い。 配列を主に処理する言語としてarraypというのはどうだろう。 arraypでは語呂悪いのでrayp。 そこのあなた、 レイプじゃなくてレイピーと読みます。
XMLなんてlispがあれば必要ない、って言ってた馬鹿はまだいますかね?
558 :
デフォルトの名無しさん :2006/07/31(月) 17:18:22
ノ
559 :
あばよ :2006/07/31(月) 18:10:54
明日コンパイラの試験があるんだが 無理
配列も探索は線形だろアホ
いや、ハッシュとか使えるじゃん リストは苦しいっしょw
lispでもhash使えることも知らんからアホ扱いされるんだよ
>>561 わけわかめ。
配列はメモリ上に連続するデータ構造で、リストはポインタでつなげて順番を保つデータ構造って感じのイメージなんだが、違うんか?
ハッシュとか言い出したら、ハッシュ表からそれぞれの要素へのポインタ張れば、配列にでもリストにでも組み込めるじゃん。
>リストはポインタでつなげて 厳密には、それは 『線形連結リスト』 だと思う。
ArrayListとかあるしな
つうかリストは悪者にされすぎだと思うんだ 使い方間違えなければ配列よりも適した場面だって多々ある
>>562 Lispで配列もハッシュも使えること知ってて
わざとぼけたの
ネタにマジレスすんな
>>563 配列しかデータ構造がない場合でも
配列があれば、配列を使ってハッシュ表を実装することができる
そうすれば、線形探索以外の探索ができる
リストしかデータ構造がない場合は、
ちょっと思いつかねえや
まあ、苦しいでしょ
>>567 はいはい、いつものネタでした宣言ですね。
まいどありー。もう来ないでくださいねー。
だからそのリストしかデータ構造がないってのはどこ系の思い込みなのかと
572 :
デフォルトの名無しさん :2006/08/01(火) 16:52:33
もうネタはいいよw Lisp は List Processor だろ。もう来るな!
luaはテーブル操作主体の言語だけど、どうだろうか。
574 :
デフォルトの名無しさん :2006/08/01(火) 17:40:54
配列厨はAPL使ってろ
>>571 556がそれっぽいこといってるから
適当にそういう状況を想定して書いただけだけだ
殆どのヤツが、ついて来れなかったみたいだな
はいはい。お子様はよそで遊んでおいで
ネタとしては非常に分かり難かったから仕方が無いでしょう。
パーサってテキストをパースしてアクションを起こすものだと思うんですが、 オブジェクトの状態をパースしてアクションを起こしたいと思ったら、 オブジェクトをテキスト表現に変換して、そのテキストをパーサに食わせる って考え方でいいんでしょうか? rubyでたとえると「p obj」で得られたテキスト表現を raccで書いたパーサに食わせるとか、p()じゃなくて YAML形式にしてYAMLのサブセットのパーサを書いて食わせるとか
オブジェクトのままじゃダメなの?
テキストである必然性はないので、dump/loadとか
582 :
579 :2006/08/03(木) 17:49:21
>>580 オブジェクトのままでいいんです。
でもオブジェクトをパースしてアクション起こすものって、
結局rubyでゴリゴリプログラムを書かないとダメじゃないですか。
raccなら文法を専用の記法で書けるし、メンテ楽だし。
raccの入力がテキストである以上、いちどオブジェクトを
テキスト表現にしないといけないのかな、と。
Rubyでゴリゴリってのと 専用の記法というのの違いがわからない。 Rubyじゃなくて他の記法でparserを書きたい、 けどparseする対象はRubyのオブジェクトですよ、ってこと?
なんとなく有限状態マシン的なコードを楽に書ける方法ない?ってだけな希ガス
オブジェクトをパース っていう意味がわからない 説明よろ
普通にEnumとかのデータ読み込んで次のオブジェクト作ったり 読んだりするだけじゃね?
だけじゃね?厨はスルーでよろ
588 :
デフォルトの名無しさん :2006/08/05(土) 10:50:40
オブジェクト脳で無い奴にはあまりピンとこないかもしれないが、 オブジェクト思考はこれからの言語の基本となることは確か。
お前らが言ってることがさっぱり分からない。 具体的に語れ。
10年前からタイムスリップしてきた奴が見受けられるな・・・
具体的に語ると
>>588 とか
時代はMQだしなMQサイコーMQは素晴らしい
592 :
デフォルトの名無しさん :2006/08/06(日) 08:40:24
「すべてがオブジェクト」って、意訳すると「手抜きしました」 ってことだよね?
>>593 ざっと読んでみようと思ったけどさっぱりわからんかったorz
ハッシュ表作ればO(1)でアクセスできるけど、それ以上のメリットって何なの?
>>594 ゴキブリみたいなデータ構造になって気持ち悪くなるってメリットあると思う
597 :
デフォルトの名無しさん :2006/08/06(日) 16:27:48
>>594 いいハッシュ関数がないときはどうするの。
そこそこいいハッシュ関数を探す
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | 先輩。ハッシュならいいのがありますよ \  ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ・∀・) ∧ ∧ < MD5とかいうなよ ( ⊃ ) ( ゚Д゚) \____________  ̄ ̄ ̄ ̄ ̄ (つ_つ__  ̄ ̄ ̄日∇ ̄\| DELL |\  ̄ ======= \
配列のが速いよ絶対
関数型言語でリスト的にアクセスできるってのが目的じゃない?
2-3木っつーから平衡木の話かと思ったらそうじゃなかったのか。 誰か日本語に翻訳してくれ。 リストに対するアドバンテージは何なのかな。
いやだからゴキブリみたいな構造がキモイだけって だけのはなしなんだが
私は英語苦手なんだけど、皆さんはどうやって訳してます? PDF→テキスト→辞書を英次郎で引く→テキストに1個書くってやってるんだけど。 機械翻訳は補助には使うけど。結局使えないし。
普通に読んでるけど。量をこなせば日本語と同じように読めると思う
>>604 俺も大学のときはそんな感じでやってた。
先輩風吹かすと、
技術書の場合、予備知識なしに英文だけ読んでも分からない場合があるので、
その技術に関する日本語の本も並行して読むといい。
一言一句を表面的に和文に置き換える能力は基礎の基礎で、
こなれた訳文を作る能力をみがきたい(文章の内容を理解して、それを表現する能力)。
辞書は英英も使いたい。英英なら言葉の意味が文章で説明されているが、
英和は(項目によっては?)あたらずとも遠からずな日本語の単語が羅列されてるだけ。
お勧めはOALD。(ホントは英英を和訳した辞書があればいいのにと思う)
余裕があれば、将来英文を書くときのために、使えそうな言い回しをメモっておくとよい。
ある程度、自己解決しました。 最近はブラウザでピロっと出てくれるけど、 すぐ忘れるので頭に残ってくれない。 出たテキストがブラウザに貼り付いててくれるといいんだがと思って、 TrEditっての見つけて、辞書引く効率UPしました。 VBで作られてて良く落ちるんだけどまぁいいや。 今までに比べはるかに、スピードUPしました。ありがとうございました。 勝手に嬉しくなって読んで見てます。 とりあえず内容は遅延評価前提だけど、 今までは一般的に速いリストの操作はあったけど、複雑だったのが 簡潔に一般的に書けるようになったってことでしょうか? 前提となる知識として、モノイドとRight and left reductions 右と左還元があるとか。 モノイド自体よくわからないけど、、、書いてある式はこれだけ。 class Monoid a where 0 :: a (c) :: a → a → a このモノイドの+と○を合体させたような演算子は結合演算子? ++のこと? aは0か、++の2項演算子があるってだけなのでしょうか???
608 :
デフォルトの名無しさん :2006/08/07(月) 16:31:21
超基本的な質問なんだけど、プログラミング言語の処理系で使うハッシュ表ってエントリーがどんどん増えていく場合も考慮して、動的にテーブルを大きくする必要あるじゃん。 そのコストを踏まえてもO(1)なの?
>>609 お前、2chのどこのダレかもわかんない、どんな実装を使ったのかもわからない
そんなベンチマークを盲目的に信じてるのかよ。馬鹿すぎだ。
「盲目的に信じてる」というほど断定してるようにも見えんが・・・。 暑いからってめちゃくちゃな八つ当たりするのはどんなもんかね。
>>609 >O(1)
テーブル拡大のポリシーによると思うが、
どういうポリシーならO(1)になるか教えてちょ。
最大nビットのデータに対して2n-1ビットのハッシュ値を使う
>>611 暑いからって、根拠の乏しいレスを信じる馬鹿よりマシかと
なんで素直に 2ch の外で裏を取らないのだろう...
616 :
609 :2006/08/07(月) 23:16:29
>>610 すんません
そのスレの121、実は俺なのですよ・・・
あれから色々試したけど、tstが検索においては
hashよりだいぶ速いのは検証済みです
ただしデータ構造上メモリを結構食います
TrieはO(1)に加えてインクリメンタルなので、
途中の結果も無駄にならなかったりするメリットもあります
ちなみにうちのコンパイラはtst使ってます
617 :
610 :2006/08/08(火) 01:12:48
2chのベンチマークなんて信じる奴は馬鹿。 俺は住所氏名年齢電話番号までわかってる奴じゃなきゃ 一切信用しない。
>>606 英英辞書ですか。人生長いし買ってみようかな。CD付いてるらしいし。
>>606 >(ホントは英英を和訳した辞書があればいいのにと思う)
それだ!
>>617 そんなんで信用できるのか?
俺はソースコードと追試手順があって自分で追試できて追試したものしか信用しない.
住所氏名年齢電話番号がわかってても意味ないだろ…
あからさまな釣りにひっかかっといて 慎重な姿勢とか見せても笑えるだけw
>>623 あるんかい!
けどサンプル見た感じジーニアスとか例文豊富な英和辞書とあんま変わらなくね?
>622 単に真面目な性格なだけじゃないの?
ここはLinux板みたいに嫌な雰囲気ですね
ハッシュ表やSTL vectorの拡張のコストについては amortized complexity analysis (償却計算量解析)について勉強すれば納得がいく
やべ、Ternary Search Trieすごい速いねw
Linuxみたいな嫌な雰囲気ってどんな感じ?
世界の宗教の原理主義派を集めたようなギスギスした 息の詰まる雰囲気だと思うよ。 Windowsを目の敵にしないと生きていけない。そうゆうゴミの集まり
それは何? もっと構って欲しいのにって事?
意味不明です。
633 :
デフォルトの名無しさん :2006/08/14(月) 19:10:55
flexでCのコードを出力すると、yy_acceptやyy_ecといったテーブルが作成されますが、 このテーブルの作成アルゴリズムみたいなものはあるのでしょうか?
あります
635 :
633 :2006/08/14(月) 20:35:45
それは、何というものでしょうか?よかったら教えてください。
非決定性有限オートマトン (NFA) → 決定性有限オートマトン (DFA) 、 だったかな?
flexが実際どうやってるか知らないけど、NFA→DFAの変換は大学でやったな。 subset constructionだっけ? 実際の手順をノートに手書きでいっぱい書いた記憶があるw
>>637 この前取材に行った某高校のクラブ活動でやっていた事を自慢げに語られてもw
やったな。 だっけ? w ←どこ笑う所? ↑ 何が楽しいの?
>>639 昔を懐かしんでるんじゃないのか?
電車で思い出し笑いしてる人とかいるぢゃん
Coins はどうなったんかな…
なんだか、子難しい話して、話せないようにされてるような希ガス。 NFA→DFAの変換とかすごいじゃん。
そーでもない 大学で情報科学取った人なら大体やったんじゃまいか
講義の内容的には、序の口もいいところ。
オートマトン最小化とポンピング補題は中間試験の必出問題ですな。
646 :
Flex :2006/08/19(土) 21:27:44
初めまして、宜しくお願いします。50の手習いでFlexを勉 強しています。早速の質問ですが、お手柔らかにお願いしま す。 Flexではinputの再定義は、#undefと#defineで出来ます。 unputの再定義はどうすれば良いでしょうか? 最初から、いきなりの質問で迷惑をかけるかと思いますが、 宜しくお願いします。
flexには詳しくないですが、unputの再定義は不可能のよう。 (The `unput()' routine is not redefinable. This restriction is in accordance with POSIX. ) 自前のunputを利用したければ、%option unputを指定して、 最初からunputが生成されないようにすれば良いのかも。
LLやLRの構文解析表なんかも大学の講義などでは手書きでたくさん書くことになる。 flex/bisonをいじれるだけで満足な奴は知らないんだろうけど、コンパイラコンパイラで楽してる背景にはけっこう面白いアルゴリズムがいくつも使われてて、理解するには手書きでこつこつやるのが近道だったりする。
LL(k)とLALRの違いについて調べてます。 文法的にLL(k)だと不可能になるもの。エラー処理の煩雑さなどで違いを教えてもらえませんか。
A -> ( B B -> A ) | ) A | ) 括弧の対応を取るだけの文法だが、任意のkについてLL(k)でない。
おまいらJavaのパーサー作るとしたらどのぐらい時間かかるんですか?
うそつけw ホントなら書いてみろ
654 :
652 :2006/08/22(火) 22:16:08
分かった。嘘だから書かない。
>>653 Generics無しの頃(swing無かった頃だが)に一度書いた。
Generics使えばもっと楽に書けるだろうがGenerics自体の文法は入れたくない(w
口だけ君はこれだから困る
○だけ君はこれだから困る
△だけ君はこれだから困る
656 :デフォルトの名無しさん :sage :2006/08/22(火) 23:33:41 口だけ君はこれだから困る 657 :デフォルトの名無しさん :sage :2006/08/23(水) 00:09:38 ○だけ君はこれだから困る 658 :デフォルトの名無しさん :sage :2006/08/23(水) 00:21:23 △だけ君はこれだから困る 659 :デフォルトの名無しさん :sage :2006/08/23(水) 03:20:15 |だけ君はこれだから困る
>>655 yaccとか使う場合だと、
specificationの内容を全部BNF文法に直す。
うまくあわないところ少し小細工する
意味解析ルーチンつける
て感じですか?
・・・・なんか気の遠くなりそうな作業だな・・・・
・・・・Genericsとかやりたくないな・・・・
>>651 パーサだから意味解析は置いといていいのね?
>>3 の¬<><∪∪なら、
言語仕様書からシンタックス部分をまる写しするだけだから簡単。
というかサンプルについてるけど。
>>3 ではLALR(1)になってるけどLALR(∞)。
その記事、単に匿名ローカル関数のことをクロージャと呼んでるようだが カリー化しなくてもそう呼んでいいものなのか?
>>664 クロージャは語の通り囲い込みしか指さないので(ry
関数型言語の本で封入って訳を見たことあるな
ふみゅ〜ん
>>664 >>665 も書いてるが
カリー化とクロージャは、全く無関係な概念
関数からその関数を囲む環境にアクセスできればクロージャと言ってよい
じゃあ、単に匿名ローカル関数のことをクロージャと呼ぶのは間違いでよろしいか? 記事、ろくに読んでないが、ラムダ式のことをクロージャと呼んでるように見えたモナ
>>669 ラムダ式はクロージャを持つけど、クロージャはラムダ式じゃない
チョットワカッテキタ...
C#の匿名メソッドはクロージャとは別物ですか?
「匿名メソッド is-a クロージャ」 あるいは 「匿名メソッド has-a クロージャ」 な関係
記事、も一回読んでみたけど Cの関数へのポインタ程度のものを、導入するぐらいにしか見えん そしてそのCの関数へのポインタのようなものを、クロージャといってるような カリー化とかできそうに見えない、高階クロージャ(?)すらあやしい
まぁ糞JAVA言語がそろそろ行き詰まってきたってことだろうなw
>>674 int func int(int x) {
return (int y) { x + y; };
};
int result = func(2)(3);
こういうのならできるんじゃね?
実際の java で動くかどうかはしらないけど、一応カリー化できてるはず。
>>674 おまえはカリー化とクロージャの意味をわかってるのかと
今回提案された仕様のローカル関数及び匿名ローカル関数は
れっきとしたクロージャだし、関数型も導入されるので、
カリー化するのも容易なはず
>>676 ホワイトペーパーの例からだと、たぶんこんな感じではないかと
int(int) add(int x){
return (int y) : x + y;
}
int result = add(2)(3); // => 5
>>677 いや、その例からだと add は有名関数だから、宣言は int(int) じゃなくて int では?
4ページ目の一番上。
さすがに、OCaml ばりの厳密で容易なカリー化は期待できないっすよ。
let add fun x y -> x + y;
で宣言して add 1 2 で 3、add 1 で fun y -> 2 + y みたいなのは java では無理でしょ。
あ、間違えた。まあ良いや。
>>678 addはカリー化された加算関数で、型はint(int) (int)なので
これでOKなはず。4ページ目の一番上の例は、int (int)な関数だよね
> さすがに、OCaml?ばりの厳密で容易なカリー化は期待できないっすよ。
そりゃOCamlほど容易ではないけど、厳密かどうかで言えば同程度には厳密でしょ
>>680 上段
ほんとだー。すまねー orz
>>下段
あ、すいません。『厳密』 ってのは 『制約』 ってのと同じような意味で使いました。
OCaml ではカリー化された関数しか扱えないみたいっスから。
int add(int x, iny y) { return x + y; }
「こんな感じに定義して add(1) ってしても 1 + y が帰ってこないじゃないかー」
って
>>674 は想像しているのでは? って思いましたんで (^-^;;
オーバーロードとカリー化の共存は難しい。
すみません。某スレから誘導されてきました。 yaccやlexで生成したソースはどうやって使ったらいいのでしょうか?
>>683 きっとお前も質問だけして居なくなるんだろうな…>646みたいに。
>>684 いえ、ホント基本的な動作からわかってないので藁にもすがる思いですよ。
yyparseやyylexなんかがどういう動作をしてるのか?とかそっからわかっていません。
とりあえず、まず、大まかな流れが知りたいのですが、日本語でいいサイトないでしょうか?
なんかyacc lexが独自に吐き出す関数とか変数とかわかってないです。
やりたいことはプログラムである文字列をパーサに渡して解析結果を取得することなんですが
yacc lexの吐き出したソースが何をどこまでやってくれるのかってそこからいってわかってないです。
そうですか
>>683 main() {
yyparse();
}
yylexはyyparseのなかで勝手に呼ばれる
>>677 どうも、そういうことが出来そうに見えなかったんだよね
Javaにクロージャ導入なんて記事を書くんなら
俺なら絶対カリー化の例をあげる
でも、カリー化どころか高階関数の例もないので、どうもな
まあ、ライターのレベルが低いだけかもしれんが
>>688 匿名関数も関数型変数も導入されるらしいのに、
なんで高階関数がないと予想したの?
読解力のない阿呆 (
>>688 ) のつまらん言い訳だよ
ライターのレベル以上に、リーダーのレベルが低すぎた悲劇だな。
つまりLISP最強ってことか。
なんでじゃ
Lisp触ってれば間違いようがないものな。
Lispの処理系をLispで書くのって無謀?
>>695 ものすごく簡単(数行しかない)なやつから、
きちんと機能を実装して、自分で自分を実行できるやつ、
もっと凄いやつ、と様々なので、答えようがない。
>>696 > ものすごく簡単(数行しかない)なやつから、
数行はないだろw
スーパー手抜きlisp ( loop (eval (read)) )
LISPってライブラリたくさんあるの?
しらねーなら書き込むなこの池沼が
ちょこっとLisp調べてみたけど、本当にこの言語で自己記述できるの? 字句解析とか構文解析のコード大体どんな感じになるのか情報orソースきぼんぬ
>>702 大昔の論文や書籍くらい読め
#とか思ったら良書は絶版かYo!
けちくせーやつだな。だったらスレみてんじゃないよ。 Take,TakeでGiveはなしか。
言いたがりが勝手に口を滑らせるだけだよ。 そんなものでも、最新の情報なら役に立つ。
>>689 出来ると書いてないから
それにつきますな
>>702 っSICP
後ろのほうに自己記述に1章裂いてるお
Schemeを最初からCで書くより、一通りSchemeで書いてから必要な部分だけ Cにする方が楽だよね。
今、M$のVisualStudio2005いじってるんだが、GC付きで64bitポインタ、メモリ管理サポートの ランタイム上で、C#、C++、VisualBasicが走るなんて、Lisp系言語を載せてくださいと言ってる ようなもんだな、と思った。Javaは過去にやろうとして16MBでギブアップしやがったので、 M$のCLIには少し期待している。
>>710 HotSpot以降のJVMならパラメータでメモリ量の調整きくよ。
web上のappletが廃れかけた頃にはいろんな言語のコンパイラがjvm用のクラス吐くようになったけど
今ははやらないのかねぇ。
>>711 むしろ最近になって流行ってきてると思うのだが
JDK6でJava VM用のスクリプト言語をJavaから呼び出すための
APIが標準化されるのも、Java VM用のスクリプト言語が流行ってきたからだろうし
ちなみに先に言っておくと、GroovyもJava VM用のJavaScript処理系であるRhinoも
Pnutsも単なるインタプリタではなく、JVM用のクラスファイルを内部で生成して、実行してる
>>712 スクリプト処理系が実行時にclassファイル吐いてるのはしらなかったな。
外部ファイルコンパイル実行する時にclassローダ的にはどういう扱いするんだろう?
今のJVMならメモリの調整効くとかいってるが そんなことねーよただ確保してるだけでなんも有効には使ってない。 そのへんM$のは賢い。
>>713 いくつかのスクリプト処理系のソース読んだ限りでは、基本的に、
java.lang.ClassLoaderをサブクラス化して、スクリプトをコンパイルしたクラスは
それに読み込ませるようにしてる
ちなみに、自作のJVM上で動作するJavaライクなスクリプト言語でも、同じような手法で
実装してる
>>713 あと、わかっているかもしれないけど、念のため追記しておくと、クラスファイルを
生成するといっても、スクリプトを直接実行するときは、別に実際にファイルが
生成されるわけではなく、オンメモリにbyte配列としてクラスファイルを生成して、
それをClassLoaderで読み込むようになってる
>j ava.lang.ClassLoaderをサブクラス化して これが必要ってことはclassfileの仕様を拡張してるってこと?
>>717 いや、そういうわけじゃない
java.lang.ClassLoaderのAPI見ればわかるんだが、
byte配列からClassオブジェクトを構築するためのメソッドなどはprotected
になってるので、プログラムからこのメソッドを呼び出したいなら、サブクラス化
しなければいけないということ
>>714 >そんなことねーよただ確保してるだけでなんも有効には使ってない。
そんなわけねーだろw
720 :
デフォルトの名無しさん :2006/09/07(木) 15:26:38
ちょっと質問。 スタックを使って実装する言語についてです。 JavaのようにGCを持っていて、オブジェクトへの参照とプリミティブの 両方をスタックに積むことが出来る場合に、 スタック上のプリミティブはGCの邪魔になりました。 オブジェクトはクラス情報を持っていますが、プリミティブには持たせていません。 なぜなら高速性を期待してプリミティブはオブジェクトと区別したからです。 そこでどうしたらいいかと考え、オブジェクト用とプリミティブ用の 個別のスタックを用意したらどうだろうと考えたのですが、 何か考えられる問題点はありますか? また、ほかにいい方法はありますか? よろしく。
>>720 ここはお前専用の相談室だ。
よろしく。
つーか
>>720 の言ってることよくわからんな。
スタックって何に使うスタックのこと言ってるのかわからないし、なんでそのスタックに積んであるものがGCされるのかもさっぱり。
プリミティブ値が邪魔になるってのも意味がわからん。
>>720 型システムが堅いなら系列分けたスタック持っても良いかもしれないが
もし引数がバリアントみたいに使える言語処理なら徒労におわると思う
>>727 スタック上のプリミティブとオブジェクトを区別できないことから考えて、
構文として静的に区別できるような言語なんじゃないだろうか。
だったら分けても良いかも知れない。
>>728 ボクシングとかほしくなったら困るんじゃなかろうか(関数呼び出しフレーム作る時ね)
ボクシングしたものは全てオブジェクト扱いでイイような気がする。 箱に入れてさ。
素直にプリミティブにタグ付けした方が良い希ガス。
オブジェクトのメンバの、ポインタと即値はどうやって区別してんだ?
>>732 型のある言語ならコンパイル時にGC対象を列挙できるので問題はないでしょ?
>>720 がもどってこなくてショボーン(´・ω・`)
どんな言語なのか聞きたかったのに
質問のレベルから察するとだな
チン子もえもえどぴゅーってレベルだな
スタックに積む量次第だけど、スタックに積むときだけプリミティブにタグ付けるのが 実装的には一番楽な気がする。
で、もうちょい話が進むと、プリミティブは常にタグつきがいいという話になる ちなみに、L(ry も R(ry も、そうなってたような
もう手抜きして保守的GCにしちまおうぜ
可算無限個のメモリを用意するのが最近のトレンド。
>>739 LispとRuby?
Rubyのprimitiveは最下位ビットが1になっているので
保守的GCに引っかからない、というものだったと思う。
Lispの実装は山ほどあるんでわからん。
LISPは今風の書き方ができない。 やっぱa.b.c.d().e.f.gとかしたいわけよ。 LISPで同じことしようとするとオペレータ毎いちいち括弧でくくらないとな。 (dot(dot(dot(call(dot(dot a b)c)d)e)f)g) もうなんだかわからん。 おっと、マクロにすりゃいいとか言い出すなよ。 俺はLISPを長年研究してきたから嘘は通じんぞ。
CLOSみたいにaccessorで触る仕組みにすると (g (f (e (d (c (b a)))))) のような感じになるかな。
(chain (a obj) (b it) (c it) (d it) (e it arg1 arg2)) みたいに書けるようにするのはマクロでできるよ。 Rubyでselectやらmapやらを繋げて配列を引き回していたりなんかすると、 ブロック+ドットよりもこっちの方がむしろ見易い気がする。
>>744 そういう風に華麗にかけるのはいいんだけど、デバッグするときにめんどくさくなんね?
gの呼び出しで値がおかしくなってるんだけどどこで値がおかしくなってるのかわかんないみたいな。
>>746 で、誰がそんなアホなマクロ使うの?
プロジェクト全体でそのマクロ使うように、
ルール決めしたりできる?www
>>744 引数を沢山とれるようにして
(dot (call (dot a 'b 'c 'd)) 'e 'f 'g) でいいじゃん。
だから、んな誰も使うはずのないゴミを書いてみても 自己満足以外の意味ないだろ
vimのマクロはなにに影響されてできたもんなの?
>>744 | LISPは今風の書き方ができない。
| やっぱa.b.c.d().e.f.gとかしたいわけよ。
いや。そんな書き方したいと思ったことは一度もないんだが。
753 :
744 :2006/09/14(木) 00:03:24
ふむ、ふむ。
予想通りのレスだな。
おれは結局フロントエンドを書いた。
しかし、それはもはやLISPではなく、
>>750 の言う通りでもあった。
LISPはリスト処理が得意なはずなのに、
こういった階層表現のオペレートが苦手なのは意外だった。
素直にLISPとして表現するならば、
(defvar a '(b (c (d (e (f (g value)))))))
というタグ付きリスト階層を作り、
(cdadadadadadadar a) => value
という操作を行う事だろうか。
>>744-753 マクロにする必要すらないんじゃ?
ドットで繋ぐんだから実装はハッシュか何かだよね?
Schemeで申し訳ないが
(define (pp obj r)
(if (null? r)
obj
(pp (ref obj (car r)) (cdr r))))
(define (p obj . r) (pp obj r))
で
(p a 'b 'c 'd)
と書けるよ。
あとはgauche限定?になるけど
(define-method object-apply ((b <hash-table>) . c) (pp b c))
で
(a 'b 'c 'd)
と書ける。
だから、ゴミの実装の詳細なんぞ、 興味ねえから、チラシの裏にでも書いてろ
744=750=755 ?
Lisp に絡んでいた奴がまた粘着してるのかねぇ? ↓のようなマクロじゃ気にくわないわけ? 例1: #{ a.b.c.d().e.f.g } 例2: #[ a b c #[ d ] e f g ] どっちでも好きなほうを選べ.
>>755 ではないが、
>>744 の質問はスレ違いじゃないのか?
特定の実装(Lisp)の問題なんだから、Lispスレでやればいいじゃんと思った。
Lisper に喧嘩売ってる俺ってスゲー、みたいな奴が出てくるのは Lisp の功罪だな。 こんな事が後何回繰り返されるのだろうか。
Lisp スレで相手にしてもらえなかったんじゃないの? だからって関係ないこっちに来られても困るわけではあるが。
>>759 相対性理論が長きにわたって物理系のトンデモさんを
無数に相手にしてきたのと、ちょっと似てるね。
だーから相手にすんなって…すぐにまた LISP 最強!! とか暴れはじめる気配がする
相対性理論、やっぱ無敵ってこと?それともダサダサってこと? 文章からどっちの意味か見えなかった。
相対性理論とLispはどっちが難しいんだ?
それ自体がどうのではなく、名の通り方の問題だろう。 「挑戦者」達は、まず何より名前に噛み付いてる。
Lispの話になっても、Lisperのオナニーが多少見えるぐらいで、話は何にも広がらんのな
Lispのマクロってどんな感じなんでせう? 文法を自分で定義してシンタックスシュガーを作れるってイメージ?
ググれタコ
レス数増えたと思ったらやっぱりこれか
>>767 構文抽象ってやつだね。でも粘着が暴れるから別のスレで聞いたほうがいいとおもう。
>>767 後はコンパイル時にデータを生成したりとか。
>>744 俺は、a.b.c.d().e.f.gって書けるような
S式みたいというかM式の一種というかC言語風の
データ形式を考えてるけど、なかなか、難しいです。
簡単なschemeへのトランスレータは書いてみたけど、
なんか納得がいってません。
こう、ごちゃごちゃと考えがスパゲッティになってて
どう考えを積み上げていったらいいのかわからない段階です。
とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
とか考えてます。
773 :
772 :2006/09/15(金) 03:49:02
>>772 >とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
カンマがないと、 1, -1 が 1-1 になっちゃうでしょ。
スペースをデリミタにすればカンマは必要ないと思うけど?
スペースをデリミタにするなよ
改行をデリミタにすればセミコロンは必要ないと思うけど?
>>777 EcmaScriptとかはその戦略を採用しているな。
おかげで構文解析が死ぬほどめんどい。
779 :
772 :2006/09/16(土) 02:44:14
>>774 2項演算子あるいは後置演算子と前置演算子に使われる演算子があった場合に
何らかのデリミタ(セパレータ?)が必要である。
てことですかねぇ。
他に、
名前のない括弧が前のカッコに結合しないようにする。
f()(1+2)と f();(1+2)みたいなかんじで。
みやすくするためにも存在してますよね。
java で実装されたスクリプトエンジンで、コルーチンの yield に相当する機能を実装したものはありますか? Jython がジェネレータの名称で実装していることは知っているのですが、他の実装も見てみたいのです。
FORTHって絶対メジャーになれない言語の筆頭だよな。
>>782 PostScriptはメジャーじゃない、とおっしゃる?
java仮想マシンもたしかFORTHだよな?
はい、違いますよ
スタックマシンがすべてFORTHだというのであれば
PDFを書く言語ってあったか? それ。
FORTHをアーキテクチャとか言語分類とかのことだと思ってる奴がいるのか?
OpenFirmware も Forth だよ。
FORTHを信じても意味がなかった
Use the Force, 792.
>>792 , trust me.
Remember, the Force will be with you always.
Lisp最強!!!!!!
はいはい。 LISPは面白いもんを沢山残してったけど、 FORTHは言葉遊びが出てくる程度だったな。
FORTHって、普通に使われてる言語やん。
Lispは今では遊びと教育用の言語でしかなくて、実際に使われているのは知らない。
スタックが複数本必要な言語はロクなのがないね。
>>798 emacs 知らんの?
珍しいやっちゃな。
emacsが実際に使われていないということなんだろうけどな
PCLの2章より: An even more impressive instance of remote debugging occurred on NASA's 1998 Deep Space 1 mission. A half year after the space craft launched, a bit of Lisp code was going to control the spacecraft for two days while conducting a sequence of experiments. Unfortunately, a subtle race condition in the code had escaped detection during ground testing and was already in space. When the bug manifested in the wild--100 million miles away from Earth--the team was able to diagnose and fix the running code, allowing the experiments to complete.14 One of the programmers described it as follows: Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem. ドキドキもんだろうけど、楽しそうな体験ではある。
この程度の流れも読めない馬鹿は書き込まないで下さい :-P
>>802 さらに衝撃的な遠隔デバッグが行われたのは、NASAが98年に打ち上げた、ディープ・スペース1号機におけるミッションでのことだった。
ロケットの打ち上げから半年、Lispの短いコードにロケットの制御を2日間委ねることになった時、ある一連の実験が進行中だった。
不運にも、わずかな競合状態がコードの中に含まれていたためで、地上での検査時に見つからないまま、宇宙空間に放たれてしまっていたのだ。
バグ発見の過酷な状況は、地球から1億マイルも離れた場所であったが、担当チームは稼動中のプログラムにメスを入れ、問題の修復に成功したことで、今回の実験は完遂されることになった。
担当したプログラマの一人が、当時の様子を次のように語った。
「あの時デバッグしたプログラムは、1億ドルのハードウェア上で、1億マイルも離れた場所で稼動していたんだけど、おもしろい経験になったよ。
read-eval-printループがあれば、ロケットの中で問題が起きても、発見したり修復するのに、量り知れないほど役立つことが証明されたってわけさ。」
むしろLispなんかで制御したから地上での検査時に 見つからなかったという恥ずべき歴史だな。
「みんながLispに近づいているんじゃない! みんながLispを不必要にしているんだ!!」
PHPでいいです
いくない
>>806 本当にそう思うなら、匿名掲示板以外でも声高に言ってみろよ。
誰も相手にしてくれないけどな。
JavaScriptでいいです><
>>810 確かに、Lispなんていう死んだ言語の話をする相手が見つかるのは
夢想に責任をまったく持たなくていい匿名掲示板くらいでしょうね。
>>810 静的型付けのないLispが今でも一番だと思っている奴がいたら
それこそお笑いだ。
スクリプティング言語の主流はいわゆるP言語だし、大学での
教育に使われる言語もMLやHaskellなど静的型付け&型推論の
ある言語に移っている。
>>813 SICPを教科書に使う学科は多いだろうし、今でもLispは教育用言語として使われることが多い。
ラムダ計算のお勉強でも型なし→型ありという風に遷移・比較して教えられる事もあるだろうし、
教育用という意味では今でもLispは利用価値がある。
>>814 それが最近はSICPの評価は昔ほど高くない。
SICPの内容を最初からMLなどで教えているところもある。
つまるところ静的型付けがない言語をわざわざ大学で教える
必要性が薄らいでいるのさ。
にも関わらず
Lisp is nice, so we are nice.
な方の多いこと。(Rubyスレで見たレスのもじりだが。)
いい加減スレ違いだと思うんだけどな。
>>815 Lispはともかく、
型なしラムダ計算については?
>>817 形無しラムダ計算を教えるためにはLispが必要と考える理由が
むしろ知りたい。
形無しラムダ計算の本質はLispでないと表せない
>>818 型なしの関数型言語の代表格だからだよ。
別に言語は何だっていいけど、Lispは勉強するのに必要な資料が一番多いんじゃないかな。
紙と鉛筆で十分だが
Lisperの一部は鼻持ちならない選民思想の持ち主だが、 そうでない者も多い。 「Lisp一番!!」なレスはスルーでヨロ。
カステラ一番、Lispは二番!!
>>819 んじゃあ、形無しラムダ計算は発明から何十年もの間、
その本質は表現されなかったんだw
実際Lispがなかったら埋まったままだったろうなあ
>>825 ここプログラム技術板だから。
(と、この説明で恥ずかしくならないようなら問題外 :-) )
言語ネタは叩き厨がファビョって荒れるんで Code Generation でも語ろうぜ JIT なんだけど GNU Liblightning ってどうなん?使ってるプロジェクトって qu 以外にある?
>>827 >>828 おまえらこそ流れを読まず見当違いのレスをするんじゃねーよ。
>>827 よ、お前が一番恥ずかしい。
>>828 よ、もはやLispではないものを持ってきてなんのつもりだ?
Lispを叩いているんじゃない。
Lispが至高のものと信じて疑わず、言語開発者でもないくせに
多言語使用者を見下すだけの輩が日本に増えるのは有害だ。
もっと先を見ろ。SICPなんて初学者向けの本だ。
世界はもっと進んでいるぞ。
>>830 そのコピペどこかで見たな。元ネタは何だっけ?
型付きの LISP よりも、副作用がバンバン書ける SML が欲すぃ。
>>830 大学って初学者向きの授業をするところだと思うんですけど・・
>>830 もうちょっと「論理的に見えるこじつけ」を期待したんだけどなぁ。
それじゃあ自意識に潰されて暴走する中学生だよ、キミぃ。
836 :
デフォルトの名無しさん :2006/09/20(水) 17:41:19
やっぱり
>>835 のように、経験者の言葉は一味違うね。
Currying and Partial Applications Qi permits currying (10-) ((* 7) 8) 56 and also partial applications, which generate Lisp closures. (11-) (* 7) #<CLOSURE :LAMBDA (Z100983) (* 7 Z100983)> スゴス
Lisp (というよりS式)は中間言語に最適です、gcc でも使われてますし。
S式というよりツリー形式が本質なのでは?
何でツリーの形式になるのか値?
単に statement というか block がファーストクラスオブジェクとして扱えるってことでは?
うん。予定より章が減ってる気のせいがするけどね。
845 :
デフォルトの名無しさん :2006/10/06(金) 03:41:19
このスレはLISPの話題が出ないと回らないんだな
つか、
>>1 に書いてある話題のほとんどは全然出てこないw
847 :
デフォルトの名無しさん :2006/10/06(金) 10:17:02
じゃ、質問してみる。
どうせ過疎ってることだし、あわよくば神が現れることを期待して。
>>1 に書いてある内容、どれでもいいから語ってください。
なぜそんなものが必要なのか。どんな意義があるのか。どこまで研究が進んでいるか。どこまで実装されているか。身近に有用な具体例はあるか。社会や倫理に与える影響はあるか。おまいはなぜそんなことまで知っているのか。LispやRubyとの関k(ry。などなど。
それは質問とは言わん
言い出しっぺが語れよ
>>850 Amazonに登録された当初、14,000円弱だったが日々値下がりしているので様子見中。
俺言語ってどのくらいの人が作ってて、どれくらい完成してる? ちょっと前は俺言語作ってるって人webで良く見たんだが、 最近自分の見る範囲では現れない。 また、作ってるって人も全然進んでなさげ。
みんなもう飽きたんだよ
手続き型にしか触らないで秋田とか言う人 Scheme面白いよ Lisperが何故偉そうに語るのかわかる
手続き型にしか触らないで山形とか言う人 Prolog面白いよ 世界が変わるから一度試してみるといい いや、マジで
>>854 schemeおもしろいって・・
お前素人だろ?まるわかり。
2chはもはや素人の集まりか。
>>859 はじめからなキガス
>>852 組み込み用のUIハンドリング言語なら俺言語(つか社用言語)あるよ
prologみたいな変な言語って
>>1 に書いてある様な即物的な技術と関係あるの?
prologのことは知らないが、
>>1 にある技術って実際に世の中に広まってる処理系に使われてるの?
即物的かどうかはしらんが、Prolog といえば David Warren が設計したWAM つー 仮想マシンが有名だよ。述語論理を直接マシンコードに〜とかやってるなかで、 「こんな機械があればいいじゃん」というアプローチは新鮮だった。興味があ るなら調べてみては。
>>862 prologのことだけじゃなく、何にも知らないんじゃん
prologのことは知らないが、
>>1 にある技術がすべて実用化されていることは確かだ
だから?
伊代はまだ、16だから。
871 :
デフォルトの名無しさん :2006/10/09(月) 14:53:20
型付きオブジェクト指向言語でオープンクラスが可能な言語が良いのぅ
公開授業?
オープンクラスってなんだよww
ちなみに俺言語作ってる奴は、俺自身を除いて2人知っている。
ただ単に話題にならないから、無いものと思ったのかもね
>>852 は。
俺言語なんて無意味の極み
>>875 普通のアプリ作ってる分にはあんまり関係ないかもしれないが
マイナーな環境だと俺言語(別に何かとコンパチでもいいが)じゃないと困る事もある。
つか困った事がある。
Open-Class considered harmful.
俺言語っつーか、DSL(DSL:Domain Specific Language)はいるよね。
ゲームのスクリプト程度のものまで含めたら、結構みんな色々作ってるだろうけどね。 「言語」なる表現に並々ならぬ神聖性を見出している方々にも一切の難癖を付けられない、 いわゆる本格的な「言語」となると、なかなか居ないだろうなぁ。
Rubyは、代表的な俺言語なわけだがw
>>878 そうやって全部バイナリごりごり作ると入り切らない。
で、vmで処理単位を大きくした命令を処理するのだけど、そのままじゃやっていられない。
結局俺言語が導入されそのvmをエミュレートするPCを用意してそっちでデバッグ完了してから
実機へ導入になる。
つか組み込みで吝いCPUとメモリとかだとどうしようもない。
組み込み以外で極端だったのはポケットステーションくらいだが。
それって、俺言語じゃねえよ 俺言語ってのはやっぱり、 「これが俺の言語だ!どうだ!!」ってなやつのことだもん 「この環境で言語いるから、お前作れよ!」 ってな感じで作らされるのは、『お前言語』ってところだ
「代表的な俺言語」っていうのは、宿命的に難しい定義だな。 こういう場で代表になれるような言語が、果たして今もなお俺言語の名にふさわしいかって点で。
>>883 それはつまり「開発することが手段ではなく目的である言語」というような感じかな。
俺言語って、我流言語って事じゃないの? ちゃんと勉強した人が作った言語は、その人がアマチュアであっても俺言語じゃない。
↑はい、「俺ローカル定義」でました
「俺」と「ローカル」はまぁ同義語ってわけじゃないけど、 この場合の「比喩的に用いられるローカル」は「俺」とかなりかぶってるから、 「俺ローカル定義」ってのはどうだろうなぁ。ちょっと響きがヌケてるかもしれないな。
>>886 じゃあ、やっぱり、Rubyは俺言語だw
886の定義だと、ほとんどの言語が俺言語だろ。
すべては俺言語から始まった
>>891 Rubyはそれっぽいね。
Perlはラリーの仕事道具として生まれたみたいだけど。
>>892 んー、それはどうだろう。
「ここでこういうのがあると便利だから」っていう理由(これは「手段」だよね)が
一番多いような気がするけどなぁ。いや、気がするだけね、あくまで。
>>894 >Perlはラリーの仕事道具として生まれたみたいだけど。
はぁ?じゃあ「開発することが手段ではなく目的である言語」じゃないじゃん。
「開発を始める時の動機が手段ではなく目的だった言語」だろ。
>>896 ごめんなさい。
君がキチガイにしか見えません。
使えたら何でもいいのと違う?
>>900 何いってんの?
886の定義 「開発することが手段ではなく目的である言語」
にPerlも該当するよ。昔はどうだか知らんが今はそうだろ?
Perlはラリーの仕事道具として産まれたから俺言語の定義から外れるっつーなら、
886の定義は正しくは「開発を始める時の動機が手段ではなく目的だった言語」だろっていってんの。
不毛な。
>>901 > っていってんの
今言ったのはわかるけど、さっきは言ってなかったね。
>>902 Perlの現状に関する自分の価値観を
どさくさ紛れにアピールしてるだけの抵抗レスだからな。
「あんなのSFじゃない!」とかそういうのの仲間。
相変わらずスレタイから外れると伸びが良くなるな。 自分のレベルに落ちてきた途端に水を得た魚のように振る舞うのって、 露骨すぎると超笑えるぜ?w
文盲に「寒いよ」といわれてもなぁ
文盲って言葉が好きなんだなぁ、ボク。
>>908 「超笑えるぜ?」なんて、そんな水を得た魚のように言われると
超 笑 え る ぜ ? w
そんなに悔しかったのか。どおどおどお。とにかく落ち着こう。 興奮するともっと馬鹿に見えちゃうからねw
流石に「超笑えるぜ?w」で悔しがる人は居ない。 どっちかというと、「超笑えるぜ?w」と言った人間が悔しいだろうな。
>>910 一度設定を固めたら、絶対その物語の中からしか言葉を紡ぎ出さない。
まぁ頭の弱い奴が最後まで場に立っていようとしたら、そういう
「"頭を使わないナンセンス"をまき散らして、相手に放置されるのを待つ」方法しか無いよw
お前のその子供扱い設定も同じだな。まぁこうして指摘したから変えるかもしれんが、
そのままだったらその路線でずっと行ってたろどうせw
>>913 > 流石に「超笑えるぜ?w」で悔しがる人は居ない。
だよなぁ。
俺もまさか、こんなに悔しがる奴が現れるなんて思ってもみなかった。
いまどき字間なんか開けちゃうしさぁ。「あちゃ〜」みたいな失笑すら出てくるし。
俺は超笑えるぜ路線でずっと行こう
水を差すようで悪いけど、この不毛のスレは何時まで続くの?
>>915 残念だけど、そのレス悔しさがにじみ出てて、超笑えるぜ?w
Perlの歴史を語るスレに変わりました。
歴史は誰も語ってないな。
Perlは1973年に産声を上げた。
俺言語の話題が出てから凄い伸びてるな このスレの存在意義に関わるだけあるな
もう少し有意義なことを語ろうぜ。 perlについて語ってもしょうがないだろ?
927 :
デフォルトの名無しさん :2006/10/09(月) 21:31:34
じゃ〜、C#について語ろうよ。
スレの流れを無視して書き込むけどANTLR v3ってまだC++のターゲット吐けないの? Javaな連中はもう移行始めてるみたいなのに、リリース時にはサポートしてくれんのかな。
930 :
デフォルトの名無しさん :2006/10/10(火) 16:33:59
Accessにテキストで格納された簡易な式を計算して、その結果をレポートに 印刷したいのですが、簡単にできる方法ないですか? VB版、lex/yaccみたいなの。または、MSXMLParserみたいな感じのものが どっかにあるはずだーと思って探してるんですけど、なかなか、、、 無ければ再帰下降パーサ書くんですけど、今後拡張ありだと思うので、 なるべくメンテし安い方法で作りたいのです。。。 何かアドバイスを!
MSXMLParserでいいなら、MSXMLParserをVBで使えばいいじゃないか
932 :
デフォルトの名無しさん :2006/10/10(火) 18:30:38
違った、、、MSXMLParserじゃダメなんです、、、
MSX-ML-Parser に見えた
935 :
デフォルトの名無しさん :2006/10/11(水) 11:35:35
ついにMSXでもMLが動く時代になったということでOK?
>>935 いやいや、あくまでParserだけというところがポイントではないかと
937 :
デフォルトの名無しさん :2006/10/11(水) 14:38:18
パーズして終わり?つかパーズだけかよっ!
938 :
デフォルトの名無しさん :2006/10/11(水) 16:37:46
サーチアンドデストロイ
940 :
デフォルトの名無しさん :2006/10/11(水) 16:53:08
>>727-739 ありがとう参考にします。
>>727 型システムは硬いです。
>>728 そういうものを想定しています。
>>732 ポインタはありません。すべて参照という形にしています。
オブジェクトはクラス情報を持っています。
>>734 実は言語についてほとんど何も考えていません。
というか実装できていません。実験している程度の状態です。
動的に機械語を生成して実行する実験をしてみました。
実用的な速度で動くように感じました。
プリミティブ用のスタックをマシンスタックに統合できないかと考えています。
動的に機械語を生成する場合、コンパイルよりもリンクのほうが
難しいと感じました。(コーディング、実行に要する時間、双方について)
皆さんどうもありがとう。
次まだ〜?
schemeで効率的な継続の実装の参考になるような論文はありますか?
943 :
930 :2006/10/12(木) 17:24:52
いや、まじで。VBで構文解析するとき皆どうしてんの、、、 JavaのStringTokenizerみたいなの無いの??
俺はJavaScriptで構文解析したときは自分で書いたけど…
>>943 ちゃちゃだが、StringTokenizer相当のものだと貧弱過ぎて、あっても大して構文解析の
助けにはならんと思うのだが。
それはともかく、VB用のParser Generatorはちょっと探した限りでは無いようだから、
自前で再帰下降の構文解析器書くか、既存のParser GeneratorをVBのコード吐く
ように改造するかくらいしか無いんじゃない?もしもVB.NETだったら、C#用のParser
Generatorを間接的に使うこともできるだろうけど。
再帰下降くらい手で書いたほうが効率よさそう
遅い梅速度にモルチョンペンポロストンカロスな気分です
VBはまったく知らないんだけど、eval()とかいうのを使うのじゃダメなの?
949 :
初心者 :2006/10/13(金) 18:30:12
スレ違いかとは思いますが質問させて下さい 楽天などの注文ホームに住所など必要事項が瞬時に書き込めるスクリプトってありますか?
スレ違いも甚だしいなw
3分で的確な誘導をする950に感動
3分で的確な次スレをたてる950に期待
>>949 どうしてここに来たの?それがすごく疑問なんだけど・・
>>954 「スクリプトエンジン」を勘違いしたのでは?
コンパイラと関係ない話ばっかりじゃつまんね〜
じゃあLISPコンパイラについてでも語ってみようか。 どぞ!
結局はオレ様ヴァーチャル・マシンを作れってことに収まる。
そしてオレ様命令セットの半分も組み込まない内に飽きるんだな
961 :
24 :2006/10/14(土) 23:11:13
サーバーはWIN2003デスデスクトップに2500のフォルダーの中のファイルをファイル単位で 一定時間経過(10日間)したファイルを自動削除するスクリプト を教えてください 素人より
963 :
デフォルトの名無しさん :2006/10/15(日) 08:22:24
ちょっと質問です。 ニモニック, オペランド, コード 見たいな感じで並んだia32用のcsvファイルってどこかにないですか? インテルのマニュアルに沿ったものがいいんですけど。 手作業に疲れてきました。
CSVファイルになるように自分でツール作れよ。 手作業とか、お前とってもアホだな。
965 :
デフォルトの名無しさん :2006/10/15(日) 09:17:28
>>964 PDFからコピペしてるんだけど、なんかいい方法ある?
今やってるのは、コピペ→VSで正規表現使って整形。
966 :
デフォルトの名無しさん :2006/10/15(日) 09:21:31
PDFはインテルのマニュアルのこと。 もしかするとマニュアルのどこかに表があったりする? 今は、目次からコピペしてニモニックを取り出す。 ニモニックごとのページからさらにコピペ。 VSで整形。 こういう方法。 CSVに出来たらエクセルでさらに整形しようと考えていたけど、 飽きてきた。
pdf2text
なんだ、単なる愚痴かよ。 確かに人間がやると退屈になるけどさ。
969 :
デフォルトの名無しさん :2006/10/15(日) 09:42:59
>>967 いや、テキストにしたいだけならテキスト形式で保存するだけなんだけど、
そこから表にする方法が無いでしょ。
>>968 愚痴じゃなくって、表を探してる。
マシンコード生成→実行まで作ったんだけど、
今生成できるコードは20種類だけ。
プレフィックスごとに別のコードと考えるようにしたので、
本来は1000種類以上生成できないといけない。
で、表だけあれば生成できるようになるはずなんだけど、
っていうか、20種類までは実際に生成して実行できることを確かめてて
自信ある。
で、表がほしい。
perlやらawkやらでスクリプト書いてcsvにすればいいじゃまいか
971 :
デフォルトの名無しさん :2006/10/15(日) 09:48:26
>>970 どういうアルゴリズムで?
人工知能とかそういうやつ?
as のソースとかに載ってるんじゃねーの?
思うんだけどさ、コンパイラ?作れるのに、この程度の表を作れないってどういうことだ。 一時的にしか使わないような捨てスクリプト(正規表現)を使えばいいだろ? その程度のスキルなら、1000種類とか欲張らずに20種類でニンマリ満足していろ。
>>971 ・・・( ^ω^)
おまいさんの言うニモニック,オペランド,コードってのはどーいうものかちょい説明してくれ
インストラクションマニュアルから手作業でコピペというから別に凝ったもの作ろうと
してるわけじゃないと解釈してたのだが、もっと込み入った表つくろうとしてるのか?
975 :
デフォルトの名無しさん :2006/10/15(日) 10:02:30
>>973 C言語のスレからCの予約語表とBNFを自動生成するのと同じような命題でしょ?
簡単に出来るならやり方教えて。
やってみる。
976 :
デフォルトの名無しさん :2006/10/15(日) 10:10:29
>>974 CALL "CALL" "E8 cw" "rel16"
こういう表。
すっかり雰囲気が悪くなったな。
978 :
デフォルトの名無しさん :2006/10/15(日) 10:12:47
ニモニックを定数として扱うためのリストは、 目次から生成済み。 何か規則性があれば、このリストを使って何とかできそうだけどなぁ。
979 :
デフォルトの名無しさん :2006/10/15(日) 10:15:56
ふと思ったんだけど、 正規表現でどうにかなるってどういうことなんだろ? 正規表現で形態素解析できるとかなんか新技法なのか?
正規表現でどうにかなるってことは正規表現がなくてもどうにかなるってことだ。 なぜなら正規表現は正規表現がなくても実装できるからだ!
なんで形態素解析が必要なんだ・・・ ある程度の法則に従って書かれてる文書から、必要部分を抽出したいだけだろ
982 :
デフォルトの名無しさん :2006/10/15(日) 10:24:20
>>973 見て思った。
コンパイラ作るのに特別な技術なんていらないでしょ。
むしろ力仕事なのに。
983 :
デフォルトの名無しさん :2006/10/15(日) 10:26:50
>>981 いやいや、マニュアルだから普通に日本語で書かれた説明書。
法則性はたぶん無いと思う。
日本語を処理するなら形態素解析とかかな〜〜って。
nasm やら gas やらのソースコードを見るのじゃダメなのか?
985 :
デフォルトの名無しさん :2006/10/15(日) 10:30:26
>>985 今 tcc のソースを見て来た。これで何が不満か分からん。
>>983 あーすまん、説明不足
例えば
Instruction:
Description:
Operands:
(その他色々)
みたいに表題にしたがって、ずらずらと命令が書かれてるものなら
表題だけ見て抽出、いらんとこは無視とかできるでそって話
989 :
デフォルトの名無しさん :2006/10/15(日) 10:46:07
>>987 i386-asm.h見たけど、これからはちょっと無理じゃないかなぁ。
あと、今作ってるマシンコード生成機って、
ぶっちゃけアセンブラそのものなんだけど、
アセンブラって呼んでいないのは、
スクリプト言語風味を作るために作ってるからなんだよね。
990 :
デフォルトの名無しさん :2006/10/15(日) 10:55:06
>>988 それそれ、その表題に従ってずらずらと命令が書かれているのってどこにあるの?
それがあればエクセルでどうにかなる。
992 :
デフォルトの名無しさん :2006/10/15(日) 11:02:21
>>990 一部しか載ってないね。
でも、ありがと。
>>982 >コンパイラ作るのに特別な技術なんていらないでしょ。
テキストからトークンを取り出して表にする処理よりも
コンパイラを作るのは大変だと思わないか?
もしかしてyaccとか想定してるのか?
力仕事なら1000種類でも手作業でやればいいだろ。
994 :
デフォルトの名無しさん :2006/10/15(日) 11:05:57
>>993 それ力仕事でしょ。
しこしこがんばって書けば済むだけ。
別に特別な技術じゃない。
大学で習う程度のことだよ。
そうじゃない?
で、力仕事はめんどくさい。
それだけ。
マシン語を吐く所までは楽勝だが、本当に大変なのはライブラリ作成やオプティマイズだと 誰かが書いてたな。
intelのpdfマニュアルって上中下3つあるIA-32の解説でしょ? 昔落として(日本語)持ってるんだけど、もうインテルのサイトから落とせないでしょ。 新しいアーキテェクチャ用はどうやって手に入れるの?
997 :
デフォルトの名無しさん :2006/10/15(日) 11:10:03
>>992 それ、検索して一番最初に出て来た奴を適当に貼っただけ。
ちょっと調べりゃ直ぐ出て来るのに、何で自分で調べないんだろうか。
どうでもいい事には饒舌なのに。
999 :
デフォルトの名無しさん :2006/10/15(日) 11:11:00
↓次スレよろ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。