• <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>
            隨筆-341  評論-2670  文章-0  trackbacks-0
             
                 摘要: 以前為了開發KFP,特別學習了一下lambda calculus(也就是我的博客的標題啦)。lanbda calculus是一門神奇的語言,在計算機出現之前就已經被搞出來了。這門語言只有三種語法,然后可以用這個語法來構造整數(!!!)、布爾型和很多遞歸數據結構等。

            內含代碼  閱讀全文
            posted @ 2009-05-11 04:30 陳梓瀚(vczh) 閱讀(5416) | 評論 (7)編輯 收藏
                 摘要: 符號表的結構的復雜度跟語言的語義規則的復雜度有關。對于C#來說,每一個符號都附帶了一大堆信息,譬如位置啦,所在的namespace啦,類型啦什么的。對于JavaScript來說,符號表幾乎是不需要的,因為東西都動態了,編譯時幾乎不檢查內容。語義分析的輸出是符號表,代碼生成的輸入是符號表和語法樹。因此語法樹除了放語法相關的內容,語義相關的內容最好放到符號表里面(譬如說表達式的類型啦,語句的scope結果啦)。  閱讀全文
            posted @ 2009-05-10 18:48 陳梓瀚(vczh) 閱讀(7264) | 評論 (1)編輯 收藏
                 摘要: 這篇轉載的文章主要講了為什么寫非工作的代碼的時候,要時不時刁難自己。

            內詳。  閱讀全文
            posted @ 2009-05-09 06:55 陳梓瀚(vczh) 閱讀(3201) | 評論 (0)編輯 收藏
                 摘要: 整整寫了一天,終于基本寫完了CMinus的語義分析的代碼,只剩下一個檢查struct是否可以計算出長度的問題(環引用造成的)。下面貼出語義分析的結果,從結果中可以看出符號表的結構以及構造方法:  閱讀全文
            posted @ 2009-05-06 08:13 陳梓瀚(vczh) 閱讀(3044) | 評論 (4)編輯 收藏
                 摘要: 今天寫了一些CMinus程序供語法分析器分析,然后程序從語法樹重新生成格式化后的代碼,兩邊比較檢查優先級什么的是否正確處理。下面是CMinus寫的冒泡排序、菲薄納氣數列、鏈表操作函數以及其他程序:  閱讀全文
            posted @ 2009-05-04 19:44 陳梓瀚(vczh) 閱讀(1985) | 評論 (1)編輯 收藏
                 摘要: 在實驗了CMinus語法分析器的錯誤處理之后發現一個問題,Combinator Parser返回的錯誤是最上級的錯誤,而不是最底層的錯誤。因此修改了語法分析器的一部分代碼:  閱讀全文
            posted @ 2009-05-04 02:35 陳梓瀚(vczh) 閱讀(1838) | 評論 (1)編輯 收藏
                 摘要: 這一次的語法分析器,我使用Vczh Combinator Parser,按照文法的定義,將字符串轉換成了語法樹。Vczh Combinator Parser構造較大規模的編譯器的時候還是較為吃力,主要原因出在Visual C++竟然限制一個類型全名不能超過某個長度T_T……下面是代碼:  閱讀全文
            posted @ 2009-05-03 19:25 陳梓瀚(vczh) 閱讀(2859) | 評論 (11)編輯 收藏
                 摘要: 今天照著C Minus的語法(略有修改)設計出了C Minus的語法樹。語法樹的設計盡量讓生成語法樹的代碼易于編寫。每一個結構的意義十分明確,而且結構與結構之間不需要有相互聯系。下面是語法樹的代碼:  閱讀全文
            posted @ 2009-04-24 00:58 陳梓瀚(vczh) 閱讀(3086) | 評論 (5)編輯 收藏
                 摘要: 把中間指令都搞定了之后,得開始做一門JIT的腳本引擎了。但是這門腳本引擎不是用來寫的,而是用來給更高級的語言編譯的。這是什么意思呢?雖然我現在寫了個語法分析器,提供了語法樹,但是我的目的是讓我以后設計的更高級的語言可以編譯成這門相對底層的語言,而不是直接編譯成中間指令。這樣很多事情都會好做很多。

            這一門語言主要模仿C,提供指針、結構、數組、基本類型和函數指針。還有extern函數做外部鏈接用。因為編譯成機器碼,所以可以直接把一個函數指針丟進我的腳本引擎,就可以這么用了。而且我的腳本里面的函數也可以直接作為一個函數指針提供出來。復合類型組要勇于跟C++交互。在C++與腳本里面聲明同樣的struct,不需要做額外工作,就可以互相使用了。
              閱讀全文
            posted @ 2009-04-18 00:17 陳梓瀚(vczh) 閱讀(3177) | 評論 (7)編輯 收藏
                 摘要:
            FPU寫起來還真是囧啊,下面20個函數實現到想死……
            Sin,Cos,Tan,Cot,Sec,Csc,ASin,ACos,ATan,ACot,ASec,ACsc,Sqrt,Exp,Ln,Abs,Round,Trunc,Ceil,Floor
            下面是這20個函數的匯編代碼,其中Exp更是登峰造極……  閱讀全文
            posted @ 2009-04-16 05:39 陳梓瀚(vczh) 閱讀(4926) | 評論 (3)編輯 收藏
            僅列出標題
            共35頁: First 16 17 18 19 20 21 22 23 24 Last 
            久久综合伊人77777麻豆| 久久亚洲精品中文字幕| 国产欧美久久一区二区| 精品久久久久久无码专区| 免费国产99久久久香蕉| 久久综合视频网| 久久―日本道色综合久久| 国产亚洲色婷婷久久99精品91| 亚洲伊人久久综合中文成人网| 国产一级做a爰片久久毛片| 久久久久人妻一区精品| 精品午夜久久福利大片| 久久久久久一区国产精品| 麻豆亚洲AV永久无码精品久久| 久久久久18| 人人狠狠综合久久亚洲婷婷| 狠狠综合久久AV一区二区三区| 91精品国产91热久久久久福利| 国产成年无码久久久久毛片 | 亚洲人成电影网站久久| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 久久国产劲爆AV内射—百度| 热RE99久久精品国产66热| 狠狠综合久久综合中文88| 人妻少妇久久中文字幕| 中文字幕无码久久人妻| 久久er国产精品免费观看8| 久久电影网2021| 2021精品国产综合久久| 久久精品国产99国产精偷| 日韩乱码人妻无码中文字幕久久| 久久久久久久综合狠狠综合| 久久99久久无码毛片一区二区| 久久美女人爽女人爽| 2020久久精品国产免费| 久久AV高清无码| 国内精品久久久人妻中文字幕| 国产毛片欧美毛片久久久 | 香蕉久久夜色精品国产尤物| 久久久久国产一区二区三区| 国产精品免费久久|