Added Syntactic source and header file.

The Syntactic class will be in charge of the syntactic analysis. Right now,
the assignment was to program a recursive descent syntactic analysis for
sums and multiplications, but we also had to treat them as expressions
according to the following grammar:

<Sentence> ::= <Sum> ; <Sentence> | empty
<Sum>      ::= <Mult> { <SumOperator> <Sum> }
<Mult>     ::= <Operand> { <OpMult> <Mult> }
<Operand>  ::= ( <Sum> ) | <Int_C> | <Identifier>
Changed Compiler.cpp and Compiler.h to handle syntactic analysis.

These changes include no longer checking each token for its type,
instead calling Syntactic::analyze() in order to start the syntactic
analysis.

The syntactic analysis provided by the Syntactic class now throws an
exception (a mere const char* string) whenever an error occurs via the
Syntactic::raiseError() private method.

Finally, depending on the result of the syntactic analysis, one value
is written to the output file: 1 (success) or 0 (failure).