> if (sv > score); <----- note extraneous semi-colon > score = sv; This sort of thing makes me think that a few extra keywords are called for programming languages like this. E.g. if <bool_expr> then <stmt> fi while <bool_expr> do <stmt> od Something to keep in mind when you design an Algol-like language.