亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? topleveldesign.txt

?? FinC編譯器源代碼
?? TXT
字號:
FinC top level design---------------------0. FinC over viewFinC is a strong C-like syntax script language. What's mean the strong C-like syntax?It supports some c style advance data type, such as pointer, struct, array. The other,its syntax is very like C syntax too.FinC will use recursive descent method to parse the FinC script source file. Thatrecursive descent parser will be implement in 0.3 version.1. FinC main classToken  : get tokens from the source code.Parser : parser grammar in tokens.Node   : node class used in parser.Lang   : use for generate parser node.Data   : stand for the real data in runtime.Type   : stand for the data type.Struct : store for struct information.Field  : store for field of struct information.Var    : store for variable in runtime.Func   : stand for function, such as which function type, function node entry etc.Sys    : system API.(In FinC, the operator like '+' '-' '.', will be a system function)Env    : the script main envirnoment.Build in API:Array  : build in array api.(finc_array_*)String : build in string api.(finc_string_*)Hash   : build in hash table api.(finc_hash_*)Map    : build in map api.(finc_map_*)FinCLib: FinC API library2. The main flowsFirst stage, lexemic the token of source file. Source Code+-----------+        +-----------+|           |	     |           ||  Lex      |	     |  Parser   ||   to      |=======>|    to     ||  Token    |	     |   Node    | (The Node will be organized as a Tree. At runtime,|           |	     |           |  these tree nodes is the most important+-----------+	     +-----------+  reference.)Then, enter the second stage. In second stage, the runtime stage, the source areuseless, and interpeter only depends the ParserNode Tree.At first of runtime stage, the only thing to do is call function, that's three functiontype:build in function, native function or function made of parser node. The most relatewith script source are node function, so we only talk about node function.Interpreter will evaluate each node in function, and generate the node data, link thedata to node data members. When evaluate a node, there are following cases:if the node is a identifier type, it will get the name as identifier variable value.if the node is a function type, it will call this function.if the node is a block, it will evaluate the sub nodes step by step.evaluate node:+-----------+  ID|           |------>get value for local/global context, return the value.|  Node     | Func|           |------>get function from the global context, and then call it.| Devaluate | Block|           |------>devaluate each sub node.+-----------+3. The whole system Object Oriented DesignThe base class is Object. It's only little members:struct _Object{	int refcount;	ObjectDestroy destroy;};The refcount member is an object refers to. You can use addref(object) to refers tothis object, and unref(object) to unrefers to. When the refcount is 0, this objectis released, at same time the destroy method also will be call to release extra memory.When interpreter alloc an new object, it must use object_init_object method to registeritself destroy method to base class.All of the class in FinC and tinyLib are inherited from Object, the base class. Andall of the object allocing must use the tinylib's mem_routine. In mem_routines, thereis a alloc_object to record how many objects are alloced. So when the program finished,alloc_object must be 0, unless program has memory leaks.4. Data renderbase data type:voidintcharshortdoublefloatboolthe base data type render as+-----------+| refcount  || type      || pointer   |(NULL)| child     |(NULL)|-----------|| raw       ||           |+-----------+advance data type:array data type- fixed array- dynamic arraystring data render as following:+-----------+        +-----------+| refcount  | 	     | refcount  || type      |	     | type      |(fixed sized char array)| pointer   |------->| pointer   |(NULL)| child     |(NULL)  | child     |(NULL)|-----------|	     |-----------||address of |	     | raw       ||char raw   |	     |           |+-----------+	     +-----------+the pointer type is like void* in C.render as:+-----------+        +-----------+| refcount  | 	     | refcount  || type      |	     | type      |(the real data type)| pointer   |------->| pointer   |(NULL)| child     |(NULL)  | child     |(NULL)|-----------|	     |-----------||address of |	     | raw       ||real raw   |	     |           |+-----------+	     +-----------+struct data type+-----------+| refcount  || type      || pointer   |(NULL)| child     |-------->+-----------+|-----------|	      | field 1   || raw       |	      |-----------||           |	      | field 2   |+-----------+	      |-----------|                      | field 3   | 		      |-----------|                      | field 4   |		      +-----------+the field data render as+-----------+| refcount  || ref       |(TRUE, stand for data raw is not alloced by itself)| type      || pointer   |(NULL)| child     |(as struct data render)|-----------||address of ||field in   ||data raw   |+-----------+3. TinyLib libraryTinyLib is a tiny object oriented designed library.It includes string, list, hash table, object, library(use in plug-in load), thread wrap.(library will be add in 0.3 version, and thread will be added in 0.4 or o.5 version)ffxz2002-4-16

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情综合五月色丁香小说| 国产午夜亚洲精品不卡| 久久一区二区三区国产精品| 久久久一区二区三区| 一卡二卡三卡日韩欧美| 精品一区二区免费| 日本黄色一区二区| 久久综合九色综合97_久久久| 一区二区三区欧美在线观看| 国产精品一区二区免费不卡| 欧美丰满少妇xxxbbb| 成人欧美一区二区三区小说| 国产真实乱对白精彩久久| 欧美日韩一区精品| 亚洲日本丝袜连裤袜办公室| 国内成人免费视频| 91精品欧美综合在线观看最新 | 777久久久精品| 精品欧美乱码久久久久久1区2区| 中文字幕一区二区三区四区不卡| 美女在线视频一区| 欧美三级三级三级| 亚洲码国产岛国毛片在线| 成人小视频在线观看| 亚洲精品在线观| 久久99精品一区二区三区三区| 欧美日高清视频| 亚洲一区日韩精品中文字幕| 91浏览器打开| 亚洲人成精品久久久久| 99re视频这里只有精品| 欧美—级在线免费片| 成人h版在线观看| 国产精品第五页| 成人中文字幕在线| 国产精品免费视频网站| 国产不卡视频一区二区三区| 国产欧美一区二区精品婷婷 | 亚洲免费观看高清完整版在线观看| 精品午夜久久福利影院| 欧美成人video| 国内成人免费视频| 国产日韩欧美a| 成人国产精品免费网站| 中文字幕一区二区三区不卡 | 久久精品理论片| 精品三级av在线| 国产一区二区毛片| 国产精品久99| 欧美性猛片xxxx免费看久爱| 天堂久久一区二区三区| 精品久久五月天| 福利一区福利二区| 亚洲免费在线看| 欧美猛男gaygay网站| 免费观看久久久4p| 欧美激情一区二区在线| 不卡电影一区二区三区| 欧美日韩一区二区三区四区 | 91美女福利视频| 一本色道a无线码一区v| 精品捆绑美女sm三区| 免费在线成人网| 在线中文字幕一区| 亚洲三级在线免费| 成人免费av资源| 国产亚洲一本大道中文在线| 激情文学综合网| 日韩欧美国产三级电影视频| 日韩一区精品视频| 91精品在线一区二区| 五月综合激情网| 欧美精品欧美精品系列| 亚洲国产另类精品专区| 欧美日韩综合在线| 婷婷成人激情在线网| 欧美日本在线视频| 男人的天堂久久精品| 91精品国产入口在线| 免费欧美高清视频| 欧美大白屁股肥臀xxxxxx| 琪琪久久久久日韩精品| 91精品国产91热久久久做人人| 性久久久久久久久| 欧美一二三四区在线| 卡一卡二国产精品| 91.com视频| 洋洋av久久久久久久一区| 色偷偷一区二区三区| 亚洲一区免费在线观看| 51精品久久久久久久蜜臀| 国产精品99久久久久久久vr| 精品国产99国产精品| 国产九色精品成人porny| 国产欧美日韩三级| 色域天天综合网| 日韩电影一区二区三区四区| 精品国产亚洲一区二区三区在线观看| 精品一区二区日韩| 亚洲欧洲日韩在线| 欧美日韩亚洲丝袜制服| 久草精品在线观看| 国产精品久久久久aaaa| 欧美色图在线观看| 麻豆国产欧美日韩综合精品二区 | 国产不卡在线视频| 亚洲欧美一区二区久久| 91精品国产高清一区二区三区 | 亚洲欧美日韩综合aⅴ视频| 91成人网在线| 国产精品一线二线三线精华| 亚洲欧美日韩中文播放 | av亚洲精华国产精华| 亚洲成a人片在线不卡一二三区| 日韩欧美不卡一区| 91在线观看美女| 男男视频亚洲欧美| 有码一区二区三区| 日韩午夜av一区| 色婷婷综合久久久| 国产精品一区二区久久不卡| 亚洲成人免费在线| 亚洲欧洲韩国日本视频| 日韩三级.com| 91搞黄在线观看| 国产成人8x视频一区二区| 天堂久久一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 日韩久久久精品| 在线观看免费成人| k8久久久一区二区三区| 精品一区二区免费看| 日韩av一二三| 亚洲国产日日夜夜| 自拍偷拍欧美精品| 久久久一区二区三区| 久久亚洲一区二区三区明星换脸| 99久久精品一区二区| 国内精品免费**视频| 日日噜噜夜夜狠狠视频欧美人| 亚洲欧洲av色图| 精品福利在线导航| 欧美一区二区在线免费观看| 在线视频综合导航| 91蜜桃在线免费视频| 成人久久18免费网站麻豆 | 粉嫩av一区二区三区在线播放| 蜜芽一区二区三区| 日韩电影一区二区三区四区| 亚洲一区在线播放| 亚洲一级在线观看| 亚洲图片自拍偷拍| 亚洲国产综合在线| 亚洲午夜激情av| 亚洲高清在线视频| 午夜精品久久久久久久| 亚洲h在线观看| 日本伊人色综合网| 麻豆91精品91久久久的内涵| 美女爽到高潮91| 久久精品国产99国产精品| 久久99九九99精品| 国产99久久久国产精品免费看| 国产一区二区三区黄视频| 国产激情精品久久久第一区二区| 国产一区福利在线| 成人网在线免费视频| 91女神在线视频| 在线影视一区二区三区| 6080午夜不卡| 久久久五月婷婷| 亚洲欧洲av在线| 亚洲国产欧美在线| 久久疯狂做爰流白浆xx| 成人午夜看片网址| 91国偷自产一区二区使用方法| 在线国产亚洲欧美| 日韩美女视频在线| 日韩码欧中文字| 亚洲国产精品久久人人爱| 久久91精品国产91久久小草 | 91在线视频观看| 欧美日韩国产综合一区二区| 精品久久久久久久人人人人传媒 | 久久久五月婷婷| 亚洲在线视频免费观看| 六月丁香婷婷久久| 91在线小视频| 精品国产乱码久久久久久1区2区 | 日韩亚洲欧美一区| 久久先锋影音av| 夜夜操天天操亚洲| 国产激情一区二区三区桃花岛亚洲| 色婷婷久久综合| 久久久久久97三级| 亚洲国产综合色| 成人免费不卡视频| 精品国产乱码久久久久久图片 | 制服丝袜亚洲网站| 国产精品免费人成网站|