sloc Homework Hints
void doNormal(int ch)
{
switch (ch) {
case ';':
++statements;
break;
case '"':
state = IN_A_STRING;
break;
}
}void processChar(int ch)
{
if (ch === '\n') ++physicalLines;
switch (state) {
case NORMAL:
doNormal(ch);
break;
case IN_A_STRING:
doInAString(ch);
break;
case ESCAPED_IN_A_STRING:
doEscapedInAString(ch);
break;
}
}void processAFile(File *f)
{
int ch = getc(f);
while (ch!= EOF) {
processChar(ch);
ch = getc(f);
}
}