blob: 9b70cd7625dfe3702b690500eef3bacfcdcaaff1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
Version 042
Features
- Access to environment via @(next :env)
- New @(gather) directive for matching out-of-order material.
- Horizontal functions:
- TXR can now parse grammars.
- Variable syntax allows capture of text spanned by function calls:
e.g. @{var (func x y)}: text spanned by (func x y) goes into var.
- Horizontal modes for numerous directives such as @(bind), @(local), ...
- Lisp-style bindings output.
- Interactive breakpoint/step debugger added.
This is an experimental prototype, but already quite useful.
- Directives following a variable match have searching semantics now,
as do function calls. @a@(foo) will scan for a match for @(foo),
and the text skipped over is captured by a.
- New :resolve keyword in @(some) directive allowing conflicting
variable bindings to be set in separate clauses and resolved.
- deffilter is more powerful: arguments are evaluated so filters can
be computed by the query.
Bugs
- Horizontal @(some) directive hooked in.
- @(freeform) with no data fails to match instead of throwing strange error.
- Setting non-local variables from a function works now.
- Stability fix: several long-time uninitialized variable bugs found,
and some faulty object initialization orders.
- :vars in @(collect)/@(coll) does not fire an exception about missing
required variables if no variable bindings are produced at all,
allowing strict collects to have explicit matches for unwanted material
without triggering this nuisance error.
- @(repeat)/@(rep) allow empty body.
Internal
- New infrastructure for matching location info to source forms.
Location info (currently just the line number) is associated with
source forms via a weak hash table.
- Character literals are now Lispy (hash-backslash syntax), based on Scheme.
- Added quote, unquote and splicing syntax similar to Lisp. Not used
for anything yet.
- Improved Valgrind integration: more accurate, timely detection of
uninitialized fields in heap objects.
Misc.
- A TXR syntax highlighting file for the Vim editor exists
now. See the txr.vim file.
|