malloc() + strcpy() replaced by strdup()
Interface change
Segfaults caused by check_syntax() fixed