For the sake of simplicity. I've just define functions or macros which can 
appear in the data structure and simply call eval on that structure. The 
defined functions and macros has side effect which is println to the binded 
output stream.

The example structure looks like this:

            (Stmt_If {
                :cond (Expr_FuncCall {
                    :name (Name {
                        :parts [
                            "preg_match"
                        ]})
                    :args [
                        (Arg {
                            :value (Scalar_String {
                                :value 
"%2F%5E%5B0-9a-fA-F%5D%7B6%7D%24%2F"})
                            :byRef false
                            :unpack false})
                        (Arg {
                            :value (Expr_Variable {
                                :name "col"})
                            :byRef false
                            :unpack false})
                    ]})
                :stmts [
                    (Stmt_Return {
                        :expr (Expr_Variable {
                            :name "col"})})
                ]
                :elseifs [
                ]
                :else nil})



On Thursday, 27 August 2015 16:16:17 UTC+2, James Reeves wrote:
>
> On 27 August 2015 at 10:31, Olek <aleksand...@gmail.com <javascript:>> 
> wrote:
>>
>> Today I fall into:
>>
>>  java.lang.RuntimeException: java.lang.ClassFormatError: Invalid method 
>> Code length 88118 in class file xxx$eval304 (xxx.clj:274) (xxx.clj:3)
>>
>> problem.
>>
>> The reason is that I tried to use data as code and just execute the 
>> slurped AST in order to produce another form of code (I'm converting the 
>> code from one language to another).
>> Is there any way to switch Clojure to interpreted mode instead of 
>> compiling the data structure form? The structure what causes the headache 
>> are arrays initializers.
>> I would like to keep the code simple since the language should solve the 
>> problem for me, not me for the case of stupid 64kb method limit.
>>
>
> No, Clojure doesn't have an "interpreted mode" that would get around the 
> 64kb method limit. But why do you need to eval in the first place if you're 
> just converting code from one language to another?
>
> - James
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to