Changed semi rule to use tokens instead of source