as expression, so i can eval (it’s a longer story of library/code adaptation …)
julia> u1 = "ccall((:u3,\"./u1.so\"),Float64,(Float64,),x)"
"ccall((:u3,\"./u1.so\"),Float64,(Float64,),x)"
julia> e0 = parse(u1)
:(ccall((:u3,"./u1.so"),Float64,(Float64,),x))
julia> dump(e0)
Expr
head: Symbol ccall
args: Array{Any}((4,))
1: Expr
head: Symbol tuple
args: Array{Any}((2,))
1: QuoteNode
value: Symbol u3
2: String "./u1.so"
typ: Any
2: Symbol Float64
3: Expr
head: Symbol tuple
args: Array{Any}((1,))
1: Symbol Float64
typ: Any
4: Symbol x
typ: Any
So how do i get the QuoteNode in the first argument to ccall?
julia> dump(:(:u3))
QuoteNode
value: Symbol u3
julia> dump(:(Symbol("u3")))
Expr
head: Symbol call
args: Array{Any}((2,))
1: Symbol Symbol
2: String "u3"
typ: Any