[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 17:56 / Filesize : 90 KB / Number-of Response : 272
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Prologでまったり Part3



1 名前:デフォルトの名無しさん [2007/10/26(金) 08:26:46 ]
過去スレ
PrologでまったりPart 2
pc11.2ch.net/test/read.cgi/tech/1102664221/
Prolog でまったり
pc5.2ch.net/test/read.cgi/tech/976462999/
リンク集
www.summa.jp/lang/logic/prolog.htm
bach.istc.kobe-u.ac.jp/prolog/

チュートリアル
www.amzi.com/AdventureInProlog/
computing.unn.ac.uk/staff/cgpb4/prologbook/
www.intranet.csupomona.edu/~jrfisher/www/prolog_tutorial/pt_framer.html
bach.istc.kobe-u.ac.jp/prolog/intro/
www.geocities.jp/m_hiroi/prolog/
www.asahi-net.or.jp/~JF1T-YSD/prologV2/

236 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:52:51 ]
じゃあこれで
en.wikipedia.org/wiki/Operator-precedence_parser
>$ ./parenthesise a \* b + c ^ d / e
>((((a))*((b)))+(((c)^(d))/((e))))


237 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 00:30:01 ]
>>236
それ>188=235へのレス?
演算子順位法なんてコンパイラの本に普通に出てくるんだが。
そんなことも知らないと見下されてるわけか。バカにされたもんだな。
自前でパーズする方法を聞いてるんじゃないってことがなぜ伝わらないのか。
「○○というパーザジェネレータを使うと動的に演算子を追加できる」という情報が
あるなら教えて欲しい、それだけだ。

238 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 01:51:09 ]
ネタってことがなぜ伝わらないのか

239 名前:デフォルトの名無しさん [2008/06/14(土) 11:25:57 ]
後出しジャンケンって嫌われる傾向にある

240 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:10:23 ]
喧嘩腰w

241 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:20:34 ]
>自前でパーズする方法を聞いてるんじゃないってことがなぜ伝わらないのか。
書き方が悪いってことがなぜ伝わらないのか。

242 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:26:15 ]
>>241
少なくとも>235で伝わらないのは読み手の問題だろ。

243 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:48:06 ]
自演までしてネタにマジレスカッコ悪いw
頭悪いんじゃねw

244 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:59:05 ]
>>243 スマン、俺は>>241だがどこが自演なのか教えてくれないか



245 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:04:14 ]
Prologの話しろよクソども

246 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:55:57 ]
>>245
だいべんしてくれてありがとう

247 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:39:19 ]
>>245-246
糞TALK(藁

248 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:44:26 ]


           バカ専用      普通  ハッカー ウィザード
             ┝ - - - - ┿━━━┿━━━┥
   ∩___∩   /)
   | ノ      ヽ  ( i )))
  /  ●   ● | / /
  |    ( _●_)  |ノ /   今はここら辺クマーー!!
 彡、   |∪|    ,/
/    ヽノ   /



249 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:21:02 ]
まったりするスレだってことがなぜ伝わらないのか

250 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:50:56 ]
         2chでスレ荒らし   普通  ハッカー ウィザード
             ┝ - - - - ┿━━━┿━━━┥
   ∩___∩   /)

251 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:36:33 ]
Ubuntu7.1 で
Progol4_4 をmakeするとエラーに
なるのですが、なにかご存知の方、
コメントをください。 
# sudo sh expand.sh
・・・解凍して展開・・・
gcc -O2 -c -o command.o command.c
command.c: In function 'c_interp':
command.c:55: error: 代入として無効な左辺値です
とメッセージがでます。

252 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:53:04 ]
command.c:55: error: 代入として無効な左辺値だってことがなぜ伝わらないのか

253 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 07:07:11 ]
>>252
それは、判るのですが、どうすればいいのでしょうか?

254 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:24:24 ]
左辺値をキャストしちゃダメなんだそうで。
c-faq.com/ptrs/castincr.html
www.kouno.jp/home/c_faq/c4.html#5
> キャスト は変換演算子であって、それは右辺値を生みだすと定義されている。
> 右辺値であるとするなら、代入することも++で足し算することもでき ないことになる
> (pccから派生したコンパイラやgccの拡張機能が上の ような式を受け付けることは例外である)。

書き直す(左辺値用のマクロを用意する?)のが正しいと思うけれど、
gccのオプションをいじればどうにかなるのかも、なんて思ったりして。



255 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:28:15 ]
いや、なんか適当にポインタを取ったりすればいいのかもしれない。適当。

256 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:01:28 ]
しったかぶってただけでしたw

257 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:02:57 ]
>>251
gcc.gnu.org/ml/gcc-help/2007-05/msg00082.html
この人の場合、どうやら古いgccでコンパイルしなおしたらしい。
pagaddedって何かわかんないけど

258 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:45:24 ]
そんなことも知らないと見下されてるわけか。バカにされたもんだな。
そういうことを聞いてるんじゃないってことがなぜ伝わらないのか。
情報があるなら教えて欲しい、それだけだ。

259 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:54:17 ]
> By the way, I'm running the latest version of gcc on a Sunblade 100 workstation.

だからpkgadd(ed)、かな

260 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:42:27 ]
command.c
> CTYPE(cclause)=pdot0;

progol.h
> typedef int BOOL, INT;
> typedef long int LONG;
> typedef double DOUBLE;
> typedef char *STRING;
> typedef char *POINTER;
:
> #define I_GET(i) ((i)->obj)
:
> #define CTYPE(c) ((LONG)I_GET(F_ELEM(2l,(c))))
:
> struct item {
:
> POINTER obj;

世の中間違ってる

261 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:51:16 ]
> #define CTYPE(c) ((LONG)I_GET(F_ELEM(2l,(c))))

#define CTYPE(c) (*(LONG *)&I_GET(F_ELEM(2l,(c))))

こんなんできたっけ

262 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:50:26 ]
            普通      まったり  超まったり dat落ち寸前
             ┝ - - - - ┿━━━━┿━━━━━┥
   ∩___∩   /)

263 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:26:45 ]
>>262
2ちゃんに「普通」なんつー概念はありえねーw

264 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:32:25 ]
自分以外を「2chでスレ荒らし」と言ってる奴だから、対話は成立しないだろ。ほっとけ。



265 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:23:04 ]
Prologって何の問題を解くのに向いているのでしょう?
手続き的な処理には不向きな気がします。
私はこのスレを読んでシステムの用件定義時に個別の用件の妥当性
をチェックするなどに使えるかな?と思っています。
ミナサンはどんな問題を解くのに使われていますか?

ちなみに、Javaや.Netなどから呼び出せたりするPrologってありませんか?

266 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:50:23 ]
kaminari.scitec.kobe-u.ac.jp/PrologCafe/
www.cs.kuleuven.ac.be/~bmd/PrologInJava/

267 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:18:30 ]
>>264
何か誤解されているようですが。

268 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:48:04 ]
P# というのもあります。
homepages.inf.ed.ac.uk/jcook/psharp/psharp-1.1.3/dlpsharp.html
Prolog から C# へのトランスレータということになります。
>>266 にでてくる PrologCafe で書かれています。

269 名前:251 mailto:sage [2008/06/17(火) 02:59:52 ]
皆さんの示唆によりまして、
めでたく、Progolの起動まで漕ぎ着けました。
ひとまず、ありがとうございます。
ひとまずというのは、
>>261 はその通り直したのですが、同様にエラーのでた
(LONG) を「なんか適当にポインタを取ったり」という感じで
コメントアウトしてしまったらうまく行った、ということです。
それでは、問題があるかもしれないから、今日
(LONG)を生かす方法を試みます。


270 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:38:51 ]
>>265
Prologの手続的解釈というのもあります。あくまで、Prologをどう読むかということですが。
プログラマが副作用に着目している以上、深さ優先探索を「悪用」して、
あーやって、つぎにこうやって、という具合に読んでいくことは現実味があります。
関数型ではPrologから影響を受けたErlangが似た構文を持っています。


271 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:37:35 ]
>>261です

piza.2ch.net/tech/kako/968/968727266.html
>1 名前: 厨房エログラマ 投稿日: 2000/09/12(火) 11:54
> unsigned long a = 0xcccccccc;
> (unsigned char)a = 0xff;
> このようなコードをみました。
> VC++で試したところ、拡張子CPPではエラーになりましたが、
> 拡張子Cでは問題なく通り、aの値は 0xccccccff になりました。
> この代入はC言語の規則上では正しいのでしょうか?

>10 名前: >8 投稿日: 2000/09/13(水) 08:15
> ANSIでは(unsigned char)aは左辺値じゃないから代入文の左辺に
> は置けない。これはANSIでは「処理系依存」ではない。

> この記述ができるコンパイラはANSIに従っていない。このため
> VC6も-ZaでこのMS拡張仕様を無効にする手段を用意している。

> gccではコンパイルできるが結果は0xccccccffでなく
> 0x000000ffになる。同様に-ansi -pedanticをつけて厳格に
> ANSIに準拠させるとエラーとなる。

> 言語仕様を(暗記せよとはいわないが)調べるぐらいしたら

sizeof(LONG) == sizeof(POINTER)
という仮定がされている、という仮定をしてしまった気がするとです






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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