[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/07 23:41 / Filesize : 200 KB / Number-of Response : 866
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

『コンパイラ・スクリプトエンジン』 相談室 2



1 名前:nanashi de fault [02/05/12 02:05]
前スレ1より
>yaccやlexの使い方やら言語仕様やらの話題。

前スレ

【コンパイラ・スクリプトエンジン】相談室
pc.2ch.net/test/read.cgi/tech/981672957/

前スレアーカイブ(かちゅ用)
www.1me.jp/hp/prg_c-s_lab

前スレに張られたリンク + x
>>2-6

468 名前:デフォルトの名無しさん mailto:sage [03/03/13 23:42]
言語処理系は作るだけなら、実は大して難しくない。
式の展開さえ出来れば、あとは出来たも同然。

問題は「使える」言語にしようと思うと、ライブラリの整備が
大変な事。

469 名前:デフォルトの名無しさん [03/03/13 23:56]
>>468

なるほど、参考になった。
rubyなども、結局はライブラリが揃ってるから使われるんだよねぇ。。。


470 名前:デフォルトの名無しさん mailto:sage [03/03/14 08:46]
ライブラリ整備が面倒なら、
COMコントロール使えるようにしとけば VBAのコントロールそのまま使えるから楽だよ。

あるいは、ゲーム用ならHSPのDLLを使えるようにしとくとか

471 名前:デフォルトの名無しさん mailto:sage [03/03/14 10:54]
>rubyなども、結局はライブラリが揃ってるから使われるんだよねぇ
rubyは美しすぎる言語仕様(少なくとも日本人の感性からすれば)が大きいと思う。

472 名前:デフォルトの名無しさん mailto:sage [03/03/14 11:16]
それは信じない(w

比較相手がPerlなら同意だが

473 名前:デフォルトの名無しさん mailto:sage [03/03/14 11:24]
>>472
ネタニマジレスカコワルイ

474 名前:デフォルトの名無しさん mailto:sage [03/03/14 11:41]
bisonが出力した y.tab.c を g++ でコンパイルすると パースエラーが出るんですが
回避方法はないのでしょうか?

VCではコンパイルできるのですが( ファイル名は y.tab.cpp に替えてコンパイル)。

475 名前:デフォルトの名無しさん mailto:sage [03/03/14 11:50]
どういうエラーだよ。

476 名前:デフォルトの名無しさん mailto:sage [03/03/14 12:58]
>>469
rubyは愛国精神からよく使われるのです



477 名前:デフォルトの名無しさん mailto:sage [03/03/14 13:21]
>>476
確かに、rubyの場合、
「まつもと?ふーん日本人がやってるんだ。ちょっといじってみよかな。」
と思って始めたっての、俺の場合はあるよ。

で、逆に思ったんだけど、アメリカ(のようなコンピュータ大国の)人が、
「ふんふんよさそう。ん?なんか変な名前の作者だな。
おぃ{スカンジナビア製,インド製,日本製,韓国製,中国製...}かよっ!」
とか感じてやめちゃうことってあるのかな?それとも多民族国家だから
そんなの全然キニシナイ!のかな?

478 名前:デフォルトの名無しさん mailto:sage [03/03/14 13:55]
日本製は、自動車やソニー等のこともあって、
他の国の製品とは若干扱いが違う。
それに助けられているかも。

479 名前:デフォルトの名無しさん mailto:sage [03/03/14 15:51]
そもそも、Rubyってのは真っ赤な日の丸から連想して
名付けたらしい。
大日本帝國言語ルビー万歳!

480 名前:デフォルトの名無しさん mailto:sage [03/03/14 17:36]
日本語対応の点で安心できるってのはあるなぁ

481 名前:デフォルトの名無しさん mailto:sage [03/03/14 17:46]
>>479
Pearl の次の誕生石だから。
寝たに混じれ酢。

482 名前:デフォルトの名無しさん mailto:sage [03/03/14 18:00]
bison (GNU Bison) 1.875をつかっているのですが、
yyerrlab1:
#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
__attribute__ ((__unused__))
#endif
goto yyerrlab2;
っていうコードを吐くのですが、g++(gcc version 3.2 20020927 (prerelease)) で
コンパイルすると
parse error before `goto'
といってコンパイルが止まってしまいます。

ふみゅ〜ん。

483 名前:デフォルトの名無しさん [03/03/14 19:26]
スクリプトエンジンってbison やlex/yacc 等が
いるのですか???

素朴な疑問でスマソ


484 名前:デフォルトの名無しさん mailto:sage [03/03/14 19:35]
>>477
英語が通じそうにないから敬遠するというのはあるかも

485 名前:デフォルトの名無しさん mailto:sage [03/03/14 20:40]
>>483
再帰下降でガンバレばいらないと思うよ。


486 名前:デフォルトの名無しさん mailto:sage [03/03/14 20:49]
;



487 名前:デフォルトの名無しさん mailto:sage [03/03/14 21:04]
Delphi版 ギコBasicの アーカイブ一覧
www.geocities.co.jp/SiliconValley-Oakland/8522/data/059.lzh
www.geocities.co.jp/SiliconValley-Oakland/8522/data/giko.ico
www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikob064.lzh
www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobas.dcr
www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc02.lzh
www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc03.lzh
www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc04.lzh
www.geocities.co.jp/SiliconValley-Oakland/8522/data/LucasTest.txt
www.geocities.co.jp/SiliconValley-Oakland/8522/data/mformula.txt
www.geocities.co.jp/SiliconValley-Oakland/8522/data/Script.txt
www.geocities.co.jp/SiliconValley-Oakland/8522/data/ugikoscr.txt
www.geocities.co.jp/SiliconValley-Oakland/8522/data/uSpliter.txt


488 名前:デフォルトの名無しさん mailto:sage [03/03/14 21:48]
ギコBasicで2chブラウザ作れますか?

489 名前:デフォルトの名無しさん [03/03/15 01:23]
微妙に英文ライクで空白込みの名前も可、というオブジェクト指向言語を作りたい者です。
経験者の方にお聞きしたいのですが、下のサンプルコードのようなものですと、パーザを実装するのは難しいのでしょうか?

//宣言部
private property string greeding head = "hello, ".
public method say greeding (string name = "world") {
output stream std out = system consore standerd out.
this greeding head + arg name + "." outln to std out.
}
//使用する側のコードを一部抜粋
this say greeding ">>1".

490 名前:デフォルトの名無しさん mailto:sage [03/03/15 01:36]
しるか

491 名前:デフォルトの名無しさん mailto:sage [03/03/15 01:51]
(´-`).。oO(その言語でプログラムを書くのが難しいと思われます。。)

492 名前:デフォルトの名無しさん mailto:sage [03/03/15 01:53]
つーか自分でBNFでも書いてみろよ。>489

493 名前:デフォルトの名無しさん mailto:sage [03/03/15 03:48]
プログラムを自然言語ライクに書けるようなのが出来たとしても、
greeting を greeding と間違って書いてもちゃんと認識
してくれるようなシステムを作るのは難しい。


494 名前:デフォルトの名無しさん mailto:sage [03/03/15 09:17]
C言語版、C++版ギコBasicもよろしく

C言語版
page.freett.com/gikob/gikobw00047.zip

C++版
page.freett.com/gikob/gbtl-beta3.zip

495 名前:デフォルトの名無しさん mailto:sage [03/03/15 09:32]
>間違って書いてもちゃんと認識

勝手にそんなことされると意図と違って認識されたときにものすごく発見困難なバグの原因になりそうだ

496 名前:デフォルトの名無しさん mailto:sage [03/03/15 11:06]
Ada95@gccってば、エラーメッセージ中でスペルミス指摘してくれるのだが、そういうのじゃなくて?



497 名前:デフォルトの名無しさん mailto:sage [03/03/15 11:15]
>>489
例えば事前にstring nameという定義があったりすると、
private string name x. とか書かれると、「string name」「x」なのか「string」「name x」なのか曖昧なので、
識別子に空白を含められるようにするなら、区切りの記号か予約語を入れるようにしないと。

普通ならPascalっぽく ":" 使うところだけど、英文ライクということなので、isなりasなり入れれば?
private property greeding head is string = "hello,". とか。

もっとも、曖昧さも含めて楽しむような仕様にするなら、それはそれで。

498 名前:デフォルトの名無しさん [03/03/15 20:57]
そんな言語、情報処理にはむかんなぁ(w

まぁ、曖昧な処理にはいいかも?(w


499 名前:デフォルトの名無しさん mailto:sage [03/03/15 21:00]
COBOLの路線で行きたいって事でしょ

500 名前:デフォルトの名無しさん mailto:sage [03/03/15 23:21]

    /ノ 0ヽ
   _|___|_      
   ヽ( # ゚Д゚)ノ   下がってろウジ虫ども! 。
     | 个 |      訓練教官のハートマン先任軍曹が500をgetする!
    ノ| ̄ ̄ヽ
     ∪⌒∪

>>501 貴様!俺の海兵隊をどうするつもりだ!
>>502 口でクソたれる前と後に「サー」と言え!
>>503 ふざけるな!大声だせ!タマ落としたか!
>>504 貴様には両生動物のクソをかき集めた値打ちしかない!
>>505 アカの手先のおフェラ豚め!
>>506 まるでそびえ立つクソだ!
>>507 タマ切り取ってグズの家系を絶ってやる!
>>508 じじいのファックの方がまだ気合いが入ってる! 
>>509 ベトナムに行く前に戦争が終わっちまうぞ、アホ!


501 名前:デフォルトの名無しさん [03/03/18 22:28]
そういえば、最近はスクリプト言語の時代らしいんだけど、
ろくな言語ないよなぁ〜、

コンパイル言語のときは、Cがあったけど


なんていうかパールは暗号みたいだし、
AWKはフィルタ専門だし、(SEDも)

ルビーはOOだし、

なんかみんな極端なんだよねぇ。。。


502 名前:デフォルトの名無しさん mailto:sage [03/03/18 22:30]
HSPがあるよ!

503 名前:デフォルトの名無しさん mailto:sage [03/03/18 22:31]
>>501
> そういえば、最近はスクリプト言語の時代らしいんだけど、
> ろくな言語ないよなぁ〜、
> コンパイル言語のときは、Cがあったけど
(w

> ルビーはOOだし、
これがオチですか?

504 名前:デフォルトの名無しさん mailto:sage [03/03/18 22:32]
>>501
じゃあどんなのがいいんだよ

505 名前:デフォルトの名無しさん mailto:sage [03/03/18 22:33]
cintがあるやん

506 名前:デフォルトの名無しさん mailto:sage [03/03/18 23:49]
>>504
純粋関数型のスクリプト言語



507 名前:デフォルトの名無しさん mailto:sage [03/03/19 00:05]
Haskell

508 名前:デフォルトの名無しさん mailto:sage [03/03/19 00:28]
インタプリタがほしけりゃghciでいいじゃん

509 名前:デフォルトの名無しさん [03/03/19 01:08]
>>502
win用じゃん(w
os2用もあるらしいが。。。(w

畑違い、ハゲ稿!


510 名前:デフォルトの名無しさん [03/03/19 01:18]
>>505

ヨサゲだけど、絶版ですか?
ちょっと残念(本)


511 名前:デフォルトの名無しさん [03/03/19 01:23]
>>507

なんか難しい論文ばかりで、学者○カ向け?


512 名前:デフォルトの名無しさん [03/03/19 01:24]
>>ghci なにそれ?


513 名前:501 mailto:sage [03/03/19 01:51]
やっぱりHSPが最高だね、アハハハハハ

514 名前:デフォルトの名無しさん mailto:sage [03/03/19 05:14]
>>489
スペルミスの多さからしてネタだろ。

515 名前:デフォルトの名無しさん mailto:sage [03/03/19 05:20]
>>482
cygwinのが1.875bで手元では一番新しかったんで試してみたけど、そんなコー
ドは吐かないな。


516 名前:デフォルトの名無しさん mailto:sage [03/03/19 11:20]
とりあえず付箋紙ベースのスクリプトエンジンを作成しようとおもいますた。
Basicインタープリターは別なところでできてるんだけど、アイデア暮れ。



517 名前:デフォルトの名無しさん mailto:sage [03/03/19 13:32]
付箋紙?

518 名前:デフォルトの名無しさん mailto:sage [03/03/19 14:43]
>>509-512=日下部

519 名前:デフォルトの名無しさん mailto:sage [03/03/20 01:06]
結局ライブラリをどうするかなんだよ。スクリプト作る時間よりも、
ライブラリ用意する手間の方がでかい。特にOO系言語のクラスlib
なんてもうみてらんない。シコシコ使うかどうかもわからんクラス階層
作ったりしてんの。バカみたい。クソインターフェース量産したりしても
誰もつかわねえよ(ププドキュメントも用意しないとわかんねえし、
忘れるし。そんなことしてる暇あったらデバッガ作れよ。
結局クラスがクソなら誰もつかわねえって。
時間の無駄だっつうの。

520 名前:デフォルトの名無しさん mailto:sage [03/03/20 01:58]
>>519
Java の仕事がメインになったけど、Cばかりを組んできたから、うまく対応できなくて困っている
老人ですか?

MFC はともかく、Javaは、ライブラリーの規模を考えれば、うまく設計されていると思いますが?

521 名前:デフォルトの名無しさん mailto:sage [03/03/20 05:25]
要するに標準入出力さえきちんとしてくれれば全てオッケー
言語はどうでもいい。
その分野を最も得意とする言語で書く。

522 名前:デフォルトの名無しさん mailto:sage [03/03/20 23:26]
言っていることは正しいし、激しく同意だが、すれ違いだ。

523 名前:デフォルトの名無しさん [03/03/21 18:19]
これからの主流はスクリプト言語なんだろうか?

なんか、パールとルビーの宝石コンビじゃいやだなぁ〜(w


524 名前:デフォルトの名無しさん mailto:sage [03/03/21 18:37]
スレと無関係ない事書くなや、ここは死滅スレじゃねぇ

525 名前:デフォルトの名無しさん mailto:sage [03/03/21 21:20]
>>524
スレタイトルがわるい

526 名前:デフォルトの名無しさん mailto:sage [03/03/21 21:27]
>>525
> >>524
> スレタイトルがわるい
分かりやすくていいじゃないの?
何が不満なの?



527 名前:525 mailto:sage [03/03/21 22:47]
>>526
別に不満はないよ。不満があるのは>>524さんでしょ。

528 名前:デフォルトの名無しさん [03/03/21 23:45]

☆^〜^★「探し物とくとくページ」☆^〜^★
sagatoku.fc2web.com/
あなたの探し物きっとみつかります
ほぼ毎日 新着情報追加 毎日更新
新着情報メールでお知らせ




529 名前:デフォルトの名無しさん mailto:sage [03/03/22 04:29]
>>527
ここは言語仕様でなく、
実装について語るスレだったはずなんだが・・・

530 名前:デフォルトの名無しさん mailto:sage [03/03/22 11:27]
>>529
>前スレ1より
>>yaccやlexの使い方やら言語仕様やらの話題。

って>>1にかいてあるよ?

531 名前:デフォルトの名無しさん mailto:sage [03/03/22 12:46]
>>530
529ではないが、どうにも最近は厨が来るから次スレから抜きにしないか? > all
必要なときは関連して話題になるだろうし、そういう状況なら厨が入り込む余地はないだろう。
ここで在っていいのは宗教論争ではなく実装に関連した言語仕様の話題のほうがいいと思う。

532 名前:デフォルトの名無しさん mailto:sage [03/03/22 15:56]
yacc/lex の使い方の高度な話題はここでいいと思うが。

まあ、次スレまで行くのかどうか問題だが。

533 名前:デフォルトの名無しさん mailto:sage [03/03/22 21:23]
flexに #include <unistd.h> を出力させない方法はないですか?

534 名前:デフォルトの名無しさん [03/03/22 21:59]
宝石兄弟と仲良くする擦れはここですか?


535 名前:デフォルトの名無しさん mailto:sage [03/03/23 07:02]
(*゚ー゚) しぃ の、言語をつくろう!!(゚ー゚*)
pc.2ch.net/test/read.cgi/prog/1034581899/


536 名前:int [03/03/23 09:37]
ちょっと聞きたいんだけど、いわゆるスクリプトと呼ばれるインタプリタ処理系は、
(中間言語を含め)内部で事前コンパイルしてるものなのでしょうか?




537 名前:デフォルトの名無しさん mailto:sage [03/03/23 09:52]
してるよ

538 名前:int [03/03/23 10:15]
それは、事前に全ソース(つまり頭から尻尾まで)変換してから
実行しているってことですか?


539 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:25]
>>538
大抵は一括変換だけど、
ある単位(関数や変数など)ごとに変換していくのもあるよ

540 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:26]
             ∩
        ∧_∧   | |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (  ´Д`)//  < 先生!こんなのを発見シマスタ!
      /       /    |
     / /|    /      \  saitama.gasuki.com/sinagawa/
  __| | .|    |         \
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\     \_____________
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||

541 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:29]
↑ブラクラなので踏まない様に

542 名前:デフォルトの名無しさん mailto:sage [03/03/23 10:52]
>>533
自分はあきらめて空の unistd.h をシステムインクルードディレクトリに入れてしまいました。

543 名前:int [03/03/23 17:16]
>>539
文字通り1行毎に逐一変換&実行している言語はないのでしょうか?
なんか、そのほうがインタプリタ(スクリプト)というイメージに
ぴったりなんですが。。。


544 名前:デフォルトの名無しさん mailto:sage [03/03/23 17:17]
N88BASIC?

545 名前:デフォルトの名無しさん mailto:sage [03/03/23 17:24]
>>543
sh

546 名前:ろうひ男爵 mailto:sage [03/03/23 18:55]
>>544
N88BASICも、入力されたときに中間コードに落とすんじゃなかったですっけ?

>>543
GOTOなどのジャンプ先のアドレス解決を毎回やると、
検索だけで重くなってしまうので実用的ではないのでは?



547 名前:デフォルトの名無しさん mailto:sage [03/03/23 19:16]
>>543
自分の場合は、スクリプトとして自働実行する以外に、コマンドラインのインターフェイスを
持たせたいときは、そういうことをする場合もあります。
ただ・・・
構造化された構文がこれだと作りにくいんだ、
だからある程度派手な構文を持つ場合はパースするか、コマンドラインだけ文法限定して
別パーサーで作っていたりします。
ちなみに、古いベーシックなんかが一行入力時にそのつどパースしてるんじゃないかな。
いまどきの文法はちょっと苦しいかも。

548 名前:int [03/03/23 23:05]
やはり、実行速度がもんだいのようですね。
いろいろとありがとうございました。


549 名前:デフォルトの名無しさん mailto:sage [03/03/24 09:24]
>>547
だからshのソース嫁。gotoはないけどブロックはある。

550 名前:デフォルトの名無しさん mailto:sage [03/03/24 11:02]
>>549
まあできんことは無いんだが・・・
たんに大変だなとか思ってね。

551 名前:デフォルトの名無しさん mailto:sage [03/03/24 12:52]
>>546
実行時にsyntax errorが出るくらいだから、それはないと思う。


552 名前:デフォルトの名無しさん mailto:sage [03/03/24 12:57]
>>551
たしか予約語を中間コードに置き換えるようなことはやってたと思うが。
でも構文チェックをしたり構文木を作ったりは当然しない。

553 名前:デフォルトの名無しさん mailto:sage [03/03/24 16:41]
>>551
N88しか知らないけど、runした瞬間に出るエラーもあるよ。
for〜nextの対応関係だったかなぁ。

554 名前:デフォルトの名無しさん [03/03/26 22:14]
その中間言語って、なにか規格みたいなものあるの?
それともデファクトスタンダードな仮想マシンがあるの???


555 名前:デフォルトの名無しさん mailto:sage [03/03/26 22:19]
>>554
そんなもんは無いです、当時は中間コードの利用目的は高速化とプログラムのメモリー占有サイズの削減が目的。
わずか数キロバイトにプログラムを収めるのにTEXTデータは大きすぎたのです。

556 名前:デフォルトの名無しさん [03/03/27 03:20]
つまらんこと聞きますが、まぁバグはあるにせよ、VC++って異常に的確な
エラーメッセージを吐き出しますよね。
LALR(1)で解析してて、あんなことってできるもんなんですか?
yaccとかだと、ちょっとerrorを突っ込んだだけでconflict起こしますよねぇ。
LR(1)とかだったらそこいらじゅうに、擬似シンボル埋め込めばできなくも
なさそうな気はしますが、、、
そのへんってどうなんでしょう?



557 名前:デフォルトの名無しさん [03/03/27 03:54]
>>555
THANX



558 名前:デフォルトの名無しさん mailto:sage [03/03/27 11:42]
>>556
「異常に的確なエラーメッセージ」の例を挙げないと、
答えづらいと思うよ。




559 名前:デフォルトの名無しさん [03/03/27 20:00]
>>556
異常に典型的なミスを犯しているだけでは?(w


560 名前:デフォルトの名無しさん mailto:sage [03/03/28 17:07]
VCのエラーメッセージって異常に意味不明なものが多いと思うがな。

561 名前:デフォルトの名無しさん mailto:sage [03/03/29 01:13]
「予期せぬ EOF が検出されました」
のどこが的確なメッセージなのかと、小一時間t(ry

562 名前:デフォルトの名無しさん [03/03/29 16:28]
やはり、>>559だろう


563 名前:デフォルトの名無しさん mailto:sage [03/03/29 18:30]
>>556
>つまらんこと聞きますが、まぁバグはあるにせよ、VC++って異常に的確な

具体的にどの辺が的確なエラーメッセージだと思ったのか、書け。


564 名前:デフォルトの名無しさん mailto:sage [03/03/29 19:04]
>>559-563
煽りは死滅スレでやれや


565 名前:563 mailto:sage [03/03/29 19:24]
>>564
煽りに見えてのはお前だけだと思われ。
もし>>556=>>564だとしたら被害妄想だよ。
死滅スレ居座りすぎて病気になったか(w
説明不足を解消せよってだけ。

566 名前:デフォルトの名無しさん mailto:sage [03/03/29 19:27]
>>565
>>558がもう指摘してるじゃん。



567 名前:563 mailto:sage [03/03/29 19:45]
>>566
んなことわかってるよ。
これじゃ話が進まないから催促してるの。

568 名前:デフォルトの名無しさん mailto:sage [03/03/29 21:15]
563 は "(w" とかつけている段階で論外。
毎日見ていない人もいるだろう、そのうち書かれた時に理由を考えればいい。
ただ煽るだけで意味のないことするな。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef