Package: cl-lexer
Version: 1-4
Severity: minor
The README file in the doc directory says:
"The LEXER package implements a lexical-analyzer-generator called DEFLEXER,
which is built on top of both REGEX and CLAWK. "
It is only based on REGEX, not on CLAWK.
The README file also claims:
"You can fix this
by specifying :flex-compatible as the first rule. This gives all patterns a
chance to examine the text and takes the one that matches the longest string
(first pattern wins in case of a tie). The down side of this option is that it
slows down the analyser. If you can solve the issue by reordering your rules
that's the way to do it."
"You can also write this lexer using the :flex-compatible option, in which case
you can write the int and flt rules in any order.
(deflexer test-lexer
:flex-compatible
("[0-9]+"
(return (values 'int (int %0))))
("[0-9]+([.][0-9]+([Ee][0-9]+)?)"
(return (values 'flt (num %0))))
("[:space:]+")
)
"
This is plainly wrong, no such option exists in the current version of the
code. If I do:
CL-USER> (lexer:deflexer test-lexer2
:flex-compatible
("[0-9]+"
(return (values 'int lexer:%0)))
("[0-9]+([.][0-9]+([Ee][0-9]+)?)"
(return (values 'flt lexer:%0)))
("[:space:]+")
)
the system tells me:
The value :FLEX-COMPATIBLE is not of type LIST.
[Condition of type TYPE-ERROR]
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.28-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages cl-lexer depends on:
ii cl-regex 1-3 Common Lisp regular expression com
ii common-lisp-controller 6.17 Common Lisp source and compiler ma
cl-lexer recommends no packages.
cl-lexer suggests no packages.
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]