-
Notifications
You must be signed in to change notification settings - Fork 7
/
LOG
27 lines (27 loc) · 2.91 KB
/
LOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2017-04-17 22:13:42 Corrected the CLOSURE Calculation.Recording array 'added' is valid for LR(0),but not for LR(1)
Use `queue to replace `hasnew to improve much performance in void LR1Gramma::getClosure(const ItemType& i,ClosureType& C,const Gramma::SetsType &firstset)
2017-04-18 15:39:38 Improved the performance when checking if a GOTO closure has already existed, by using additional set to do the find operation.
Completed LR(1) constructAnalyzeTable.
2017-04-18 18:00:30 LR(1) AnalyzeTable can process corrupted/ambiguous grammar such as E->E+E|E*E|(E)|id, making it more functional
2017-04-19 12:03:29 MutualMap<T1,T2> added.
2017-04-20 18:53:26 Through 2 days, a DFA is created.It is designed in general purpose.So it can be used in Lexical Parsing,Grammar Translation...
2017-04-21 00:50:11 A new power concept added : group of FA. Group is a very powerful description tool for transitions.
11:02:07 [TODO] change the GrammaUtils to support randomly adding grammar symbols by string.[need Design](the designing philosophy is that defining is adding.
21:17:52 A lexical parser using DFA is completed.See the examples for details.
2017-04-22 02:13:18 [DONE] direct `defining is adding` is supported.check `test/mainTest.cpp void testGrammarDefineIsAdding()` for detials.
02:28:10 [SUMMARY] Current state of this project is built on a very basic ground base.Each correctness is assured by many other correctnesses.I do admit that, I've done some artists' work.
09:35:14 Some bugs fixed,including EMPTY adding and so on.
12:29:33 [TODO] erase all `AS_MACROs`
[TODO] construct LR(0) & SLR analyze tables
[TODO reconstruct the codes] There are so many duplications in LRGrammar & LR1Grammar, the only difference between them is the ItemType.
So actually we can define a new type: LRItemType, let it operate with LRGrammar.
Or LRGrammar<LRItemType>, different LRItemType gets different LRGrammars
[This is called 'the Best Practice' and 'the Best Architecture']
2017-4-27 12:56:42 [FIX] 修改MutualMap的API,现在它可以接受相同的类型了.
12:41:34 [FIX] 在mainTest中,文件的读取应当是基于根目录
17:10:05 [ADVICE] 应当提供默认的实现而不是pure virtual函数,这样可以使各个软件更容易使用(对于初学者来说)(当然也可以提供默认的继承实现)
18:41:48 [COMMIT] 添加了doxygen自动生成文档; 添加了一个文法翻译器; 现在,库的架构趋于合理
2017-4-29 01:51:41 [TODO --> DONE] 修改转换流的实现,使其真正支持下标对应操作;
添加了一个同等大小的数组来记录,这样做比较浪费空间,但是查询的效率变成了O(1)
2017-4-30 09:21:08 [QUESTION] 如何表达 id= id + number,中, id和id是同一个名字这种语法?
[FINDINGS] 通常出现在表达式栈中的就是产生的四元式组的最后一个, 我想,一个语言是可以对类型进行运算的.