summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-10-02 07:45:20 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-10-02 09:02:35 -0700
commit24ea2b8c11bcaa99f1e72df7fee8feb1ad80e5b1 (patch)
treed6dfb786b757737c759810aab17c938927de328a /ChangeLog
parentbadc1562267ee35f8a8fa6f7dcc0751c5c897af6 (diff)
downloadtxr-24ea2b8c11bcaa99f1e72df7fee8feb1ad80e5b1.tar.gz
txr-24ea2b8c11bcaa99f1e72df7fee8feb1ad80e5b1.tar.bz2
txr-24ea2b8c11bcaa99f1e72df7fee8feb1ad80e5b1.zip
Using unified COBJ representation for both regex kinds,
rather than the list-based notation for derivative-based regexes, and an encapsulated COBJ for NFA-based regexes. * lib.c (compiled_regex_s): Variable removed. (obj_init): Initialization of compiled_regex_s removed. * lib.h (compiled_regex_s): Declaration removed. * regex.c (struct regex, regex_t): New type. (regex_destroy): Object is now a regex_t, not nfa_t. (regex_mark): New function. (regex_obj_ops): Register regex_mark operation. (reg_nullable, reg_derivative): Remove cases that handles compiled_regex_s. (regex_compile): Output of dv_compile_regex becomes a cobj nwo. Output of nfa_compile_regex must be embedded in regex_t structure. (regexp): Drop the check for compiles_regex_s. (regex_nfa): Function removed. (regex_run, regex_machine_init): Use cobj_handle to retrieve regex_t * pointer and dispatch appropriate code based on regex->kind.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog25
1 files changed, 25 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fd5d7dc3..01d897be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2014-10-02 Kaz Kylheku <kaz@kylheku.com>
+
+ Using unified COBJ representation for both regex kinds,
+ rather than the list-based notation for derivative-based
+ regexes, and an encapsulated COBJ for NFA-based regexes.
+
+ * lib.c (compiled_regex_s): Variable removed.
+ (obj_init): Initialization of compiled_regex_s removed.
+
+ * lib.h (compiled_regex_s): Declaration removed.
+
+ * regex.c (struct regex, regex_t): New type.
+ (regex_destroy): Object is now a regex_t, not nfa_t.
+ (regex_mark): New function.
+ (regex_obj_ops): Register regex_mark operation.
+ (reg_nullable, reg_derivative): Remove cases that handles
+ compiled_regex_s.
+ (regex_compile): Output of dv_compile_regex becomes
+ a cobj nwo. Output of nfa_compile_regex must be
+ embedded in regex_t structure.
+ (regexp): Drop the check for compiles_regex_s.
+ (regex_nfa): Function removed.
+ (regex_run, regex_machine_init): Use cobj_handle to retrieve regex_t *
+ pointer and dispatch appropriate code based on regex->kind.
+
2014-09-30 Kaz Kylheku <kaz@kylheku.com>
* genman.txr: Add PayPal donation button.