You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Copy file name to clipboardExpand all lines: README-CMake.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -830,6 +830,7 @@ following the table.
830
830
|`BUILD_SHARED_DEPS`| platform-specific | Build dependencies as shared libraries/DLLs on Windows. Does nothing on Linux/macOS. Disabled by default on Windows to ensure that the simulators link against static libraries. |
831
831
|`WITH_ASYNC`| enabled | Asynchronous I/O and threading support. |
|`PREFER_PCRE`| disabled | Prefer the original PCRE regular expression library over PCRE2. The default is PCRE2, which is more actively maintained. |
833
834
|`WITH_NETWORK`| enabled | Simulator networking support. `WITH_PCAP`, `WITH_SLIRP`, `WITH_VDE` and `WITH_TAP` only have meaning if`WITH_NETWORK` is enabled. |
0 commit comments