Split the scalar types

Now the scalar types can be differenciated in the grammar.

Signed-off-by: Celelibi <celelibi@gmail.com>
Compute the result type of an operation

The new functions will be used to check whether the operations are legal
in terms of type and to compute the type of the result.

Signed-off-by: Celelibi <celelibi@gmail.com>
Expressions now generate quads

Assigment too! But not conditions yet.

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