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

隨筆-341  評論-2670  文章-0  trackbacks-0
    把中間指令都搞定了之后,得開始做一門JIT的腳本引擎了。但是這門腳本引擎不是用來寫的,而是用來給更高級的語言編譯的。這是什么意思呢?雖然我現(xiàn)在寫了個語法分析器,提供了語法樹,是我的目的是讓我以后設計的更高級的語言可以編譯成這門相對底層的語言(從一棵語法樹轉換成另一棵語法樹),而不是直接編譯成中間指令。這樣很多事情都會好做很多。

    這一門語言主要模仿C,提供指針、結構、數(shù)組、基本類型和函數(shù)指針。還有extern函數(shù)做外部鏈接用。因為編譯成機器碼,所以可以直接把一個函數(shù)指針丟進我的腳本引擎,就可以這么用了。而且我的腳本里面的函數(shù)也可以直接作為一個函數(shù)指針提供出來。復合類型組要勇于跟C++交互。在C++與腳本里面聲明同樣的struct,不需要做額外工作,就可以互相使用了。

    語法如下:
  1 Vczh JIT Native Language
  2 -----------------------------------------
  3 基本數(shù)據(jù)類型:
  4 
  5 [signed|unsigned]byte
  6 [signed|unsigned]short
  7 [signed|unsigned]int
  8 char
  9 wchar
 10 float
 11 double
 12 bool
 13 
 14 復合類型:
 15 
 16 TYPE*
 17 TYPE[LENGTH]
 18 TYPE(TYPE,)
 19 void(TYPE,)
 20 
 21 結構類型:
 22 struct
 23 {
 24   TYPE NAME;
 25   
 26 }
 27 -----------------------------------------
 28 表達式:
 29 
 30 數(shù)字、浮點、字符、寬字符、truefalsenull(指針,函數(shù)指針)
 31 操作符表達式
 32 (表達式)
 33 VALUE(VALUE,)
 34 TYPE(VALUE)
 35 NAME
 36 -----------------------------------------
 37 操作符:
 38 
 39 + - * /        :int X int = int
 40                :float X int = float
 41         :int X float = float
 42         :float X float = float
 43         :ptr X int = ptr(+ -)
 44         :int X ptr = ptr(+ -)
 45 
 46 & | ^ %        :int X int = int
 47 
 48 && || ^^    :int X int = bool
 49 
 50 < > == <= >= !=    :int X int = bool
 51         :float X float = bool
 52         :ptr X ptr = bool
 53 
 54 -        :X int = int
 55         :X float = float
 56 
 57 ~        :X int = int
 58 
 59 !        :X int = float
 60 
 61 &        :X VALUE,獲取指針
 62 
 63 *        :X PTR,獲取內容
 64 
 65 X[Y]        :數(shù)組、指針
 66 -----------------------------------------
 67 對象聲明:
 68 
 69 TYPE NAME
 70 TYPE NAME=VALUE
 71 const TYPE NAME=VALUE
 72   數(shù)組:{VALUE,}
 73   結構:{NAME=VALUE,},必須全員賦值
 74 -----------------------------------------
 75 語句:
 76 
 77 對象聲明
 78 
 79 表達式
 80 左值=表達式
 81 
 82 if (bool) 語句塊[else 語句]
 83 if (bool) 語句;[else 語句]
 84 while (bool) 語句
 85 do 語句 while (bool)
 86 {語句;}
 87 
 88 break
 89 continue
 90 return 表達式
 91 return
 92 空語句
 93 -----------------------------------------
 94 函數(shù):
 95 
 96 TYPE NAME(TYPE NAME,){語句;}
 97 void NAME(TYPE NAME,){語句;}
 98 extern TYPE NAME(TYPE,) alias "KEY";
 99 extern void NAME(TYPE,) alias "KEY";
100 -----------------------------------------
101 類型聲明:
102 
103 typedef TYPE NAME
104 -----------------------------------------
105 程序:
106 
107 類型聲明;
108 對象聲明;
109 函數(shù)
110 -----------------------------------------
111 關鍵字:
112 
113 signed unsigned byte short int double float char wchar bool struct
114 null true false
115 void extern typedef if else while do break continue return alias

    大部分照搬了C語言,主要修改是那個惡心的函數(shù)指針類型被重新設計了,還有添加了非參數(shù)用的const(這不是類型的一部分,跟C++不同),修改了struct初始化的賦值方法。
posted on 2009-04-18 00:17 陳梓瀚(vczh) 閱讀(3191) 評論(7)  編輯 收藏 引用 所屬分類: JIT

評論:
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎 2009-04-18 01:30 | lccc
樓主強人....

跟 LLVM Compiler 有些相像的地方,都是把其它的各種語言轉成自己的,再統(tǒng)一處理  回復  更多評論
  
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎 2009-04-18 01:44 | 清風
基本上,你就是在做c語言編譯器  回復  更多評論
  
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎 2009-04-18 02:23 | SOS
native化  回復  更多評論
  
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎 2009-04-18 04:57 | 巫云
應該是基于虛擬機的C語言,很帥。  回復  更多評論
  
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎 2009-04-18 05:56 | 陳梓瀚(vczh)
@巫云
是要編譯成機器碼讓CPU直接跑的。  回復  更多評論
  
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎 2009-04-19 22:11 | 席子
"但是我的目的是讓我以后設計的更高級的語言可以編譯成這門相對底層的語言(從一棵語法樹轉換成另一棵語法樹),而不是直接編譯成中間指令。"

"惡心的函數(shù)指針類型被重新設計了,還有添加了非參數(shù)用的const(這不是類型的一部分,跟C++不同),修改了struct初始化的賦值方法"


呵呵, 深有同感  回復  更多評論
  
# re: JIT腳本引擎:開始做第一門編譯成機器碼的腳本引擎[未登錄] 2009-04-22 01:14 | jans2002
期待樓主的精彩表演  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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热在线精品观看| 久久精品亚洲国产奇米99| 好看不卡的中文字幕| 久久大香伊蕉在人线观看热2| 久久亚洲欧美国产精品乐播| 99re6这里只有精品| 欧美网站在线| 亚洲欧美电影在线观看| 99在线精品视频在线观看| 亚洲伦理在线| 欧美一级成年大片在线观看| 日韩亚洲欧美一区| 欧美日韩国产成人高清视频| 亚洲片在线资源| 亚洲高清不卡一区| 欧美日本国产一区| 亚洲精品久久久久久久久久久久久 | 欧美日韩中文字幕精品| 一区二区三区日韩欧美精品| 亚洲国产一区二区精品专区| 久久视频在线视频| 亚洲国产精品成人一区二区| 亚洲欧美日韩第一区| 亚洲天堂免费观看| 国产欧美 在线欧美| 久久九九免费视频| 美女爽到呻吟久久久久| 久久视频精品在线| 亚洲三级色网| 久久久久久久国产| 欧美一区二区三区免费观看视频 | 亚洲天堂网在线观看| 亚洲大胆视频| 国产精品成人免费精品自在线观看| 伊人天天综合| 欧美在线一二三| 久久综合伊人77777| 91久久精品国产91久久性色tv| 91久久综合亚洲鲁鲁五月天| 国产精品亚洲综合一区在线观看| 激情小说另类小说亚洲欧美| 亚洲高清在线观看一区| 欧美成人在线免费观看| 欧美一区1区三区3区公司| 久久久久久穴| 亚洲视频网在线直播| 亚洲视频在线观看三级| 亚洲精选视频在线| 亚洲欧美高清| 国外成人在线| 亚洲中字黄色| 日韩视频不卡| 一区二区av在线| 亚洲精品免费一二三区| 性欧美xxxx视频在线观看| 国内精品久久久久影院 日本资源| 一区二区激情| 亚洲第一黄网| 一区二区欧美在线| 亚洲美女精品久久| 欧美一站二站| 亚洲视频福利| 在线看不卡av| 午夜精品久久| 日韩午夜激情| 久久久久久综合| 欧美在线观看视频一区二区三区| 欧美精品在欧美一区二区少妇| 久久资源av| 亚洲一区视频| 亚洲女优在线| 欧美日韩国产黄| 亚洲韩国日本中文字幕| 亚洲精品国产欧美| 欧美激情1区2区| 最新亚洲电影| 亚洲午夜黄色| 国产精品尤物| 久久精品国产91精品亚洲| 蜜桃伊人久久| 亚洲欧洲日夜超级视频| 欧美精品一区二区三| 亚洲片在线资源| 亚洲免费观看高清完整版在线观看熊| 欧美gay视频激情| 最新日韩av| 精品动漫一区二区| 老司机亚洲精品| 99在线热播精品免费| 日韩一级精品| 国产精品视频导航| 亚洲欧洲99久久| 欧美福利视频在线观看| 亚洲国产91| 欧美视频四区| 亚洲高清一二三区| 亚洲一区www| 99视频精品全部免费在线| 午夜精品理论片| 国产精品久久久久久久久久三级| 中文精品在线| 欧美超级免费视 在线| 亚洲国产一区二区三区a毛片| 欧美日韩国产999| 在线视频欧美日韩| 久久亚洲春色中文字幕久久久| 激情一区二区三区| 欧美日韩精品在线| 亚洲欧美日韩高清| 亚洲激情网站| 亚洲欧美日韩中文播放| 激情自拍一区| 欧美精品观看| 久久精品国产成人| 最近看过的日韩成人| 午夜激情一区| 亚洲第一黄网| 欧美日韩一区自拍| 欧美一区二区三区在线看| 91久久线看在观草草青青| 亚洲欧美在线视频观看| 亚洲免费高清视频| 国产日韩欧美在线播放不卡| 欧美精品一区视频| 欧美一乱一性一交一视频| 一本久久综合亚洲鲁鲁| 欧美夫妇交换俱乐部在线观看| 亚洲一区二区在线免费观看| 激情综合五月天| 欧美色偷偷大香| 欧美激情综合网| 久久精品国产99精品国产亚洲性色| 一本色道久久88综合亚洲精品ⅰ| 欧美jjzz| 久久久久欧美精品| 精品成人国产| 麻豆精品一区二区综合av| 一区二区三区精品视频在线观看| 欧美一区二区久久久| 国产精品羞羞答答| 猫咪成人在线观看| 噜噜噜在线观看免费视频日韩| 国产精品你懂得| 亚洲调教视频在线观看| 亚洲电影免费观看高清完整版在线| 亚洲精品视频在线播放| 国内外成人免费激情在线视频网站 | 国产精品久久久久高潮| 欧美精品在线观看播放| 欧美一区网站| 欧美一区二区日韩| 夜夜嗨av色一区二区不卡| 亚洲三级影片| 欧美激情久久久| 91久久黄色| 午夜免费在线观看精品视频| 亚洲综合成人在线| 欧美精品久久久久久久免费观看| 久久人体大胆视频| 日韩视频专区| 亚洲欧洲另类国产综合| 欧美成人午夜激情| 亚洲国产一区二区三区在线播| 美日韩精品免费| 亚洲福利视频专区| 欧美福利一区| 亚洲精品视频在线看| 欧美激情亚洲| 一区二区三区国产盗摄| 男女激情久久| 日韩一级欧洲| 欧美一区二区久久久| 欧美诱惑福利视频| 久久午夜视频| 蜜月aⅴ免费一区二区三区 |