Revision 47465

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/grammars/BasicGrammarFactory.java
571 571

  
572 572
        stmt = theGrammar.createStatement("DATE");
573 573
        stmt.addRule(stmt.require_any_token("DATE"));
574
        stmt.addRule(stmt.require_expression().capture_as("EXP"));
574
        stmt.addRule(stmt.optional_any_token("(")
575
                .addRuleOnTrue(stmt.require_expression().capture_as("EXP"))
576
                .addRuleOnTrue(stmt.require_any_token(")"))
577
                .addRuleOnFalse(stmt.require_literal_string().capture_as("EXP"))
578
        );
579
        
575 580
        stmt.code(FUNCTION_DATE, stmt.args_names("EXP"));
576 581
        return stmt;
577 582
    }
......
581 586

  
582 587
        stmt = theGrammar.createStatement("TIME");
583 588
        stmt.addRule(stmt.require_any_token("TIME"));
584
        stmt.addRule(stmt.require_expression().capture_as("EXP"));
589
        stmt.addRule(stmt.optional_any_token("(")
590
                .addRuleOnTrue(stmt.require_expression().capture_as("EXP"))
591
                .addRuleOnTrue(stmt.require_any_token(")"))
592
                .addRuleOnFalse(stmt.require_literal_string().capture_as("EXP"))
593
        );
585 594
        stmt.code(FUNCTION_TIME, stmt.args_names("EXP"));
586 595
        return stmt;
587 596
    }
......
601 610

  
602 611
        stmt = theGrammar.createStatement("TIMESTAMP");
603 612
        stmt.addRule(stmt.require_any_token("TIMESTAMP"));
604
        stmt.addRule(stmt.require_expression().capture_as("EXP"));
613
        stmt.addRule(stmt.optional_any_token("(")
614
                .addRuleOnTrue(stmt.require_expression().capture_as("EXP"))
615
                .addRuleOnTrue(stmt.require_any_token(")"))
616
                .addRuleOnFalse(stmt.require_literal_string().capture_as("EXP"))
617
        );
605 618
        stmt.code(FUNCTION_TIMESTAMP, stmt.args_names("EXP"));
606 619
        return stmt;
607 620
    }

Also available in: Unified diff