fix

修改了行号的显示问题。
修改了int[]的Elab。
Oh,no!!!

发现了ArraySelect对象的用处！！！！准备大修改！！！
nani?
fix the ArraySelect()！

fix the ArraySelect()！
fix the Id in Class

更改了ast.Ast中的Assing与AssignArray，加入了isField字段。目的是为了识别id是否为类的。
修改了C的PrettyPrintVisitor，使tiger可以识别id与this->id。

在ElaboratorVisitor中对Assign与ArrayAssign做了特殊的处理，目的是为了判断类似i=number[10]这样的Stm。

There are still some defects。
1>xxx.java.c is not available。some addresses are useed before
initialized。
2>unknown problom，exit error。
fix the parser to generate obj Sub

在Parser中进行了修改，之前java的AST没有sub对象，全是add（低级的bug）。
Lab3的PartA基本完工。遗留的问题是在生成LinkedList.java.c时，无法识别未声明的变量。因为C必须先声明后使用。
can compile and ranLinkedList.java.c (0 error)

1>为了适应C语言的语法，对虚函数体提前实例化，同时函数优先声明。

具体做法还要对Trans过程的scan环节修改，让ClassTable的Classbinding对象中的Ftuple的args的第一个元素是自己所在的类。
2>修改了Trans过程中对Exp.Not处理的错误。
产生的LinkedList.java.c可以编译并运行，但结果和原文件有点差别。
bytecode LinedList.java well

1>为了支持bytecode，修改了Parse中的DecSingle，加了isField字段。
2>Elab过程中对Assign与ArrayAssign的类型字段进行赋值

LinkedList.java可以jasmin成功。
add the Runtime and extends

1>在tiger中加入了Runtime,根目录下加入了jasmin
2>加入了对继承特性的支持，目前这个支持只能用于Call。当参数为子类时，仍然可以通过Elab。
目前bytecode都可以编译通过，但TreeVisitor的执行结果有问题。
fix the extends

1>加入了Error的枚举类型
2>针对上一个版本的问题做了fix。可以真正实现extends，TreeVisitor.java在bytecode时可以输出正确的结果。
（为了在.j文件中将accept（LMyVisitor）变为accept（LVIsitor）,要在Elab时对Mini
Java的Ast的Call做一些变动，将Call的参数列表直接变为父类的类型。）
add executed time

加入了tiger执行时间的记录
可以在最后显示执行的min,sec,ms。
fix the Elab for Call

之前为了能顺利编译jasmin对Elab的Call做了不适当的处理。
1>添加了在祖先中循环遍历以寻找合适的匹配。
2>之后用函数的原型类型放在了Call的at中。
Merge pull request #3 from QingchuanLiu/Lab1

finished Lab3