『コンパイラ・スクリプトエンジン』 相談室 2 at TECH
[2ch|▼Menu]
[前50を表示]
450:デフォルトの名無しさん
03/03/09 23:23
Luaとかは?
マイナーだけど、コンパクトだから読むにはいいかも。

451:デフォルトの名無しさん
03/03/09 23:54
lua って癖が強くないですか???


452:デフォルトの名無しさん
03/03/09 23:57
>>448
bash,csh とかは?
Ruby みたいかどうかは知らないけど、、、

453:デフォルトの名無しさん
03/03/09 23:57
あと、開発が止まってますか?
なんか新しいのが無い???


454:デフォルトの名無しさん
03/03/09 23:58
>>449

ruby参照してるんだから、真珠は無いだろう〜(w


455:デフォルトの名無しさん
03/03/10 00:20
LuaはPubyやPerlより癖がないと思うけど。
つか言語仕様が小さい。アプリ組み込み向けだし。

開発は・・・使うためでなく読むためなら別にどうでもよい(藁

456:デフォルトの名無しさん
03/03/10 00:43
luaって有名なのかなぁ?
なんか、時々(ほんの)聞くけど。。。


457:デフォルトの名無しさん
03/03/10 00:57
亜種亜流を含めて 4000 以上プログラミング言語があるらしいけど、
メジャーな言語なんてほんの一握りだからねえ。

458:デフォルトの名無しさん
03/03/10 01:00
そんなにあるの〜、ビツクリ!

漏れも作ろうかなぁ。。。Uma


459:デフォルトの名無しさん
03/03/10 01:01
組み込みならluaみたいなの採用するよりはlisp系にするけど。

460:デフォルトの名無しさん
03/03/10 01:29
最近sourceforgeのgameカテゴリとかlinux game tomeとか眺めてるんですが
内部でluaやpythonを使ってるのをちょくちょく見かけます。schemeもあったな。

ちょっと前だと例えばQuake(初代)では速度の要求される3Dエンジン部分をC/ASMで、
キャラ固有動作とかダメージ計算とかのゲーム/シナリオ部分をC-likeな独自言語でやってたわけですが、
そういう局面で既存のスクリプト言語がつかわれってるぽい。

461:デフォルトの名無しさん
03/03/10 08:56
ruby最高!

462:デフォルトの名無しさん
03/03/10 14:10
>>461
どこがどのように?


463:デフォルトの名無しさん
03/03/10 15:26
あまり組み込み向けにはお勧めでないところ

464:デフォルトの名無しさん
03/03/11 01:18
>>462
日本発だから!

465:デフォルトの名無しさん
03/03/11 08:48
C++並に仕様がでかくなると、yacc の y.output 見て error を全て潰す(yaccの
エラーメッセージがでないようにする) のが大変だ。

466:デフォルトの名無しさん
03/03/13 23:21
新しいスクリプト言語を作りたいんだけど。。。

これって大変ですか?



467:デフォルトの名無しさん
03/03/13 23:28
>>466
> これって大変ですか?
最初からそんな感想を抱いているようでは、新言語を作るのは無理だと思われ。

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

482:デフォルトの名無しさん
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:デフォルトの名無しさん
03/03/14 19:35
>>477
英語が通じそうにないから敬遠するというのはあるかも

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


486:デフォルトの名無しさん
03/03/14 20:49
;

487:デフォルトの名無しさん
03/03/14 21:04
Delphi版 ギコBasicの アーカイブ一覧
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)


488:デフォルトの名無しさん
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:デフォルトの名無しさん
03/03/15 01:36
しるか

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

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

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


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

C言語版
URLリンク(page.freett.com)

C++版
URLリンク(page.freett.com)

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

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

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

497:デフォルトの名無しさん
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:デフォルトの名無しさん
03/03/15 21:00
COBOLの路線で行きたいって事でしょ

500:デフォルトの名無しさん
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:デフォルトの名無しさん
03/03/18 22:30
HSPがあるよ!

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

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

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

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

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

507:デフォルトの名無しさん
03/03/19 00:05
Haskell

508:デフォルトの名無しさん
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
03/03/19 01:51
やっぱりHSPが最高だね、アハハハハハ

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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




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

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

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

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

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

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

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

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


535:デフォルトの名無しさん
03/03/23 07:02
(*゚ー゚) しぃ の、言語をつくろう!!(゚ー゚*)
スレリンク(prog板)


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


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

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


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

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

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

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

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


544:デフォルトの名無しさん
03/03/23 17:17
N88BASIC?

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

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

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

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

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


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

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

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


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

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

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


555:デフォルトの名無しさん
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:デフォルトの名無しさん
03/03/27 11:42
>>556
「異常に的確なエラーメッセージ」の例を挙げないと、
答えづらいと思うよ。




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


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

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

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


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

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


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


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

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

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

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

569:デフォルトの名無しさん
03/03/29 21:49
結局556がアホなだけだな。

570:デフォルトの名無しさん
03/03/30 20:24
インタプリタの中間コードは8ビットが普通ですか?
いきなり32ビットとはしてるものはありますか?


571:デフォルトの名無しさん
03/03/30 20:35
>>570
Java。全て4バイトがベース。

572:デフォルトの名無しさん
03/03/30 20:52
皆さんのお力でぜひぬるぽをageて下ちい。
  ∧_∧
 ( ´∀`)< ぬるぽ

ぬるぽ 投票ヨロシク
URLリンク(pumpkinnet.to)


573:デフォルトの名無しさん
03/03/30 21:50
Javaは8bitじゃないのか?

574:デフォルトの名無しさん
03/03/31 00:29
そういえば、java関係の本はそれこそ腐るほど(?)あるが、
バイトコードとか仮想マシンの説明をしてるものってある?


575:デフォルトの名無しさん
03/03/31 00:49
>>574
オライリがバーチャルマシン仕様の解説本出してるよ。

576:デフォルトの名無しさん
03/03/31 00:50
>>574
本屋で立ち呼んだ記憶があるからあるんじゃない?

577:デフォルトの名無しさん
03/03/31 02:52
ソースコード読めばいんじゃないの?
そこまでやるのはちょっと、、、という
のなら、そもそもVMの勉強なんてしなくても
いいんじゃないの?

578:デフォルトの名無しさん
03/03/31 03:31
Structured Computer Organization by Andrew S. Tanenbaum
URLリンク(www.amazon.com)

にちょっとだけ説明があります。
オペコードが1バイトで全体としては1〜3バイトのがほとんどだそうです。

URLリンク(java.sun.com)
のどこかに説明あるかと思いましたが、発見できませんでした。
見落としあるかもしれません。

あとamazon.comをjava virtual machineで検索すると7冊ほどひっかかりますね。
URLリンク(www.amazon.com)


579:デフォルトの名無しさん
03/03/31 04:36
WSHとかってプログラム上から使ってその結果を受け取ることは出来ないのでしょうか?
MSDNを見ますと「IActiveScript」と言うのが在るのですが,
いまいちサンプルが乏しくて困っています.

580:デフォルトの名無しさん
03/03/31 04:43
一通りの使い方ならRuby256本の邪道編に書いてあった気がするが。
スレ違いじゃないか?

581:579
03/03/31 19:20
IActiveScriptってWSHにRubyとかの他の言語拡張するための
インターフェイスなのですか?
今考えているソフトでWSHスクリプトファイルをユーザに用意してもらい,
そこに書いているスクリプトを実行することによってアプリケーションの
挙動を変化させたいと思っています.
WSHあるいはJSCRIPT,VBScript等をプログラム上でロードして実行させる
方法が知りたいです.
よろしくお願いします.

環境:
VC++ 6.0
IE Ver 6.0.2


582:デフォルトの名無しさん
03/03/31 20:09
>>577
何のソースコードを読めばいいの?
VMのソースコード?それって公開されてるの?



583:デフォルトの名無しさん
03/03/31 20:19
良い子は検索したり、過去ログ読んだりします。

584:デフォルトの名無しさん
03/04/01 01:40
<死ね>
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)

VMはオープンソースのプロジェクトがいくつかあったはず。
GNUにもあった気がする。
俺が知ってるのはOSがマイナーなんで言ってもしょうがない。
</死ね>

585:デフォルトの名無しさん
03/04/01 01:43
<死ね target=">>582">
URLリンク(www.amazon.com)
全部読んだわけではないが書き方が変わってるんでVMの勉強としては素直に薦められない。

URLリンク(www.amazon.com)
は上にあげたとおり邦訳が出てるんでそっちを読め。訳に問題はない。

あとの洋書は大体到着待ち。
</死ね>


586:デフォルトの名無しさん
03/04/01 02:32
>>582
www.kaffe.org
とか…

587:デフォルトの名無しさん
03/04/05 17:27
いろいろと参考になりますね、この擦れ。
ところで、JAVAのVMがやはり事実上のスタンダードになりつつあるのでしょうかね?


588:デフォルトの名無しさん
03/04/05 17:33
現状はそう。

でもCLRとかParrotとか、未来の可能性は閉じてはいない。

589:デフォルトの名無しさん
03/04/05 17:35
>>587
なんの事実上のスタンダード?
VMといえばJavaのVMってことか?

590:デフォルトの名無しさん
03/04/05 17:57
>>581
やり方が分かったら連絡してくれ.

591:デフォルトの名無しさん
03/04/06 02:48
>>587
スタンダードというか、参照・参考にするのに比較的お手軽なのは確か。

592:デフォルトの名無しさん
03/04/08 21:55
VMってJAVAスクリプト自体は解釈できんのね?


593:デフォルトの名無しさん
03/04/08 22:17
JavaとJavaScriptは何の関係も無い(たしか)

594:名無し
03/04/09 01:24
VMが理解できるのはバイトコードだけかと

595:デフォルトの名無しさん
03/04/09 11:34
はぁ?

596:デフォルトの名無しさん
03/04/09 13:44
>>593
そだね最初はNetscape社のLiveScript。でJavaが現れて
なんとなく名前をJavaScriptに変更。

URLリンク(www.howtocreate.co.uk)

つうかこれくらいはgoogleですぐ見つかるんだが…

597:デフォルトの名無しさん
03/04/10 11:47
Javaを意識してみたという点では、まったく無関係でもない。

598:デフォルトの名無しさん
03/04/10 12:40
>>597
ばーか

599:コンパイラを勉強するには?
03/04/10 15:41
今まで、業務でJavaを1年半使った以外、プログラム経験はありません。そのJavaもWeb系が主です。

こんな僕でも、コンパイラの事を理解する事ができるでしょうか?JavaCCと言うのをやろうとしているのですが、
これをやるには、Java以外の知識よりもプログラム全般に詳しくないとできないですよね?

『おまえには、まだ無理だ。そんなんじゃJavaCCなんて理解できるはずはない。』なんてことは、皆さん思いませんか?
それとも、私ほどの経験でもJavaCCを理解する事は可能なんでしょうか?

何年かかっても良いので、最良の道を行きたいと思っています。
それには、やはりC言語などからプログラムというものを理解し、一般のコンパイラ事情を知ってから、JavaCCに行った方が良いのでしょうか?

よろしくお願いします。

600:デフォルトの名無しさん
03/04/10 15:50
愛さえあればできるよ。

601:デフォルトの名無しさん
03/04/10 15:52
できちゃった♥

602:デフォルトの名無しさん
03/04/10 16:15
>>599
個人的にゃJavaって泥臭いとこを隠してるから一回Cでそういう所を
見た方がいい気がする。

UNIX使えるならシェル書いてみるのはどうよ。

603:デフォルトの名無しさん
03/04/10 16:17
Java慣れてるならJavaでいいじゃん。
なんで遠回りすんの?>602

604:デフォルトの名無しさん
03/04/10 16:28
んー?別にCで全部やれっちゅうワケじゃないのよ。
ただ、作ろうとしてるモンはJavaでもCでもない「別の言語」
だから他の言語との違いを知っとった方がいいかと思う。

605:デフォルトの名無しさん
03/04/10 16:34
あ、でもJavaってアプリ自身がJavaで書かれたコードを実行する機能を
持たれられた気がするな…

マクロとかだとそっちの方が早いか?

606:デフォルトの名無しさん
03/04/10 17:50
>>599
C yacc lex は書籍が多いから、それがいいかもね。
とりあえず C をマスターしておいて、整数だけbasicからjavaへのトランスレータとか作ってみたらどう?
でき上がったものは無意味だけど、やり方は理解できると思うよ。

607:デフォルトの名無しさん
03/04/10 18:05
(´-`).。oO(>602 コンパイラ作るのになんでシェルが関係あるんだろう?)

最終的に機械語やバイトコードに落とす必要は必ずしもないのだし、
そこまでいくには道のりは遠いので、まずは構文解析できるように
なればいいのでは。
ただ、言語を作るのはただツールをいじっていればなんとかなるものでもない。
きちんとしたものを作れるようになるには知識が必要なので、しっかりした
解説を読むべし。
Java + JavaCC で書いてあるwebなり本なりが見つかればそれでもいいし、
見つからなければCを覚えて本を読む方がいい。理論がわかればツールを使うの
はJavaCCだろうがyaccだろうがたいしてかわらない。

過去ログを見ればweb上の講義ノートもあったと思う。(前スレだったかも)


608:デフォルトの名無しさん
03/04/10 18:24
シェルスクリプトあたりからってことじゃないの

609:デフォルトの名無しさん
03/04/10 18:40
だとしてもなんでshなんだよ。
まだLISPでもやってた方がいいぞ。

610:コンパイラを勉強するには?
03/04/10 19:55
どうも、皆さん幅広いご意見ありがとうございます。
大変参考になったのですが、やはり難しそうですね。しかし、生まれつき、計算とかが
好きなものですから、話しを見ているだけで、とてもわくわくしてきます。

やはり、いきなり、JavaCCに入るのではなく、他の方から入っていく事にします。

もっといろいろ読みたいので、良ければみなさん、またいろいろ書いておいてください。

よろしくお願いします。

611:デフォルトの名無しさん
03/04/10 20:36
>>610
yacc lex なら、そんな難しいものじゃないから、習うより馴れろでガンガンいけばいいよ。
ただCは押さえて置かないと進むものも進まないから、Cはがんばってね。
多分なじみの薄い物で参考資料も少なく、yacc を使うにあたって必要不可欠なCの概念は union だと思います。
そこは気合で行ってくれ。

612:コンパイラを勉強するには?
03/04/10 21:32
気合で行くわ。

613:デフォルトの名無しさん
03/04/10 21:38
どうも、仕事で簡易スクリプトを作ることになりそう。
基本的には、引数付の関数呼び出しと変数への値代入程度
で済ませたいけど、制御構造も作らざるを得ないかも・・・。

まあ、ちょうどよい勉強と思ってやってみるつもりです。


614:デフォルトの名無しさん
03/04/10 23:03
仕事なら既存のやつ使った方がいいんじゃねーの?

615:デフォルトの名無しさん
03/04/11 00:59
この時期だし研修用でそ

616:デフォルトの名無しさん
03/04/11 09:34
>>614
アプリケーション組み込み物のスクリプトだと既存という訳にはいかんよ、作るしかないです。
仮にソースが取得できたとしても、殆どがGPLに侵されたコードで再利用は不可能だからね。

617:デフォルトの名無しさん
03/04/11 12:46
>>616
perlもpythonもrubyもtclもGPL以外での利用を認めてるが。

618:デフォルトの名無しさん
03/04/11 13:17
>>617
たとえば
URLリンク(www.ruby-lang.org)
とかは?
近は過激な運動家がいたりして危ないから、そういう報流すのは良くないよ〜

619:デフォルトの名無しさん
03/04/11 13:18
近→最近

620:デフォルトの名無しさん
03/04/11 13:37
つーかGNU謹製のguileですら非GPLソフトへの組み込みを認めていたりするのだが。

621:デフォルトの名無しさん
03/04/11 13:45
>>620
お仕事用というのだから、組み込みよりもソースの公開が問題なんじゃないの?

622:デフォルトの名無しさん
03/04/11 14:16
>>621
GPLと互換性のないライセンスのソフトに組み込める==ソース公開の義務がない(スクリプトエンジン以外は)

623:デフォルトの名無しさん
03/04/11 14:25
>>622
その解釈は結構きわどいと思うな・・・

624:デフォルトの名無しさん
03/04/11 14:46
スクリプトエンジンに手を加えずに使うんだったらいいんじゃない?
手を加えたくなってもフィルタで済ます。

625:デフォルトの名無しさん
03/04/11 19:46
>>618
> URLリンク(www.ruby-lang.org)
「または以下に示す条件で」って書いてあるじゃん。
rubyに関しては何度かMLでもそういう話があるが、結論としては
「迷惑をかけないでくれ」だけのはず。

ところで過激な運動家って何だ?


626:デフォルトの名無しさん
03/04/11 21:34
Qちゃん

627:デフォルトの名無しさん
03/04/12 00:43
>>626
過激だったのか。中の人も(ry

628:デフォルトの名無しさん
03/04/12 06:46
そろそろスレ違い気味なのでGPLスレでも建てて議論してくだちゃい

629:デフォルトの名無しさん
03/04/12 12:46
ここだな?
【殺しの】ライセンス【道で拾った】
スレリンク(tech板)


630:デフォルトの名無しさん
03/04/12 17:19
>>599
JavaCC使うなら、LL解析法だからLALR解析法を使うyaccは勉強しなくていいよ。
ちょっとした簡単な言語のインタプリタを作ったことがかなり前にあるんだけど、
簡単なインタプリタならそんなに難しくないはず。
LL文法とBNFがわかれば、JavaCCは使えるようになると思う。
言語処理系の本を1冊借りてきて、Let's Try!

631:デフォルトの名無しさん
03/04/12 17:23
追加。
ドキュメントが英語で分かりにくいから、
URLリンク(village.infoweb.ne.jp)
URLリンク(www.asahi-net.or.jp)
この辺を参考に。
大量にサンプルがついてるから、それを参考にして作るといいかも。

632:デフォルトの名無しさん
03/04/14 21:08
LL(k)らしいんだけど誰か使てる?
URLリンク(spirit.sourceforge.net)



633:デフォルトの名無しさん
03/04/16 23:30
func();
という長い関数があったとして、これを
func1();
func2();
func3();
と分割するようなプログラムを作ってみたいと思ってます。

なにか参考になる情報、またはすでにそういうものがあったら教えてください。
それでは宜しくお願いします。


634:デフォルトの名無しさん
03/04/16 23:41
>>633
リファクタリングで検索

635:デフォルトの名無しさん
03/04/16 23:43
>>634
それは手作業でやるのでは?

636:デフォルトの名無しさん
03/04/16 23:49
>>635
おまえは一体どう分割したいのかと(ry
まさか単純にぶった切るつもりか?


637:デフォルトの名無しさん
03/04/16 23:52
単純にぶったぎりますが、ちゃんと途中経過を保存・復元する部分を付け加えたいです。


638:デフォルトの名無しさん
03/04/17 00:11
>>633の説明だけで何を判れと言うのか。

639:デフォルトの名無しさん
03/04/17 00:20
>>637
ローカル変数を全部構造体に入れてfunc()で確保、
func1(),func2(),func3()にそいつのポインタを渡してアクセス。

真面目にやるならフロー解析が必要。

640:山崎渉
03/04/17 15:16
(^^)

641:デフォルトの名無しさん
03/04/19 08:22
荒したい策の保守あげ

642:デフォルトの名無しさん
03/04/19 15:36
荒らしたい 策

643:山崎渉
03/04/20 03:02
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

644:山崎渉
03/04/20 03:41
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

645:デフォルトの名無しさん
03/04/23 03:52


646:棄教者 ◆egKIKYO7cg
03/04/24 15:18
最近 Perl の Parse::Yapp というモジュールで遊んでいます。
Yacc の Perl 版です。
これで何かハックした神の報告を待つ。

647:デフォルトの名無しさん
03/05/23 14:24
♥ 

648:名無し@沢村
03/05/23 16:07
おまいらよ、コンパイラをつくっただけじゃ言語はできんぞ。
リンカの解説はないか?

649:デフォルトの名無しさん
03/05/23 18:15
>>84
超遅いレスだけど、漏れも同じところで詰まっている。
P82までは何とか理解できたけど、LL(1)文法の理論説明になると急に難しくなる。
かなり前のページで定義したことが突然出てきたりするし。

コンピューター学科や数学科出身の人を前提にしているのだろう
漏れは情報学科出身ではないから読んでいてつらい・・・

しかも時間の空いているときに少しづつ読むような読み方では、前回読んだことを
覚え続けるのが困難。

650:649
03/05/23 18:26
First集合,Follow集合,Director集合は、
ある文法がLL(1)文法かどうかを調べるためだからとりあえず読み飛ばすことにします・・・

651:649
03/05/23 18:30
>>648
去年、"Linkers & Loaders" (John R.Levine著 ポジティブエッジ訳・オーム社)を読んだのですけど、
説明がかなり大雑把で実装レベルで直接役立てるのはちょっと無理な気がしました。

652:デフォルトの名無しさん
03/05/23 18:31
大したこと書いてないので、斜め読みで十分。
とにかく、実際に作ってみるのが○

653:652
03/05/23 18:34
中田育男の「コンパイラ」本のことね。

654:649
03/05/23 18:48
>>652-653
レスありがとうございます。
私は情報工学は素人なので、斜め読みするほどの能力はありませんが、
理論から導き出される結論自体はそれほど難しいとは思っていないので
なんとか最後まで読んで見ます。

655:逆コンパイラ
03/05/23 20:16
EXEファイルをC言語に戻す逆コンパイラソフトを教えてもらえませんか。

656:デフォルトの名無しさん
03/05/23 20:22
戻す?

657:デフォルトの名無しさん
03/05/23 20:38
>>655
URLリンク(www.itee.uq.edu.au)
URLリンク(www.backerstreet.com)

658:逆コンパイラ
03/05/23 20:47
>>657
上の一番のHPのdcc Decompiler はどこからダウンロードしますか

659:デフォルトの名無しさん
03/05/23 22:32
>>658
Table of Contentsの中に思いっきり「配布」という単語があるわけだが。
辞書とか翻訳サイトつかってでもContentsの一覧ぐらいは一通り嫁。

660:デフォルトの名無しさん
03/05/26 23:13
↓VMにも色々あるようですが、どういう方式でしょうか?
memory to memory
SICD machine
chemical abstract machine
categorical abstract machine
while-if machine

661:649
03/05/27 15:02
中田育男氏のコンパイラを読み終わって、PL/0'のソースコードをざっと眺めていたのですが・・・
字句解析と構文解析以外は普通のプログラミングですね。
結局はyacc&lexの勉強をしろということでよろしいでつか?

662:棄教者 ◆egKIKYO7cg
03/05/27 15:51
>>661
そりゃ天下のGCCだって構文解析器はBisonを使って書かれているからね。


663:デフォルトの名無しさん
03/05/27 16:02
>>661>>662
若者ならyaccは無視してantlrをやったほうがいいでしょうか?


664:649
03/05/27 16:24
>>663
漏れも良く分からないけどJava環境ならANTLRになるのでは?
漏れはC言語使うのでyaccが魅力的でつ

665:デフォルトの名無しさん
03/05/27 16:30
>>663
若者ならまずは手書きから始めるのが良いですよ。
言語にもよるけど、再帰的降下法はいちばん単純でわかりやすい。

パーサジェネレータを使う場合にも、一度手書きパーサを経験しておかないと
なにがなんだかわからない、という人が多いようです。


666:デフォルトの名無しさん
03/05/27 16:46
どうも。やってみます。ただ、23歳はもう若者じゃなかったかもしれません。

667:デフォルトの名無しさん
03/05/27 17:52
あっというまに

668:649
03/05/27 17:53
>>665
手書きの経験が必要でつか?
漏れは若者じゃないからいいや・・・

669:デフォルトの名無しさん
03/05/27 17:56
手書きの方が速い

670:デフォルトの名無しさん
03/05/27 18:05
昔、手書きでCコンパイラを作るとかぶちあげて、全く後が続かず、
入院したことにして結局うやむやにした香具師がいたな。


671:デフォルトの名無しさん
03/05/27 18:10
ただのツール使いはヘタレ。

672:名無し@沢村
03/05/27 20:29
おまいらよ、コンパイラは字句解析と構文解析だけではないぞ。
いいか、コンパイラはな、字句解析、構文解析、意味解析、最適化、リンカ、ローダとどれが欠けてもダメよ。わかるか?
おまいらに、コンパイラをつくる能力があるか?

673:デフォルトの名無しさん
03/05/27 20:53
アセンブラなら作ったことあるぞ。
コンパイラからアセンブリコード吐かせればOKだな。

674:デフォルトの名無しさん
03/05/27 20:59
最適化はあくまでオブションだし、ローダはOSの仕事だがなw

675:デフォルトの名無しさん
03/05/27 21:14
>>672
大半の人が作りたいのはスクリプトのコンパイラでないの?
それなら、字句解析、構文解析、意味解析だけで何とかなるのでは。

676:デフォルトの名無しさん
03/05/27 21:30
>スクリプトのコンパイラ
バイトコードコンパイルという意味だよね?


677:デフォルトの名無しさん
03/05/27 22:40
>>676
そうっす

678:デフォルトの名無しさん
03/05/27 22:50
リンカはリンカだろ・・

679:デフォルトの名無しさん
03/05/27 23:07
>>678
Delphiのよーに、コンパイラがリンクまでやってくれると便利なときがあるよ。
同じシンボルがエクスポートされた.objも、別々のユニットから{$L}で取り込めば呼び分けられるし、
リンクエラーとか名前の衝突とかも、リンカじゃなくてコンパイラのエラーになるので
原因となるソースコード上での位置がわかるし。

680:デフォルトの名無しさん
03/05/28 05:29
>>674
正直、最近のマシンは最適化してやらないと実力が出ないから
コンパイラ/インタプリタでの最適化は重要だし、
処理系のコード的にも非常に大きな部分を占めてるんだが。

681:デフォルトの名無しさん
03/05/28 05:36
>>680
追伸:
オプションなのは最適化なんてしなくていいってコトじゃなくて
様々な最適化技法がプログラムの性質によってそれぞれ有効度があり、
あまり効かなかったり却って遅くなるような場合に外したりパラメータを調節するのが目的。
(昔はデバッグを簡単にする目的もあったけど最近のデバッガは優秀だから
最適化されていてもデバッグできたりするらしいね。)

682:デフォルトの名無しさん
03/05/28 06:00
ほう。最近のデバッガは、最適化で消えた変数も追いかけられるようになったりするの?

683:デフォルトの名無しさん
03/05/28 07:37
消えたといっても、スタックローカルからレジスタに移っただけだろ? だからレジスタにある間は追いかけられる。

684:デフォルトの名無しさん
03/05/28 10:30
最適化について知らないなら、まず調べてから書いてください。

685:デフォルトの名無しさん
03/05/28 11:32
681が言ってるのはインライン展開とか実行順変更程度なら大丈夫という話
682が言ってるのは完全に消えた変数の話
683が言ってるのはレジスタ最適化の話
684が言ってるのは・・・・?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4934日前に更新/200 KB
担当:undef