Add member-record system for storing highlights from various passes.
This commit is contained in:
parent
a716b0776f
commit
968fc95e17
2 changed files with 15 additions and 0 deletions
|
@ -36,6 +36,13 @@
|
|||
(chicken io)
|
||||
member2-record)
|
||||
|
||||
;; Returns a list of parsed lines
|
||||
(define (parse-member-lines source)
|
||||
(let loop ((lines source)
|
||||
(result '())
|
||||
(line-number 1))
|
||||
#f))
|
||||
|
||||
;; Loads member file source. Performs passes 0 and 1 on each line
|
||||
;; returning parsed source. Parsed source is a list of lists
|
||||
;; containing '(key value line-number) information. Leading and
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
make-member-record
|
||||
member-record-input-file
|
||||
member-record-set
|
||||
member-record-add-highlight
|
||||
member-record-tests!
|
||||
)
|
||||
|
||||
|
@ -79,6 +80,13 @@
|
|||
(dict-set mr (string->symbol (keyword->string (car args)))
|
||||
(cadr args))))))))
|
||||
|
||||
;; Adds highlight identified by line number, message, pass number and
|
||||
;; type (error, warning, info).
|
||||
(define (member-record-add-highlight mr line-number message pass type)
|
||||
(dict-set mr 'highlights
|
||||
(cons (list line-number message pass type)
|
||||
(dict-ref mr 'highlights '()))))
|
||||
|
||||
;; Self-tests
|
||||
(define (member-record-tests!)
|
||||
(run-tests
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue