Coverage report: /home/ellis/comp/core/lib/parse/pkg.lisp

KindCoveredAll%
expression08 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 (require :sb-cltl2)
2
 
3
 (defpackage :parse/proto
4
   (:use :cl :std)
5
   (:export :parse :parser-condition :parser-error :simple-parser-error))
6
 
7
 (defpackage :parse/lex
8
   (:nicknames :lex)
9
   (:use :cl :cl-ppcre :std :parse/proto)
10
   (:export
11
    #:*string*
12
    #:*length*
13
    #:*index*
14
    #:with-lexer-environment
15
    #:consume
16
    #:advance
17
    #:unread
18
    #:peek
19
    #:advance-n
20
    #:unread-n
21
    #:consume-until
22
    #:matcher-character
23
    #:matcher-string
24
    #:matcher-range
25
    #:matcher-find
26
    #:matcher-or
27
    #:matcher-and
28
    #:matcher-not
29
    #:matcher-next
30
    #:matcher-prev
31
    #:matcher-any
32
    #:make-matcher
33
    #:define-matcher))
34
 
35
 (defpackage :parse/yacc
36
   (:use :cl :parse/proto)
37
   (:import-from :std :memq :required-argument)
38
   (:export :make-production :make-grammar :make-parser :parse-with-lexer
39
            :define-grammar :define-parser
40
            :yacc-compile-warning :conflict-warning :conflict-summary-warning
41
            :yacc-runtime-error :yacc-parse-error :yacc-parse-error-terminal
42
            :yacc-parse-error-value :yacc-parse-error-expected-terminals))
43
 
44
 (defpackage parse/bytes
45
   (:use :cl :parse/proto)
46
   (:import-from :sb-cltl2
47
    :variable-information)
48
   (:import-from :std :with-gensyms :once-only
49
    :ensure-cons :ignore-some-conditions :octet-vector :octet)
50
   (:import-from :sb-ext :string-to-octets :octets-to-string)
51
   (:export 
52
    :with-vector-parsing
53
    :with-string-parsing
54
    :with-octets-parsing
55
    :eofp
56
    :current
57
    :peek
58
    :eof-value
59
    :pos
60
    :advance
61
    :advance*
62
    :advance-to
63
    :advance-to*
64
    :skip
65
    :skip*
66
    :skip+
67
    :skip?
68
    :skip-until
69
    :skip-while
70
    :bind*
71
    :match
72
    :match-i
73
    :match?
74
    :match-case
75
    :match-i-case
76
    :match-failed))
77
 
78
 (defpackage :parse/pratt
79
   (:use :cl :parse/proto)
80
   (:export :pratt-parser :next-precedence :parse-prefix :parse-infix))
81
 
82
 ;; FIX 2024-11-09: name conflict ADVANCE bytes vs lex
83
 (uiop:define-package :parse
84
   (:use :cl :std)
85
   (:use-reexport :parse/proto :parse/lex :parse/yacc :parse/pratt))