bison/src scan-gram.l

Paul Eggert <[email protected]>
Newsgroups gmane.comp.parsers.bison.cvs
Message-ID <[email protected]>
CVSROOT:	/cvsroot/bison
Module name:	bison
Changes by:	Paul Eggert <[email protected]>	02/11/03 03:42:32

Modified files:
	src            : scan-gram.l 

Log message:
	Revamp to fix POSIX incompatibilities, to count columns correctly, and
	to check for invalid inputs.
	
	Use mbsnwidth to count columns correctly.  Account for tabs, too.
	Include mbswidth.h.
	(YY_USER_ACTION): Invoke extend_location rather than LOCATION_COLUMNS.
	(extend_location): New function.
	(YY_LINES): Remove.
	
	Handle CRLF in C code rather than in Lex code.
	(YY_INPUT): New macro.
	(no_cr_read): New function.
	
	Scan UCNs, even though we don't fully handle them yet.
	(convert_ucn_to_byte): New function.
	
	Handle backslash-newline correctly in C code.
	(SC_LINE_COMMENT, SC_YACC_COMMENT): New states.
	(eols, blanks): Remove.  YY_USER_ACTION now counts newlines etc.;
	all uses changed.
	(tag, splice): New EREs.  Do not allow NUL or newline in tags.
	Use {splice} wherever C allows backslash-newline.
	YY_STEP after space, newline, vertical-tab.
	("/*"): BEGIN SC_YACC_COMMENT, not yy_push_state (SC_COMMENT).
	
	(letter, id): Don't assume ASCII; e.g., spell out a-z.
	
	({int}, handle_action_dollar, handle_action_at): Check for integer
	overflow.
	
	(YY_STEP): Omit trailing semicolon, so that it's more like C.
	
	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>): Allow \0 and \00
	as well as \000.  Check for UCHAR_MAX, not 255.
	Allow \x with an arbitrary positive number of digits, as in C.
	Check for overflow here.
	Allow \? and UCNs, for compatibility with C.
	
	(handle_symbol_code_dollar): Use quote_n slot 1 to avoid collision
	with quote slot used by complain_at.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/bison/bison/src/scan-gram.l.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.