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

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

    Vczh Syngram是一個在C++下面用的編譯器的語法分析框架,只需要在C++代碼里面寫上文法,到時候initialize出一個接口來就可以幫你搞定語法分析了。當然分析完要生成語法樹還是什么的是由你決定的。不過雖然現(xiàn)在寫編譯器的語法分析只要syngram+文法,但是調(diào)試起來還是比較囧的。ANTLRWorks的想法真是好啊,GUI封裝完了之后我就做一個Vczh Syngram的圖形界面來當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給出結果。這個時候我需要歧義,因為我可以在歧義里面排除所有不能通過類型檢查的結果,最終獲得用戶所希望的表達方法。后來基本上是弄出來了,但是經(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,做編譯器還是很方便的,可以將精力花在后端上。前端不應該由人來完成。
posted on 2008-08-14 05:21 陳梓瀚(vczh) 閱讀(1643) 評論(2)  編輯 收藏 引用 所屬分類: C++

評論:
# re: Vczh GUI Framework取材決定 2008-08-14 06:52 | 沈臻豪(foxtail)
囧~~沒完沒了了。  回復  更多評論
  
# re: Vczh GUI Framework取材決定 2008-08-14 08:58 | 空明流轉(zhuǎn)
行了,等你的GUI出來我的SASL估計也完工了。
那個時候再用你的Syngram搞一個吧。
一開始盼盼以為我要用你的syngram,然后我跟你說這事的時候你又沒啥反應。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情在线狂野欧美精品| 欧美一级在线播放| 另类人畜视频在线| 欧美一区二区免费| 午夜精品久久久久久久99黑人| 亚洲日本成人女熟在线观看| 91久久精品国产91久久性色tv| 欧美sm视频| 日韩视频国产视频| 性感少妇一区| 久久青草欧美一区二区三区| 久久天天躁夜夜躁狠狠躁2022 | 亚洲精品国产精品久久清纯直播| 亚洲国产精品视频一区| 夜夜狂射影院欧美极品| 先锋影音一区二区三区| 久久女同精品一区二区| 欧美日韩国产123| 国产精品一二三| 在线观看亚洲视频啊啊啊啊| 日韩一级在线| 久久久国产精品亚洲一区| 欧美激情成人在线视频| 在线视频免费在线观看一区二区| 欧美一区二区高清| 欧美日本免费一区二区三区| 国色天香一区二区| 亚洲桃花岛网站| 欧美波霸影院| 亚洲综合精品四区| 制服丝袜激情欧洲亚洲| 激情久久影院| 亚洲一区三区在线观看| 亚洲第一精品夜夜躁人人爽| 亚洲一区在线免费| 欧美激情一区二区三区全黄 | 欧美日韩精品在线| 黄色亚洲在线| 亚洲在线电影| 亚洲高清三级视频| 久久久久久**毛片大全| 国产欧美一区二区三区国产幕精品 | 亚洲一区二区免费看| 欧美国产三区| 久久婷婷一区| 一区二区三区在线观看国产| 亚洲欧美日韩一区| 一本色道久久88综合日韩精品| 欧美国内亚洲| 91久久线看在观草草青青| 狂野欧美性猛交xxxx巴西| 亚洲欧美激情在线视频| 欧美午夜精品久久久| 日韩午夜在线| 亚洲人成在线观看网站高清| 女主播福利一区| 亚洲国产综合91精品麻豆| 免费欧美在线| 欧美成人免费网| 亚洲精品综合精品自拍| 亚洲国产日韩欧美一区二区三区| 老司机午夜精品视频在线观看| 伊人天天综合| 蜜臀99久久精品久久久久久软件 | 亚洲九九精品| 欧美日韩第一区| 中文一区二区在线观看| 夜夜爽www精品| 国产精品视频免费一区| 久久国产精品黑丝| 久久久国产一区二区| 亚洲第一视频网站| 亚洲欧洲久久| 国产精品高清在线| 久久精品免视看| 麻豆久久精品| 在线一区二区视频| 亚洲欧美日韩国产一区| 国内精品美女av在线播放| 女同性一区二区三区人了人一| 美日韩免费视频| 亚洲视频图片小说| 欧美一级大片在线免费观看| 伊人精品视频| 亚洲影院在线观看| 亚洲三级视频在线观看| 亚洲国产天堂久久综合网| 欧美深夜影院| 久久久久99精品国产片| 美女主播一区| 午夜精品福利一区二区三区av | 欧美在线看片| 亚洲精品日韩久久| 午夜国产精品视频| 亚洲精品人人| 久久成人一区| 一区二区三区欧美成人| 欧美在线综合| 一区二区三区精品在线| 久久激情网站| 亚洲午夜伦理| 久久最新视频| 久久国产一区| 欧美日韩精品二区| 麻豆freexxxx性91精品| 欧美日韩小视频| 欧美电影在线播放| 国产午夜精品一区二区三区视频| 亚洲国内自拍| 永久免费视频成人| 亚洲欧美在线看| 亚洲午夜久久久久久久久电影院 | 欧美激情第4页| 国产视频亚洲| 夜夜爽www精品| 亚洲美女电影在线| 久久在线观看视频| 久久久噜噜噜久噜久久| 国产精品亚洲视频| 一区二区高清视频| 亚洲免费av观看| 免费日韩视频| 欧美国产第二页| 亚洲第一精品在线| 久久久一本精品99久久精品66| 欧美一区二区三区在线视频 | 国产精品一区二区你懂的| 亚洲茄子视频| 日韩午夜精品视频| 欧美国产日韩在线| 欧美国产三级| 最新亚洲电影| 欧美大片一区二区三区| 欧美成人免费播放| 亚洲福利专区| 男女av一区三区二区色多| 免费日韩成人| 亚洲国产小视频在线观看| 久久免费偷拍视频| 欧美福利视频在线观看| 亚洲欧洲日夜超级视频| 欧美国产日本在线| 亚洲三级视频| 国产欧美亚洲视频| 老司机精品视频网站| 国产综合久久久久久鬼色| 香蕉成人伊视频在线观看| 久久精品成人欧美大片古装| 国产欧美亚洲日本| 久久女同精品一区二区| 亚洲国产精品成人| 一区二区三区日韩欧美精品| 国产精品h在线观看| 亚洲欧美日韩一区二区三区在线观看 | 两个人的视频www国产精品| 黄色工厂这里只有精品| 久久一区二区三区四区| 亚洲国产美女| 亚洲你懂的在线视频| 国产午夜精品久久久| 老司机久久99久久精品播放免费 | 91久久极品少妇xxxxⅹ软件| 欧美日韩国产影片| 亚洲专区欧美专区| 免费在线欧美黄色| 亚洲少妇一区| 国内精品一区二区| 欧美日韩成人在线播放| 欧美亚洲尤物久久| 亚洲欧洲综合另类在线| 久久av最新网址| 亚洲精品乱码| 国产视频久久| 欧美精品少妇一区二区三区| 香港久久久电影| 亚洲精品乱码久久久久久日本蜜臀| 亚洲天堂男人| 激情av一区| 国产精品v欧美精品∨日韩| 久久久久久穴| 亚洲欧美美女| 日韩一区二区免费高清| 免费观看成人鲁鲁鲁鲁鲁视频| 一区二区三区波多野结衣在线观看| 国产亚洲一区二区精品| 欧美日韩亚洲国产精品| 久久躁日日躁aaaaxxxx| 亚洲自拍偷拍一区| 99re6这里只有精品| 欧美成人精品福利| 久久久蜜桃精品| 欧美亚洲在线播放| 亚洲伦理一区| 亚洲韩国日本中文字幕| 国产亚洲午夜| 国产女人aaa级久久久级| 欧美人妖另类| 欧美国产91| 老牛嫩草一区二区三区日本| 欧美在线视频a|