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

隨筆-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出一個接口來就可以幫你搞定語法分析了。當然分析完要生成語法樹還是什么的是由你決定的。不過雖然現在寫編譯器的語法分析只要syngram+文法,但是調試起來還是比較囧的。ANTLRWorks的想法真是好啊,GUI封裝完了之后我就做一個Vczh Syngram的圖形界面來當demo吧,一舉兩得。到時候這個demo產生使用Vczh Syngram的一部分代碼,爽啊。Vczh Free Script 2.0的代碼文件里就有一個文件是調用Vczh Syngram的文法代碼。

    今天某空明跟我說我的Vczh Syngram沒文檔害他只能用yacc寫一個軟件渲染器用的shader compiler。有了GUI之后,連文檔都免了吧。嘿嘿。等最近GUI封裝完之后,就把這個程序寫了,也能用通俗易懂的方法來告訴別人我這套框架是怎么用的。

    話說Vczh Syngram在開發的時候為了檢查出文法的歧義花了一個星期的時間未果,因為LALR實在是不能用,用了在分析之后就很難還原出到底分析的這條路是調用了什么文法,文法綁定的工作也就非常不好做了。于是我換了一種辦法,我輸出所有歧義的可能就行了。后來發現輸出歧義比檢查文法好多了,因為有些時候我們需要歧義才能解決問題。我自己有過一個叫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

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

//下面是主函數,輸入3個數字輸出最大那個
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

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

    有了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 | 空明流轉
行了,等你的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>
            亚洲精品1区2区| 一区二区三区国产| 国产自产精品| 国产精品一级久久久| 国产精品一二一区| 黄网动漫久久久| 亚洲激情视频在线| 在线视频欧美日韩精品| 亚洲欧美视频在线观看视频| 久久国产婷婷国产香蕉| 久久精品国产精品亚洲精品| 牛人盗摄一区二区三区视频| 亚洲人成毛片在线播放| 亚洲一区久久| 久久久噜噜噜| 欧美另类在线播放| 国产亚洲精品自拍| 亚洲精品视频中文字幕| 午夜欧美不卡精品aaaaa| 久久五月婷婷丁香社区| 亚洲国产天堂久久综合网| 亚洲欧美不卡| 嫩草伊人久久精品少妇av杨幂| 国产精品xxxxx| 亚洲国产综合视频在线观看| 91久久香蕉国产日韩欧美9色| 欧美日韩中文在线| 国产婷婷色一区二区三区四区| 亚洲国产午夜| 久久国内精品视频| 亚洲精品美女在线观看| 欧美一区二区视频观看视频| 欧美日韩国产小视频| 韩国一区二区三区美女美女秀| 亚洲视频你懂的| 另类尿喷潮videofree| 亚洲一区www| 欧美精品日本| 一区二区在线不卡| 午夜在线精品| 一本色道久久综合亚洲二区三区| 久久人人97超碰精品888 | 久久一区中文字幕| 亚洲图色在线| 久久久人成影片一区二区三区观看 | 夜夜嗨一区二区| 蜜桃av噜噜一区二区三区| 国产女精品视频网站免费| 一区二区三区**美女毛片 | 黄色日韩在线| 欧美一区在线视频| 国产精品99久久久久久久久久久久| 久久一区二区三区四区五区| 国产亚洲精久久久久久| 欧美一区二区三区免费观看| 99精品视频免费| 欧美视频一二三区| 亚洲视屏在线播放| 夜夜嗨av一区二区三区免费区| 欧美乱妇高清无乱码| 亚洲免费观看视频| 日韩视频在线你懂得| 欧美日韩在线播放三区| 亚洲午夜精品久久久久久浪潮 | 久久综合999| 亚洲福利视频免费观看| 欧美激情aⅴ一区二区三区| 免费亚洲电影在线| 一本色道久久综合亚洲精品小说| 亚洲人妖在线| 欧美日韩一区二区在线| 亚洲在线一区二区三区| 午夜电影亚洲| 在线看片一区| 亚洲国产精品热久久| 欧美日韩成人综合在线一区二区| 亚洲一区二区三区免费观看 | 99xxxx成人网| 欧美午夜不卡视频| 欧美影院在线| 久久夜色精品国产亚洲aⅴ| 亚洲精品免费一区二区三区| 一本久道久久综合中文字幕 | 亚洲影视在线播放| 午夜久久黄色| 亚洲人成久久| 亚洲婷婷综合久久一本伊一区| 国产在线高清精品| 亚洲第一页中文字幕| 欧美午夜影院| 欧美不卡视频一区| 欧美日精品一区视频| 久久精品国产在热久久| 欧美~级网站不卡| 欧美一级欧美一级在线播放| 欧美激情精品久久久久久变态| 欧美激情在线免费观看| 性久久久久久| 欧美成人午夜77777| 欧美一区二区三区久久精品| 嫩草成人www欧美| 久久久久久久一区| 欧美三级黄美女| 免费美女久久99| 国产精品日韩高清| 亚洲精品在线视频观看| 在线观看欧美| 亚洲欧美综合国产精品一区| 一区二区三区**美女毛片| 亚洲国产精品一区二区第四页av | 日韩亚洲欧美中文三级| 国内成人精品一区| 一本色道久久综合亚洲二区三区| 一区免费视频| 欧美一级久久久| 亚洲天堂男人| 欧美精品日韩| 亚洲高清电影| 亚洲黄色尤物视频| 久久九九精品99国产精品| 亚洲欧美日本伦理| 欧美日韩免费在线| 亚洲国产精品一区二区第四页av | 亚洲高清精品中出| 在线观看91久久久久久| 性欧美xxxx视频在线观看| 亚洲欧美日韩一区在线| 欧美日韩精品一二三区| 亚洲高清视频的网址| 亚洲电影免费观看高清| 久久久久久综合| 久久在线免费观看| 国内精品久久久久影院薰衣草| 亚洲欧美精品伊人久久| 西西裸体人体做爰大胆久久久| 欧美日韩精品| 一本色道久久88亚洲综合88| 国内久久视频| 欧美专区在线播放| 久久久久久9999| 国内一区二区三区在线视频| 欧美影院在线播放| 免费不卡在线观看av| 亚洲国产高清一区| 欧美jjzz| 日韩系列欧美系列| 欧美一级精品大片| 黄色小说综合网站| 蜜桃久久av一区| 亚洲美女在线一区| 欧美一级久久久久久久大片| 国产一区二区精品久久99| 久久精品国产第一区二区三区| 免费在线成人| 一区二区三区四区精品| 国产精品久久久久久亚洲调教| 午夜精品久久| 99视频精品在线| 蜜臀a∨国产成人精品| 国产一区久久久| 久久亚洲私人国产精品va媚药| 欧美国产成人在线| 亚洲午夜一区二区三区| 国产精品综合色区在线观看| 久久精品亚洲乱码伦伦中文 | 久久精品夜色噜噜亚洲a∨ | 国产精品激情偷乱一区二区∴| 亚洲成人资源| 美女网站在线免费欧美精品| 亚洲第一级黄色片| 免费日韩视频| 国产视频一区在线观看| 亚洲欧洲另类国产综合| 亚洲一二三区精品| 国产一区二区成人| 欧美美女bbbb| 久久精品亚洲| 日韩特黄影片| 欧美+日本+国产+在线a∨观看| aⅴ色国产欧美| 国产农村妇女精品一二区| 男女激情久久| 欧美伊久线香蕉线新在线| 亚洲精品123区| 久久夜色精品国产欧美乱极品| 中文在线一区| 亚洲日本在线观看| 欧美亚州韩日在线看免费版国语版| 久久久免费av| 午夜精品亚洲一区二区三区嫩草| 欧美国产日本高清在线| 久久gogo国模啪啪人体图| 日韩亚洲不卡在线| 亚洲高清一区二区三区| 国产深夜精品| 欧美日韩在线一区| 欧美黄色免费网站| 蜜臀av性久久久久蜜臀aⅴ| 午夜精品婷婷| 亚洲综合国产激情另类一区|