Re: [情報] C++大師認證
※ 引述《yoco315 (眠月)》之銘言:
: 換我來問問題了 XD
: 正在 parse pp-number,但是文法上有點小問題
: 根據他給的文法,pp-number 的定義是:
: pp-number:
: digit
: '.' digit
: pp-number digit
: pp-number identifer-nondigit
: pp-number 'e' sign
: pp-number 'E' sign
: pp-number '.'
: 我直觀的看後面五個,
: 看起來就是 pp-number 後面可以無限制的接這五種東西一直長下去,
: 所以是不是等價於這個 regex
: ([0-9.] | [eE][+-] | identifier-nondigit)*
: 然後前面的開頭可以是 digit 或 '.' digit
: 前面那兩個可以寫成
: \.?[0-9]
: 整個就是
: \.?[0-9]([0-9.] | [eE][+-] | identifier-nondigit)*
: 好,我的問題來了,
: 根據他範例給的一個 1.0e2
: 這東西完全無法被他給的規則 parse 阿!
1.0e2 pp-number
1.0 e 2 pp-number 'e' sign (rule 4)
1. 0 e 2 pp-number digit 'e' sign (rule 1)
1 . 0 e 2 pp-number '.' digit 'e' sign (rule 6)
digit '.' digit 'e' sign (rule 0)
可 parse 無誤
正規表示式怎麼分析忘記了, 我要去查一下書XD
不過你那個 regex 肯定是不等價的, 1.02e 這種東西會被允許, 但是標準是不行
--
作者 Linux (Windows) 看板 C_and_CPP
標題 [問題] 如何確認是否 free 對記憶體
時間 Fri Nov 2 00:14:03 2012
→
11/02 00:43,
11/02 00:43
→
11/02 00:44,
11/02 00:44
→
11/02 00:45,
11/02 00:45
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146
※ 編輯: uranusjr 來自: 114.32.81.146 (02/26 22:57)
推
02/26 22:58, , 1F
02/26 22:58, 1F
→
02/26 22:59, , 2F
02/26 22:59, 2F
→
02/26 22:59, , 3F
02/26 22:59, 3F
→
02/26 22:59, , 4F
02/26 22:59, 4F
→
02/26 23:08, , 5F
02/26 23:08, 5F
→
02/26 23:12, , 6F
02/26 23:12, 6F
→
02/26 23:12, , 7F
02/26 23:12, 7F
→
02/26 23:12, , 8F
02/26 23:12, 8F
→
02/26 23:13, , 9F
02/26 23:13, 9F
→
02/26 23:20, , 10F
02/26 23:20, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文:
情報
0
8
完整討論串 (本文為第 8 之 29 篇):
情報
12
23
情報
4
15
情報
1
3
情報
4
8
情報
8
14
情報
1
10
情報
0
8
情報
9
24