青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評論-2670  文章-0  trackbacks-0
    今天不小心看到了http://www.antlr.org/works/index.html,我一直認(rèn)為ANTLR是LR(k)分析器,后來我錯了,原來只是LL(k)。我以前寫的一個Vczh Syngram是LR(k)的畸形,今天看了居然連LL(k)都能有GUI,我不做一個豈不是對不起自己?

    Vczh Syngram是一個在C++下面用的編譯器的語法分析框架,只需要在C++代碼里面寫上文法,到時候initialize出一個接口來就可以幫你搞定語法分析了。當(dāng)然分析完要生成語法樹還是什么的是由你決定的。不過雖然現(xiàn)在寫編譯器的語法分析只要syngram+文法,但是調(diào)試起來還是比較囧的。ANTLRWorks的想法真是好啊,GUI封裝完了之后我就做一個Vczh Syngram的圖形界面來當(dāng)demo吧,一舉兩得。到時候這個demo產(chǎn)生使用Vczh Syngram的一部分代碼,爽啊。Vczh Free Script 2.0的代碼文件里就有一個文件是調(diào)用Vczh Syngram的文法代碼。

    今天某空明跟我說我的Vczh Syngram沒文檔害他只能用yacc寫一個軟件渲染器用的shader compiler。有了GUI之后,連文檔都免了吧。嘿嘿。等最近GUI封裝完之后,就把這個程序?qū)懥耍材苡猛ㄋ滓锥姆椒▉砀嬖V別人我這套框架是怎么用的。

    話說Vczh Syngram在開發(fā)的時候為了檢查出文法的歧義花了一個星期的時間未果,因為LALR實在是不能用,用了在分析之后就很難還原出到底分析的這條路是調(diào)用了什么文法,文法綁定的工作也就非常不好做了。于是我換了一種辦法,我輸出所有歧義的可能就行了。后來發(fā)現(xiàn)輸出歧義比檢查文法好多了,因為有些時候我們需要歧義才能解決問題。我自己有過一個叫Gotalk的殘廢腳本,后來沒公開出來,也沒有完成所有代碼。這個腳本是這樣子的:

phrase max of (number1 is integer) and (number2 is integer) returns integer
  if number1 is larger than number2 then
    return number1
  else
    return number2
  end if
end phrase

phrase max of(number1 is integer),(number2 is integer) and (number3 is integer)returns integer
  return max of max of number1 and number2 and number3
end phrase

//下面這些是外接函數(shù)定義,由虛擬機處理
external phrase print (text as string) links "print"
external pharse input returns string links "input"

//下面是主函數(shù),輸入3個數(shù)字輸出最大那個
phrase main
  define n1 , n2 , n3 as integer
  let n1 be integer of input
  let n2 be integer of input
  let n3 be integer of input
  print string of max of n1,n2 and n3
end phrase

    在處理這個語法的時候,我的程序第一次掃描文件的時候動態(tài)組織文法給syngram,第二次用syngram給出結(jié)果。這個時候我需要歧義,因為我可以在歧義里面排除所有不能通過類型檢查的結(jié)果,最終獲得用戶所希望的表達方法。后來基本上是弄出來了,但是經(jīng)過調(diào)查發(fā)現(xiàn)其實不會有什么人用的,實際上是因為英語跟程序相差太遠了,很多概念我重組了別人不一定能夠接受。不過這是DSL語言所向往的一種辦法。本來這門語言里面還支持從句(也就是平常見到的lambda expression),還有類啊繼承什么的。函數(shù)根據(jù)參數(shù)在不同的位置還自動獲得優(yōu)先級,能寫出類似sin of a,或者干脆定義運算符| a |計算絕對值也行,甚至還能寫a is a prime number(譬如判斷a是不是質(zhì)數(shù)if a is a prime number then...)。懶得寫大代碼展示了。什么時候無聊了再重新寫一個好一點的。到時候跟Vczh Free Script共享后端虛擬機,就可以實現(xiàn)互相調(diào)用并共享類庫了,爽啊。

    有了Syngram,做編譯器還是很方便的,可以將精力花在后端上。前端不應(yīng)該由人來完成。
posted on 2008-08-14 05:21 陳梓瀚(vczh) 閱讀(1643) 評論(2)  編輯 收藏 引用 所屬分類: C++

評論:
# re: Vczh GUI Framework取材決定 2008-08-14 06:52 | 沈臻豪(foxtail)
囧~~沒完沒了了。  回復(fù)  更多評論
  
# re: Vczh GUI Framework取材決定 2008-08-14 08:58 | 空明流轉(zhuǎn)
行了,等你的GUI出來我的SASL估計也完工了。
那個時候再用你的Syngram搞一個吧。
一開始盼盼以為我要用你的syngram,然后我跟你說這事的時候你又沒啥反應(yīng)。  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久水蜜桃av免费网站| 午夜精品视频在线观看一区二区| 久久亚洲色图| 久久精品国产精品亚洲综合 | 国产女人水真多18毛片18精品视频| 欧美日韩中文在线| 国产精品免费网站在线观看| 国产精品sss| 国产日产欧产精品推荐色| 国产一区二区观看| 亚洲国产精品电影在线观看| 日韩一区二区精品在线观看| 亚洲欧美日韩国产综合| 久久久久一区二区三区| 欧美激情第二页| 一区二区91| 久久精品国产清自在天天线| 欧美激情二区三区| 免费在线观看一区二区| 欧美伦理91i| 国产精品久久久久久久9999| 国产欧美日韩在线播放| 亚洲国产日韩在线| 午夜视频精品| 亚洲第一精品夜夜躁人人躁| 亚洲精品一区二区在线观看| 亚洲综合丁香| 嫩草影视亚洲| 国产亚洲精品久久久久动| 亚洲精品三级| 久久精品中文| 亚洲综合色自拍一区| 欧美成人一区二免费视频软件| 欧美日韩综合久久| 亚洲国产成人精品久久久国产成人一区| 99国产精品自拍| 久久久久久久成人| 一区二区冒白浆视频| 欧美成人精品影院| 国产主播精品在线| 亚洲午夜久久久久久久久电影院 | 亚洲国产一区二区视频| 性做久久久久久免费观看欧美| 免费不卡视频| 国内精品视频久久| 欧美日韩成人一区二区三区| 国产亚洲欧美一区在线观看| 亚洲视频你懂的| 亚洲国产精品视频| 久久午夜精品一区二区| 国产日韩一区在线| 久久精品免费| 久久国产88| 国产一级揄自揄精品视频| 午夜精品www| 亚洲色图综合久久| 欧美日韩亚洲系列| 亚洲视频日本| 夜夜精品视频一区二区| 欧美精品日韩一本| 亚洲免费大片| 99re6这里只有精品视频在线观看| 免费久久99精品国产自在现线| 狠狠久久婷婷| 欧美成人综合网站| 媚黑女一区二区| 日韩亚洲欧美综合| 夜夜嗨av一区二区三区四季av| 欧美日韩国产综合久久| 亚洲永久在线| 先锋影音网一区二区| 国产日韩精品综合网站| 久久久精品午夜少妇| 久久精品国产成人| 亚洲片在线观看| 亚洲高清自拍| 美日韩精品免费| 久久在线91| 亚洲激情网站免费观看| 欧美电影免费观看网站| 欧美成人69av| 一区二区三区黄色| 一区二区黄色| 国产日韩一区二区三区| 久久亚洲综合| 欧美精品在线免费观看| 亚洲一区二区黄| 午夜精品亚洲| 亚洲人成在线观看| 亚洲一区二区精品在线| 国内精品美女av在线播放| 欧美韩国在线| 国产精品久久久久三级| 久久久亚洲一区| 欧美极品欧美精品欧美视频| 香蕉成人啪国产精品视频综合网| 久久久91精品| 亚洲无人区一区| 久久久久久**毛片大全| 一区二区三区欧美成人| 欧美在线观看天堂一区二区三区| 亚洲动漫精品| aaa亚洲精品一二三区| 一区二区三区欧美成人| 伊人久久大香线| 亚洲最黄网站| 91久久精品国产91久久| 亚洲中字黄色| 正在播放亚洲一区| 久久婷婷国产综合国色天香| 亚洲影院在线| 欧美日韩18| 欧美电影在线| 今天的高清视频免费播放成人| 日韩午夜精品视频| 亚洲欧洲在线播放| 久久精品国产77777蜜臀| 亚洲在线观看视频网站| 欧美精品国产精品日韩精品| 久久嫩草精品久久久精品一| 欧美视频在线一区二区三区| 欧美国产日本| 激情婷婷久久| 先锋影音国产一区| 欧美一区二区啪啪| 欧美手机在线| 亚洲伦理久久| 9l国产精品久久久久麻豆| 久久伊人亚洲| 久久综合色影院| 国产区在线观看成人精品| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美亚洲视频在线看网址| 日韩亚洲欧美一区| 久久精品人人做人人综合| 亚洲欧美在线一区二区| 欧美日韩亚洲国产一区| 亚洲精品一二区| 一区二区三区日韩欧美精品| 欧美激情一区二区三区四区| 欧美激情在线免费观看| 91久久久精品| 欧美日本高清一区| 一区二区三区四区五区精品| 亚洲天堂网在线观看| 欧美性猛交99久久久久99按摩| 洋洋av久久久久久久一区| 亚洲女优在线| 国内偷自视频区视频综合| 久久精品一区二区三区不卡| 蜜桃av一区二区| 亚洲精品看片| 欧美日一区二区三区在线观看国产免| 亚洲精品欧洲| 亚洲自拍16p| 国产亚洲欧美一区二区| 久久久精品一区| 欧美成人中文| 亚洲一区二区三区免费观看| 国产精品嫩草影院av蜜臀| 久久电影一区| 亚洲电影视频在线| 亚洲深夜av| 国产一区二区成人| 欧美成人免费播放| 亚洲欧美一区二区三区久久| 快she精品国产999| 久久手机免费观看| 亚洲国产精品一区二区尤物区| 99亚洲视频| 国产日韩在线播放| 免费中文日韩| 亚洲欧美日韩高清| 亚洲第一精品久久忘忧草社区| 亚洲一区在线视频| 一区在线免费观看| 欧美日韩理论| 久久久精品一区| 一本不卡影院| 久久中文欧美| 亚洲免费在线视频| 亚洲高清一区二| 国产精品久久久久久久午夜片| 欧美一区二区在线免费观看| 欧美激情1区| 欧美在线视频播放| 日韩午夜av| 在线观看精品一区| 国产日本欧美一区二区三区| 欧美激情视频在线播放| 欧美一区二区日韩| 99re6这里只有精品视频在线观看| 美女精品视频一区| 午夜综合激情| 亚洲视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品永久免费观看| 久久综合九色综合久99| 中日韩美女免费视频网址在线观看| 久久久免费av|