view admin/notes/cpp @ 55690:daeeb5ef2d95

Add support for new '\_<' and '\_>' regexp operators, matching the beginning and ends of symbols. * regex.c (enum syntaxcode): Add Ssymbol. (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword. (re_opcode_t): New opcodes `symbeg' and `symend'. (print_partial_compiled_pattern): Print the new opcodes properly. (regex_compile): Parse the new operators. (analyse_first): Skip symbeg and symend (they match only the empty string). (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and \sw; `symbeg' is mutually exclusive with \S_ and \Sw. (re_match_2_internal): Match symbeg and symend.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 19 May 2004 16:37:35 +0000
parents 695cf19ef79e
children 375f2633d815 c3512b2085a0
line wrap: on
line source

ttn 2003-04-09

we use a C preprocesor not only in the normal compilation of .c files
into object files, but also for creating

	src/Makefile
	lib-src/Makefile

(delimited by comment "start of cpp stuff").  some cpp implementations
insert whitespace in between tokens, which explains the "$(dot)$(dot)"
and "UNEXEC_ALIAS" workarounds for unixoid systems and the bundled
tradcpp/ for vms.  [NOTE: tradcpp/ not yet checked in.]

during makefile creation, the preprocessor symbol NOT_C_CODE is defined.
this should not be defined for normal .c file compilation.

there has been discussion on eliminating this use of cpp and relying
solely on autoconf processing.  rms says to leave it be.

;;; arch-tag: d654291e-9fc8-41b7-ab0c-d3cde842a8e0