Okay, so I will give you some hints. What programming language are you going to use? When parsing the file, you need status variables. For example, an int for the number of indents. For example 0 is no indent 1 is one tab, and so on. If you want to do color coding, you would want boolean variables. For example, if you see the quote token, you would check the variable. If it is false, it is an open quote. If it is true, it would be a closed quote. For If Statements, you could use an int variable, to do If statements inside If statements. So if you are not inside an if statement, it would be 0, if it were 1, it would be inside an if statement. If it was 2, it would be an If inside an If, and so on.
Another piece of advice, if you are not really an expert, and this is your first task trying to program a computer, I would use Java. It is object oriented, so it is not that hard to comprehend the whole variable thing.
One more piece of advice. If you decide to use Java, I would create a method that takes you input string, and has a List of all the possible strings. So, it goes through the entire list, and use the a method to test if the string given to the method is a start to any of the strings in the list. For example, if it is given "In", it would see "IndpntAsk" and "Input", and so on… It would keep an int that would start with 0, an increase it by one. If it is zero, you either went to far, or there is an invalid command.