Re: [問題] 引用直譯語言的parser?

看板LinuxDev作者 (piercing buddy?)時間16年前 (2009/01/09 16:22), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《dozer (rezod)》之銘言: : 比如說 我想要在一個類似resource file裡面給expression : e.g. : [resource.rc] : alpha = foo : beta = alpha*10+300 : EOF : 我希望我的程式在讀這個input的時候 : 可以evaluate這個expression : 也就是beta最後應該是 'foo*10+300' 計算後的結果 : 但是如果要自己寫parser又覺得像是重新發明輪子 : 有沒有人知道怎麼把python之類的直譯語言 : 的parser直接拿來用呀? 還是這樣其實會更麻煩? 自己回。 現在是用embedded Python,非常的簡單好用!!! Python的C API非常完整(如果你用的是C Python,整個interpreter 本來就是用C寫的,對C的支援度當然好)之前有試著自己用Flex/Bison 寫parser,雖然寫的出來,但改起來真的很花時間;加上本身沒有實做 程式語言直譯器/編譯器的經驗,幾乎是矇著眼睛在做。直接引用現成的 interpreter的好處就是彈性大,好學,而且extend起來也真的容易 很多(我現在整個app是C/Python混著寫,超方便!) 有興趣可以參考官方文件 Python/C API Reference Manual http://docs.python.org/c-api/index.html Extending and Embedding the Python Interpreter http://docs.python.org/extending/index.html -- Westheimer's Discovery: A couple of months in the laboratory can frequently save a couple of hours in the library. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.94.118 ※ 編輯: dozer 來自: 140.114.94.118 (01/09 16:23)

01/09 19:54, , 1F
p.s. 這邊的embed跟嵌入式系統的embed是不同低XD
01/09 19:54, 1F

01/10 13:14, , 2F
應該是一樣的意思吧..
01/10 13:14, 2F

01/10 13:14, , 3F
差別是對象不同而已?
01/10 13:14, 3F

01/10 22:36, , 4F
對低:P
01/10 22:36, 4F

01/10 22:37, , 5F
只是怕有人以為是嵌在嵌入式系統的Python^^;;;
01/10 22:37, 5F

01/13 04:08, , 6F
"internal DSL"
01/13 04:08, 6F

01/14 09:41, , 7F
感覺是很大的學問................
01/14 09:41, 7F
文章代碼(AID): #19Pmb1ee (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #19Pmb1ee (LinuxDev)