Improve error-handling when an expected token is missing.

We had been arbitrarily swallowing the next token, even if it wasn't
the one we were expecting. Now we only swallow it if it _is_ the one
we were expecting.
diff --git a/libacc/acc.cpp b/libacc/acc.cpp
index 436f806..6d9213c 100644
--- a/libacc/acc.cpp
+++ b/libacc/acc.cpp
@@ -4537,10 +4537,9 @@
     }
 
     void skip(intptr_t c) {
-        if (tok != c) {
+        if (!accept(c)) {
             error("'%c' expected", c);
         }
-        next();
     }
 
     bool accept(intptr_t c) {