%{
#include <stdio.h>
%}
FLOAT [+-]?
([0-9]*\
.[0-9]+|[0-9]+\
.[0-9]*)(([eE
][+-]?
[0-9]+)?
)
%%
^{CONSTANT}$ {
printf
("✅ The string
'%s' is a valid constant
.\n"
, yytext
);}
.*\n {
yytext[yyleng-1] = '\0';
printf
("❌ The string
'%s' is NOT a constant
.\n"
, yytext
);}
%%
int main() {
printf("Enter a string to check (Ctrl+D to exit):\n");
yylex();
return 0;
}
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgpJTlRFR0VSIFsrLV0/WzAtOV0rCkZMT0FUIFsrLV0/KFswLTldKlwuWzAtOV0rfFswLTldK1wuWzAtOV0qKSgoW2VFXVsrLV0/WzAtOV0rKT8pCkNPTlNUQU5UICh7SU5URUdFUn18e0ZMT0FUfSkKCiUlCgpee0NPTlNUQU5UfSQgewogICAgcHJpbnRmKCLinIUgVGhlIHN0cmluZyAnJXMnIGlzIGEgdmFsaWQgY29uc3RhbnQuXG4iLCB5eXRleHQpOwp9CgouKlxuIHsKICAgIHl5dGV4dFt5eWxlbmctMV0gPSAnXDAnOwogICAgcHJpbnRmKCLinYwgVGhlIHN0cmluZyAnJXMnIGlzIE5PVCBhIGNvbnN0YW50LlxuIiwgeXl0ZXh0KTsKfQoKJSUKCmludCBtYWluKCkgewogICAgcHJpbnRmKCJFbnRlciBhIHN0cmluZyB0byBjaGVjayAoQ3RybCtEIHRvIGV4aXQpOlxuIik7CiAgICB5eWxleCgpOwogICAgcmV0dXJuIDA7Cn0KCmludCB5eXdyYXAoKSB7CiAgICByZXR1cm4gMTsKfQ==