1
0
mirror of https://github.com/open-simh/simh.git synced 2026-05-23 13:56:09 +00:00
Files
open-simh.simh/cmake
B. Scott Michel 59c55062f0 SCP: PCRE2 support.
Add PCRE2 support as an alternative to the original PCRE. PCRE2 is
actively maintained and has a cleaner API than its predecessor.

- Use a function interface around regular expressions to isolate and
  reduce the preprocessor #if/#endif forest. Abide by a single function
  declaration/implementation approach, vs. multiple function
  implentations within an #if/#endif forest.

- Clean up the code so that work isn't recreated or duplicated, such as
  compiling regexps.

Platform notes:

- cmake: PCRE2 is the default RegEx support. To revert to PCRE, add
  "-DPREFER_PCRE" to the cmake configuration command line.

- makefile: PCRE remains the default RegEx support out of respect for
  tradition (cue Chaim Topol singing "Tradition".) Enable PCRE2 by
  defining "USE_PCRE2=<some value>" from the make command line or shell
  environment.

- Visual Studio Projects: Untouched. Externally built libraries provide
  regular expression support residing in a specific place in the file
  system, which is outside the control of SIMH proper.

sim_defs.h:

- Change EXPECT::size from int32 to size_t for increased
  cross-platform/64-bit compatibility (i.e., array indices and offsets
  should be size_t, where practicable.)

- Add typedefs for EXPECT regex support independence: sim_regex_t,
  sim_re_capture_t.

- Add regular expression context to EXPTAB that maintains state when
  processing the captured matches, making the function interface clean.
  Tracks intermediate state while processing captured matches.
2026-05-03 14:28:36 -04:00
..
2024-05-21 15:57:21 -04:00
2023-05-17 20:18:42 -04:00
2024-02-23 16:07:47 -05:00
2024-02-01 12:51:13 -05:00
2026-05-03 14:28:36 -04:00
2026-05-03 14:28:36 -04:00
2026-05-03 14:28:36 -04:00
2026-05-03 14:19:02 -04:00
2024-05-21 15:57:21 -04:00
2024-02-01 12:51:13 -05:00
2025-08-17 14:26:06 -04:00