Read next char if the current one is not valid in eoln
Fix "by reference" arguments and add Panic function.

A construct like this:
    procedure p(var a, b: integer)
would not use reference for a or b.

Add Panic function to allow an "early exit" when something is wrong.