mirror of
https://github.com/open-simh/simh.git
synced 2026-05-23 05:52:09 +00:00
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.
16 lines
303 B
JSON
16 lines
303 B
JSON
{
|
|
"name": "simh",
|
|
"version-string": "4.1.0",
|
|
"description": [
|
|
"SIMH: The historical computer architecture simulation suite."
|
|
],
|
|
"dependencies": [
|
|
"pthreads",
|
|
"pcre",
|
|
"pcre2",
|
|
"libpng",
|
|
"sdl2",
|
|
"sdl2-ttf"
|
|
]
|
|
}
|