StackOverflow

View: New views
4 Messages — Rating Filter:   Alert me  

StackOverflow

by Bradley Longstreth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Hello All:

I have a situation whereby we are generating dynamic classes on the fly using SimpleCompiler.  Inside the class, we are reading, what could be very large expressions...Example:

class Foo {
 
  static Object getExpressionValue() {
    SomeFunc(value, value, value, value) + SumFunction(value, value, value, value) + ....
  }
}

This is a simple class demonstrating that I am generating a dynamic infix expression on the fly.  As some point, when the expression gets large, I receive a stack overflow from the SimpleCompiler.  In fact, I have seen where it will be okay...then on the next code generation it will fail.  Now, when I say large, I mean about 180+ of the pattern SomeFunc(value,value,value,value))....Anyway, I have attached a partial stack trace to show the problem.  Please let me know if there are any know issues or if I simply just need to break the expression up into smaller pieces. Also, I am not sure if the has to do with the 32k byte code generation.  If so, I assume I will have to do something different with the dynamic expression generation...Any suggestions would be appreciated.

Best Regards,

Bradley
 
 
java.lang.StackOverflowError
        at org.codehaus.janino.Parser.peekOperator(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)


Re: StackOverflow

by Matt Fowles :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bradley~

Janino uses a hand rolled recursive descent parser.  What you are see is a natural consequence of that and cannot easily be fixed.  The work around is to generate code like:

static Object getExpressionValue() {
    int foo = SomeFunc(value, value, value, value);
    foo += SumFunction(value, value, value, value);
    foo += SumFunction(value, value, value, value);
    ...
  }

Matt



On Fri, Jan 16, 2009 at 12:54 PM, Bradley Longstreth <longstrb@...> wrote:
Hello All:

I have a situation whereby we are generating dynamic classes on the fly using SimpleCompiler.  Inside the class, we are reading, what could be very large expressions...Example:

class Foo {
 
  static Object getExpressionValue() {
    SomeFunc(value, value, value, value) + SumFunction(value, value, value, value) + ....
  }
}

This is a simple class demonstrating that I am generating a dynamic infix expression on the fly.  As some point, when the expression gets large, I receive a stack overflow from the SimpleCompiler.  In fact, I have seen where it will be okay...then on the next code generation it will fail.  Now, when I say large, I mean about 180+ of the pattern SomeFunc(value,value,value,value))....Anyway, I have attached a partial stack trace to show the problem.  Please let me know if there are any know issues or if I simply just need to break the expression up into smaller pieces. Also, I am not sure if the has to do with the 32k byte code generation.  If so, I assume I will have to do something different with the dynamic expression generation...Any suggestions would be appreciated.

Best Regards,

Bradley
 
 
java.lang.StackOverflowError
        at org.codehaus.janino.Parser.peekOperator(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)



Re: StackOverflow

by Hayden Schultz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Another workaround is that you can give yourself a larger stack size with the -XssN argument (n is the stack size). But that's a somewhat dangerous solution because a larger expression will require a larger stack, so you may not be able to be sure your stack size is large enough.

Matt's suggestion is safer.

   Hayden

On Jan 19, 2009, at 4:56 PM, Matt Fowles wrote:

Bradley~

Janino uses a hand rolled recursive descent parser.  What you are see is a natural consequence of that and cannot easily be fixed.  The work around is to generate code like:

static Object getExpressionValue() {
    int foo = SomeFunc(value, value, value, value);
    foo += SumFunction(value, value, value, value);
    foo += SumFunction(value, value, value, value);
    ...
  }

Matt



On Fri, Jan 16, 2009 at 12:54 PM, Bradley Longstreth <longstrb@...> wrote:
Hello All:

I have a situation whereby we are generating dynamic classes on the fly using SimpleCompiler.  Inside the class, we are reading, what could be very large expressions...Example:

class Foo {
 
  static Object getExpressionValue() {
    SomeFunc(value, value, value, value) + SumFunction(value, value, value, value) + ....
  }
}

This is a simple class demonstrating that I am generating a dynamic infix expression on the fly.  As some point, when the expression gets large, I receive a stack overflow from the SimpleCompiler.  In fact, I have seen where it will be okay...then on the next code generation it will fail.  Now, when I say large, I mean about 180+ of the pattern SomeFunc(value,value,value,value))....Anyway, I have attached a partial stack trace to show the problem.  Please let me know if there are any know issues or if I simply just need to break the expression up into smaller pieces. Also, I am not sure if the has to do with the 32k byte code generation.  If so, I assume I will have to do something different with the dynamic expression generation...Any suggestions would be appreciated.

Best Regards,

Bradley
 
 
java.lang.StackOverflowError
        at org.codehaus.janino.Parser.peekOperator(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)




Re: StackOverflow

by Bradley Longstreth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
That is exactly what I thought the problem would be.  I just didn't think it would fail so quickly...Anyway, thank you for the response.

Best Regards,

Bradley


From: Matt Fowles <matt.fowles@...>
To: user@...
Sent: Monday, January 19, 2009 2:56:30 PM
Subject: Re: [janino-user] StackOverflow

Bradley~

Janino uses a hand rolled recursive descent parser.  What you are see is a natural consequence of that and cannot easily be fixed.  The work around is to generate code like:

static Object getExpressionValue() {
    int foo = SomeFunc(value, value, value, value);
    foo += SumFunction(value, value, value, value);
    foo += SumFunction(value, value, value, value);
    ...
  }

Matt



On Fri, Jan 16, 2009 at 12:54 PM, Bradley Longstreth <longstrb@...> wrote:
Hello All:

I have a situation whereby we are generating dynamic classes on the fly using SimpleCompiler.  Inside the class, we are reading, what could be very large expressions...Example:

class Foo {
 
  static Object getExpressionValue() {
    SomeFunc(value, value, value, value) + SumFunction(value, value, value, value) + ....
  }
}

This is a simple class demonstrating that I am generating a dynamic infix expression on the fly.  As some point, when the expression gets large, I receive a stack overflow from the SimpleCompiler.  In fact, I have seen where it will be okay...then on the next code generation it will fail.  Now, when I say large, I mean about 180+ of the pattern SomeFunc(value,value,value,value))....Anyway, I have attached a partial stack trace to show the problem.  Please let me know if there are any know issues or if I simply just need to break the expression up into smaller pieces. Also, I am not sure if the has to do with the 32k byte code generation.  If so, I assume I will have to do something different with the dynamic expression generation...Any suggestions would be appreciated.

Best Regards,

Bradley
 
 
java.lang.StackOverflowError
        at org.codehaus.janino.Parser.peekOperator(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)
        at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java)
        at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java)
        at org.codehaus.janino.Parser.parseShiftExpression(Parser.java)
        at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java)
        at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java)
        at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java)
        at org.codehaus.janino.Parser.parseExpression(Parser.java)
        at org.codehaus.janino.Parser.parseArgumentList(Parser.java)
        at org.codehaus.janino.Parser.parseArguments(Parser.java)
        at org.codehaus.janino.Parser.parsePrimary(Parser.java)