This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

EOF character in parser


Hi!

I am working on a compiler implementation and wish to check if the end
of file has been reached. I know that this can be done using the
yywrap() function in the lex file, but the requirement is that we want
if the EOF is explicitly defined as in the hex value 0x1a, then how do
we reference that.

Example:

main()
{
	printf("Check EOF marker\n"); '0x1a'  <-- the actual EOF marker.


I want the above not to be a syntax error, but to be reported as an
error Unbalanced parentheses, Or <function-name> is wrongly defined. 

Can the above be done? My requirement is just to have the EOF token in
the parser, which unfortunately, I have not been able to do so till date
:-((, the rest of the work will be easily done as then, I just have to
give a rule such as:

print 	:	print_stmt '(' stmt_valid ')' colon '\n' 
{
	OK do the rest
}

	|	print_stmt '(' stmt_valid ')' colon end_indicator

{
	print error message and close application.
}



Gagneet


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]