What I have done this week
This week, I have finished the spliting part of the concatenated into variable, command, branch and loop, and preparing for futher review.
In the spliting part, the concept is matching the key words:
1. loop: (a) for ...... done; (b) while ...... done; (c) util ...... done;
2. branch: (a)case ...... esac; (b) if ...... fi;
3. varibale: find '=' in one line command.
4. command: the rest are commands.
This is done by using python string function startswith() and endwith(), and find '=' can be done by regex.
During the test, I have met some corner cases where the command contains '\'. '\' stands for continue line in a shell script, our parser can not remove it so it may cause error when finding the possible installed software.
After the discussion with my mentor, we will put this aside and move on to parse the command. Most commands do not contain '\', and the command containing '\' is not an installing command so far in our test file.
We will consider this corner case after we finished the main function.
Make necessary modifications on the code with mentor, and move on to parse the command.
Hopefully we can use the existing funciton to finish the parse.
GSOC is a very good opportunity for me to be a part of open source project, this project is very cool and i am enjoying it.