Shell's Home

Oct 23, 2005 - 1 minute read - Comments

程序解释器

贝壳在费尽N天功夫后终于得到了一个程序解释器,目前可以无结构运行。正在附加函数声明和调用结构。先存念一个Output。

int i;
i=0;
i=i+15*50;
i=i-1;
print(i);

Result Output:
Parse Begin
[;]
[]
[;, ;]
[]
Parse End

Parse Begin
[;]
[var(i):0]
[;, =]
[var(i):0]
[;, =]
[var(i):0, 0]
[;]
[0]
[;, ;]
[0]
Parse End

Parse Begin
[;]
[var(i):0]
[;, =]
[var(i):0]
[;, =]
[var(i):0, var(i):0]
[;, =, +]
[var(i):0, var(i):0]
[;, =, +]
[var(i):0, var(i):0, 15]
[;, =, +, *]
[var(i):0, var(i):0, 15]
[;, =, +, *]
[var(i):0, var(i):0, 15, 50]
[;, =, +]
[var(i):0, var(i):0, 750]
[;, =]
[var(i):0, 750]
[;]
[750]
[;, ;]
[750]
Parse End

Parse Begin
[;]
[var(i):750]
[;, =]
[var(i):750]
[;, =]
[var(i):750, var(i):750]
[;, =, -]
[var(i):750, var(i):750]
[;, =, -]
[var(i):750, var(i):750, 1]
[;, =]
[var(i):750, 749]
[;]
[749]
[;, ;]
[749]
Parse End

Parse Begin
Begin Function Expression Paser

Parse Begin
[;]
[var(i):749]
[;, ;]
[var(i):749]
Parse End

Function Stack[var(i):749]
749
Function Stack[]
[;]
[]
[;, ;]
[]
Parse End

以上为script读取文件运行,在打开调试输出情况下的结果。

Tags: program

表达式解析算法 日子

comments powered by Disqus