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"
# Input C code as a string
c_code = '''
#include<stdio.h>
int main() {
printf("Welcome");
return 0;
}
'''
# Tokenize the input string
tokens
= re
.findall(r
'\w+|[^\w\s]', c_code
)
# Classify and print each token
for token in tokens:
print(f"Token: {classify_token(token)}")
aW1wb3J0IHJlCgpkZWYgY2xhc3NpZnlfdG9rZW4odG9rZW4pOgogICAgaWYgcmUubWF0Y2gocideW2EtekEtWl9dXHcqJCcsIHRva2VuKTogcmV0dXJuICJJZGVudGlmaWVyIgogICAgaWYgdG9rZW4gaW4geyJpbnQiLCAiZmxvYXQiLCAiY2hhciJ9OiByZXR1cm4gIktleXdvcmQiCiAgICBpZiByZS5tYXRjaChyJ15cZCskJywgdG9rZW4pOiByZXR1cm4gIkludGVnZXIiCiAgICBpZiByZS5tYXRjaChyJ15cZCtcLlxkKyQnLCB0b2tlbik6IHJldHVybiAiRmxvYXQiCiAgICBpZiB0b2tlbiBpbiB7JysnLCAnLScsICcqJywgJy8nLCAnPScsICc8JywgJz4nfTogcmV0dXJuICJPcGVyYXRvciIKICAgIHJldHVybiAiVW5rbm93biIKCiMgSW5wdXQgQyBjb2RlIGFzIGEgc3RyaW5nCmNfY29kZSA9ICcnJwojaW5jbHVkZTxzdGRpby5oPgppbnQgbWFpbigpIHsKICAgcHJpbnRmKCJXZWxjb21lIik7CiAgIHJldHVybiAwOwp9CicnJwoKIyBUb2tlbml6ZSB0aGUgaW5wdXQgc3RyaW5nCnRva2VucyA9IHJlLmZpbmRhbGwocidcdyt8W15cd1xzXScsIGNfY29kZSkKCiMgQ2xhc3NpZnkgYW5kIHByaW50IGVhY2ggdG9rZW4KZm9yIHRva2VuIGluIHRva2VuczoKICAgIHByaW50KGYiVG9rZW46IHtjbGFzc2lmeV90b2tlbih0b2tlbil9IikK