~mdw
/
sod
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
3f4ac95
)
src/pset-parse.lisp: Allow brace-enclosed fragments as property values.
author
Mark Wooding
<mdw@distorted.org.uk>
Sun, 30 Aug 2015 09:58:38 +0000
(10:58 +0100)
committer
Mark Wooding
<mdw@distorted.org.uk>
Sun, 30 Aug 2015 17:11:38 +0000
(18:11 +0100)
src/pset-parse.lisp
patch
|
blob
|
blame
|
history
diff --git
a/src/pset-parse.lisp
b/src/pset-parse.lisp
index
f81ce92
..
11b4003
100644
(file)
--- a/
src/pset-parse.lisp
+++ b/
src/pset-parse.lisp
@@
-82,7
+82,8
@@
expression: term | expression `+' term | expression `-' term
term: factor | term `*' factor | term `/' factor
factor: primary | `+' factor | `-' factor
expression: term | expression `+' term | expression `-' term
term: factor | term `*' factor | term `/' factor
factor: primary | `+' factor | `-' factor
- primary: int | id | string | `(' expression `)' | `?' lisp-expression
+ primary: int | id | string | `(' expression `)' | `{' fragment `}'
+ | `?' lisp-expression
Only operators for dealing with integers are provided."
(with-parser-context (token-scanner-context :scanner scanner)
Only operators for dealing with integers are provided."
(with-parser-context (token-scanner-context :scanner scanner)
@@
-101,6
+102,11
@@
(multiple-value-bind (type value)
(decode-property sexp)
(values (cons type value) t t))))
(multiple-value-bind (type value)
(decode-property sexp)
(values (cons type value) t t))))
+ (#\{
+ (values (cons :fragment
+ (parse-delimited-fragment scanner
+ #\{ #\}))
+ t t))
(t
(values (list :int :id :char :string #\?)
nil nil)))))
(t
(values (list :int :id :char :string #\?)
nil nil)))))