rendered paste bodyfunction gettok() {
if (tok == "(eof)") return "(eof)"
sub(/^[ \t]+/, "", line)
tokno++;
while ((nlen=length(line)) == 0) {
if(getline line == 0)
return tok = "(eof)"
if (line ~ /^[0-9][0-9][0-9][0-9]/) {
lineno = substr(line, 1, 4);
line = substr(line, 5);
} else line =""
sub(/^[ \t]+/, "", line)
tokno = 0
}
if (line ~ /^[A-Za-z]/) {
nxtn = 1
xline = substr(line, 2);
while((xline ~ /^[A-Za-z_0-9]/) && (nxtn < nlen)) {
nxtn++;
xline = substr(xline, 2);
}
}
else if (line ~ /^./) {
nxtn =1
}
tok = substr(line, 1, nxtn)
line = substr(line, nxtn+1)
return tok
}
}
}