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}>