Removed useless old commented code and fix a typo

Signed-off-by: Celelibi <celelibi@gmail.com>
Added a function to set the label of a quad

This function is used to get the label of a quad, defining it if it
didn't exist. It allows to generate a label only for quads that needs
them.

Signed-off-by: Celelibi <celelibi@gmail.com>
Print the instructions labels

It's all nice to generate some labels, but it's even better to print
them together with the instructions.

Signed-off-by: Celelibi <celelibi@gmail.com>
Split token BOOLOP into several operators

We need to generate different code for each of these operator, so better
identify them ASAP.

Signed-off-by: Celelibi <celelibi@gmail.com>
Lexer indentation fixing

Signed-off-by: Celelibi <celelibi@gmail.com>
Fix a use-after-free bug

When iterating through a linked list, don't free the element you're
going to use...

Signed-off-by: Celelibi <celelibi@gmail.com>
Add support for a NOP quad and instruction

It may be useful when the code need to jump at the end of the code.

Signed-off-by: Celelibi <celelibi@gmail.com>
Support "if" conditions

This code could be greatly shorten by the use of carefully chosen data
structures and functions. Boolean assignment is not supported yet.

Signed-off-by: Celelibi <celelibi@gmail.com>
Add tests for if statements

A bit complicated but it generate some code. The validity of this code
is yet to be checked.

Signed-off-by: Celelibi <celelibi@gmail.com>
Add support for Boolean assigment

Boolean assigment is actually implemented like this:
if (expr)
	a = true;
else
	a = false;

Signed-off-by: Celelibi <celelibi@gmail.com>
Updated the TODO list

Signed-off-by: Celelibi <celelibi@gmail.com>