import re
def classify_token(token):
if re.match(r'^[a-zA-Z_]\w*$', token): return "Identifier"
if token in {"int", "float", "char"}: return "Keyword"
if re.match(r'^\d+$', token): return "Integer"
if re.match(r'^\d+\.\d+$', token): return "Float"
if token in {'+', '-', '*', '/', '=', '<', '>'}: return "Operator"
return "Unknown"
with
open("input
.c"
, "r"
) as file
: tokens
= re
.findall(r
'\w+|[^\w\s]', content
) for token in tokens:
print(f"Token: {classify_token(token)}")
aW1wb3J0IHJlCgpkZWYgY2xhc3NpZnlfdG9rZW4odG9rZW4pOgogICAgaWYgcmUubWF0Y2gocideW2EtekEtWl9dXHcqJCcsIHRva2VuKTogcmV0dXJuICJJZGVudGlmaWVyIgogICAgaWYgdG9rZW4gaW4geyJpbnQiLCAiZmxvYXQiLCAiY2hhciJ9OiByZXR1cm4gIktleXdvcmQiCiAgICBpZiByZS5tYXRjaChyJ15cZCskJywgdG9rZW4pOiByZXR1cm4gIkludGVnZXIiCiAgICBpZiByZS5tYXRjaChyJ15cZCtcLlxkKyQnLCB0b2tlbik6IHJldHVybiAiRmxvYXQiCiAgICBpZiB0b2tlbiBpbiB7JysnLCAnLScsICcqJywgJy8nLCAnPScsICc8JywgJz4nfTogcmV0dXJuICJPcGVyYXRvciIKICAgIHJldHVybiAiVW5rbm93biIKCndpdGggb3BlbigiaW5wdXQuYyIsICJyIikgYXMgZmlsZToKICAgIGNvbnRlbnQgPSBmaWxlLnJlYWQoKQogICAgdG9rZW5zID0gcmUuZmluZGFsbChyJ1x3K3xbXlx3XHNdJywgY29udGVudCkKICAgIGZvciB0b2tlbiBpbiB0b2tlbnM6CiAgICAgICAgcHJpbnQoZiJUb2tlbjoge2NsYXNzaWZ5X3Rva2VuKHRva2VuKX0iKQo=