This week I focused on improving the parser grammar . Petteri and I finally decide to remove the global backtracking. We didn’t plan to do it at first because it would cost a lot of time. We thought that was not something required for metadata generation. However, many stories are blocked due to the limitation of parser grammar. We have to remove backtracking so that semantic predicate can work for the grammar. Although doing it is quite difficult and will cost a lot of time, we will get a cleaner and much faster grammar when it’s done. It is the thing that we should do sooner or later anyway.
These are what I have done in the past week:
- Used bash to verify unit tests
- Supported thread safety
- Turned off backtracking for the command rules
- Left factored the rules for pipeline and function definition
- Improved double quoted string handling
- Worked on upgrading to ANTLR 3.4
- Started working on removing global backtracking
Note that we support thread safety now and our version of instruo can finish its work in less than 1 minute. We still haven’t upgraded to ANTLR 3.4 because of some upstream bugs. The process might take longer.
In the next few weeks, I will mainly focus on one story: removing global backtracking. I hope it can be done in two weeks.