author | Tony Garnock-Jones <tonygarnockjones@gmail.com> |
Wed, 16 Jan 2019 17:15:58 +0000 | |
changeset 438 | 1fe179d53161 |
parent 163 | bd7a33568262 |
permissions | -rw-r--r-- |
103 | 1 |
(require (lib "1.ss" "srfi") ;; lists |
104
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
2 |
(lib "4.ss" "srfi") ;; homogeneous-numeric-vectors, u8vector |
103 | 3 |
(lib "8.ss" "srfi") ;; receive |
4 |
(lib "9.ss" "srfi") ;; records |
|
150
85a2a4f498cd
Switch to alternaparse
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
132
diff
changeset
|
5 |
(lib "13.ss" "srfi") ;; strings |
129
b8c84fd5f549
Start working toward a base representation
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
120
diff
changeset
|
6 |
(only (lib "list.ss") mergesort) |
103 | 7 |
(lib "pretty.ss") |
8 |
(lib "packrat.ss" "json-scheme")) |
|
9 |
||
104
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
10 |
;; SRFI-31, "A special form rec for recursive evaluation" |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
11 |
(define-syntax rec |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
12 |
(syntax-rules () |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
13 |
((rec (NAME . VARIABLES) . BODY) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
14 |
(letrec ( (NAME (lambda VARIABLES . BODY)) ) NAME)) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
15 |
((rec NAME EXPRESSION) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
16 |
(letrec ( (NAME EXPRESSION) ) NAME)))) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
17 |
|
103 | 18 |
(print-struct #t) |
19 |
(define previous-inspector (current-inspector)) |
|
20 |
(current-inspector (make-inspector)) |
|
21 |
||
22 |
(define-record-type tng-qname |
|
23 |
(make-qname uri localname) |
|
24 |
qname? |
|
25 |
(uri qname-uri) |
|
26 |
(localname qname-localname)) |
|
27 |
||
28 |
(current-inspector previous-inspector) |
|
29 |
||
30 |
(load "node.scm") |
|
104
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
31 |
(load "expand-qname.scm") |
150
85a2a4f498cd
Switch to alternaparse
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
132
diff
changeset
|
32 |
(load "alternaparse.scm") |
131
d4a524efd9c5
Work-in-progress on oo.scm
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
129
diff
changeset
|
33 |
;;(load "oo.scm") |
103 | 34 |
|
155
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
35 |
(define (generic-node-map fn node) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
36 |
(let visit ((node node)) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
37 |
(cond |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
38 |
((node? node) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
39 |
(fn node |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
40 |
(lambda () |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
41 |
(make-node* (node-kind node) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
42 |
(map (lambda (field) (list (car field) (visit (cadr field)))) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
43 |
(node-fields node)))))) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
44 |
((pair? node) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
45 |
(cons (visit (car node)) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
46 |
(visit (cdr node)))) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
47 |
(else |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
48 |
(fn node |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
49 |
(lambda () |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
50 |
node)))))) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
51 |
|
162
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
52 |
(define (gen-random-string charcount) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
53 |
(list->string |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
54 |
(let gen ((charcount charcount)) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
55 |
(if (zero? charcount) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
56 |
'() |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
57 |
(cons (string-ref "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
58 |
(random 64)) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
59 |
(gen (- charcount 1))))))) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
60 |
|
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
61 |
(define (genqname) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
62 |
(make-qname "http://eighty-twenty.org/etng/r1/ns/etng/gensyms#" |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
63 |
(string->uninterned-symbol (gen-random-string 16)))) |
1025f8d25eb3
Add genqname and gen-random-string
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
158
diff
changeset
|
64 |
|
103 | 65 |
(define *debug-mode* '(sequence-phases)) |
66 |
||
153
b0e3753802e1
Parse namespace prefix declarations
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
152
diff
changeset
|
67 |
(define (valid-namespace-prefix? x) |
155
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
68 |
(symbol? x)) |
153
b0e3753802e1
Parse namespace prefix declarations
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
152
diff
changeset
|
69 |
|
104
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
70 |
(define etng-r1-languages |
103 | 71 |
`( |
72 |
(toplevel-command |
|
73 |
(%or |
|
153
b0e3753802e1
Parse namespace prefix declarations
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
152
diff
changeset
|
74 |
(command-define-namespace (prefix ,valid-namespace-prefix?) (uri ,string?)) |
103 | 75 |
(command-define-values (pattern data-pattern) (value core-exp)) |
76 |
(command-define-object (name ,qname?) (args (%list-of data-pattern)) (body core-exp)) |
|
77 |
(command-exp (value core-exp)))) |
|
78 |
||
79 |
(core-exp |
|
80 |
(%or |
|
81 |
(core-send (receiver core-exp) (message core-exp)) |
|
82 |
(core-object (methods (%list-of core-method))) |
|
83 |
(core-function (methods (%list-of core-method))) |
|
84 |
(core-message (parts (%list-of core-exp))) |
|
85 |
(core-ref (name ,qname?)) |
|
86 |
(core-tuple (elements (%list-of core-exp))) |
|
87 |
(core-lit (value #t)) |
|
88 |
)) |
|
89 |
||
90 |
(core-method |
|
91 |
(%or |
|
92 |
(core-constant (patterns (%list-of data-pattern)) (body core-exp)) |
|
93 |
(core-method (patterns (%list-of data-pattern)) (body core-exp)) |
|
94 |
)) |
|
95 |
||
96 |
(data-pattern |
|
97 |
(%or |
|
98 |
(pat-discard) |
|
99 |
(pat-binding (name ,qname?)) |
|
100 |
(pat-tuple (elements (%list-of data-pattern))) |
|
101 |
(pat-lit (value #t)))) |
|
102 |
||
163
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
103 |
(med-exp |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
104 |
(%or |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
105 |
med-object |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
106 |
(med-send (receiver med-exp) (message med-exp)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
107 |
(med-tuple (elements (%list-of med-exp))) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
108 |
(med-lit (value #t)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
109 |
(med-ref (name ,qname?)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
110 |
(med-self) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
111 |
(med-super) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
112 |
)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
113 |
|
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
114 |
(med-object |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
115 |
(%or |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
116 |
(med-discard (k med-exp)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
117 |
(med-bind (name ,qname?) (k med-exp)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
118 |
(med-litmatch (value #t) (match-k med-exp) (nomatch-k med-exp)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
119 |
(med-tuplematch (arity ,integer?) (match-k med-exp) (nomatch-k med-exp)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
120 |
(med-extend (over med-exp) (under med-exp)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
121 |
)) |
bd7a33568262
Add first attempt at medium-level language
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
162
diff
changeset
|
122 |
|
103 | 123 |
)) |
124 |
||
125 |
(define (stdin-results) |
|
126 |
(packrat-port-results "<stdin>" (current-input-port))) |
|
127 |
||
128 |
(define (debug-mode=? what) |
|
129 |
(and (memq what *debug-mode*) #t)) |
|
130 |
||
104
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
131 |
(define (etng-eval-node ast qname-env) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
132 |
(let ((expanded (expand-qnames ast qname-env))) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
133 |
(pretty-print (node->list expanded)) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
134 |
(node-match expanded |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
135 |
((command-define-namespace prefix uri) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
136 |
(extend-qname-env qname-env prefix uri)) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
137 |
(else |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
138 |
qname-env)))) |
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
139 |
|
155
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
140 |
(define (pp clue x . maybe-transformer) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
141 |
(pretty-print (list clue |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
142 |
(if (null? maybe-transformer) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
143 |
x |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
144 |
((car maybe-transformer) x)))) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
145 |
(newline) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
146 |
x) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
147 |
|
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
148 |
(define (!pp clue x . maybe-transformer) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
149 |
x) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
150 |
|
103 | 151 |
(define (etng-repl) |
155
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
152 |
(let loop ((qname-env (extend-qname-env* `((,(string->symbol "") . |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
153 |
"http://eighty-twenty.org/etng/r1/ns/etng#") |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
154 |
(#f . "")) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
155 |
'()))) |
103 | 156 |
(display ">>ETNG>> ") |
157 |
(flush-output) |
|
158 |
(let ((results (stdin-results))) |
|
152
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
159 |
(read-etng results |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
160 |
(lambda (sexp next) |
155
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
161 |
(pp 'raw-sexp sexp) |
55b1a3a813eb
Expand namespaces during parse step
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
154
diff
changeset
|
162 |
(display (etng-sexp->string '() sexp)) (newline) |
156
30291c247dc2
It's the normal expanded ast, not an unexpanded ast
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
155
diff
changeset
|
163 |
(let* ((ast (pp 'ast (etng-sexp-parse sexp qname-env) node->list))) |
152
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
164 |
(if (check-language ast 'core-exp etng-r1-languages #f) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
165 |
(display ";; Language check passed") |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
166 |
(error "Failed language check"))) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
167 |
(newline) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
168 |
(when (and next (not (eq? next results))) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
169 |
(loop qname-env))) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
170 |
(lambda (error-description) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
171 |
(pretty-print error-description) |
a18c95337f5a
Rename parse-etng -> read-etng
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
150
diff
changeset
|
172 |
(loop qname-env)))))) |
103 | 173 |
|
174 |
;;; Local Variables: |
|
175 |
;;; eval: (put 'node-match 'scheme-indent-function 1) |
|
104
8856b63d0561
More development of etng-r1
Tony Garnock-Jones <tonyg@kcbbs.gen.nz>
parents:
103
diff
changeset
|
176 |
;;; eval: (put 'rec 'scheme-indent-function 1) |
103 | 177 |
;;; End: |