Hi,
I wrote lexer return (values (intern "{") (intern "{"))
but when using LR parser, the following error occurs.
I have red the code expanded by macro, and found that the second argument is evaluated, which should be (intern "{").
If the lexer return (values '{ '{), it works.
So is there any way to use string to symbol function in lexer?
Thanks,
Haiwei
Unknown terminal {
[Condition of type SIMPLE-ERROR]
Restarts:
0: [ABORT] Return to SLIME's top level.
1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "new-repl-thread" {AEFFD89}>)
Backtrace:
0: ((LAMBDA (#:G203 #:G205 #:G206))
6
#<unavailable argument>
(0 #<CLOSURE # {AEE11B5}> #<FUNCTION # {AED86B5}>
#2A((# # #S(FUCC::ERROR-ACTION) #S(FUCC::ERROR-ACTION)
#S(FUCC::ERROR-ACTION) #S(FUCC::ERROR-ACTION)
#S(FUCC::ERROR-ACTION) # #S(FUCC::ERROR-ACTION) # ...)
(#S(FUCC::ERROR-ACTION) # # # # # # #S(FUCC::ERROR-ACTION)
#S(FUCC::ERROR-ACTION) # ...)
(#S(FUCC::ACCEPT-ACTION) #S(FUCC::ERROR-ACTION) ..))))
Locals:
SB-DEBUG::ARG-0 = 6
SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
SB-DEBUG::ARG-2 = (0 #<CLOSURE (LAMBDA #) {AEE11B5}> #<FUNCTION (LAMBDA #) {AED86B5}>