Continue updating examples

Seem to have hit a snag though
Regard CPP pragma lines as part of a semi-colon

CPP pragma lines were considered whitespace previously, and accepted
everywhere. We then had a separate check that they only occurred at top-level
(we kept track of the nesting level in the parser state). However, this didn't
work quite so well anymore once we changde the top-level to be a list of
declarations, because previously we might have something like

    let x = << ... >> in

where we would have increased the nesting level in the `<< .. >>` part, and
then decrease it when seeing the `in`. However, now this looks like

    let x = << ... >>

    # 1 "filename" 2

instead, and the parser does not yet know that it should have decreased the
nesting level when seeing the CPP pragma and therefore gave an error.

Instead, we now treat the CPP pragma lines as part of the semi-colon.

NOTE: Strictly requiring pragma lines at top-level only does not work, because
it would allow something like

    fun comp f() {
    #ifdef FOO
        something
    #else
        somethingElse
    #endif
    }

because after CPP has expanded this `#ifdef` it leaves a CPP location line in
the middle of the definition of `f`.
Finish updating examples