Revision 44379 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/java/org/gvsig/expresionevaluator/impl/TestGrammarInterpreter.java

View differences:

TestGrammarInterpreter.java
108 108
        Interpreter interpreter = createInterpreter(symbolTable);
109 109

  
110 110
        symbolTable.setVar("V1", 10);
111
        String source = "IF V1 = 11 THEN SET V2 = 22";
111
        String source = "IF V1 = 11 THEN SET V2 = 22; END IF";
112 112
        Code code = compiler.compileExpression(source);
113 113
        Object v = interpreter.run(code);
114 114

  
......
117 117
        assertEquals(null, symbolTable.value("V2"));
118 118

  
119 119
        symbolTable.setVar("V1", 11);
120
        source = "IF V1 = 11 THEN SET V2 = 22";
120
        source = "IF V1 = 11 THEN SET V2 = 22; END IF";
121 121
        code = compiler.compileExpression(source);
122 122
        v = interpreter.run(code);
123 123

  
......
132 132
        Interpreter interpreter = createInterpreter(symbolTable);
133 133

  
134 134
        symbolTable.setVar("V1", 10);
135
        String source = "IF V1 = 11 THEN SET V2 = 11 ELSE SET V2 = 22";
135
        String source = "IF V1 = 11 THEN SET V2 = 11; ELSE SET V2 = 22; END IF";
136 136
        Code code = compiler.compileExpression(source);
137 137
        Object v = interpreter.run(code);
138 138

  
......
147 147
        Interpreter interpreter = createInterpreter(symbolTable);
148 148

  
149 149
        symbolTable.setVar("V1", 11);
150
        String source = "IF V1 = 11 THEN BEGIN LET V2 = 22; LET V1 = 10 END";
150
        String source = "IF V1 = 11 THEN LET V2 = 22; LET V1 = 10; END IF";
151 151
        Code code = compiler.compileExpression(source);
152 152
        Object v = interpreter.run(code);
153 153

  
......
162 162
        Interpreter interpreter = createInterpreter(symbolTable);
163 163

  
164 164
        symbolTable.setVar("n",0);
165
        String source = "WHILE n < 10 SET n = n + 1";
165
        String source = "WHILE n < 10 BEGIN SET n = n + 1; END WHILE";
166 166
        Code code = compiler.compileExpression(source);
167 167
        Object v = interpreter.run(code);
168 168

  
......
221 221
        Compiler compiler = createCompiler();
222 222
        Interpreter interpreter = createInterpreter(symbolTable);
223 223

  
224
        String source = "FOR n in RANGE(10) print(n)";
224
        String source = "FOR n in RANGE(10) BEGIN print(n); END FOR";
225 225
        Code code = compiler.compileExpression(source);
226 226
        Object v = interpreter.run(code);
227 227

  
......
282 282
        Compiler compiler = createCompiler();
283 283
        Interpreter interpreter = createInterpreter(symbolTable);
284 284

  
285
        String source = "DEF test1() 'Hola'"; 
285
        String source = "CREATE FUNCTION test1() RETURN 'Hola'; END FUNCTION"; 
286 286
        Code code = compiler.compileExpression(source);
287 287
        Object v = interpreter.run(code);
288 288

  
......
298 298
        Compiler compiler = createCompiler();
299 299
        Interpreter interpreter = createInterpreter(symbolTable);
300 300

  
301
        String source = "DEF test1(nombre) 'Hola ' || nombre";
301
        String source = "CREATE FUNCTION test1(nombre) RETURN 'Hola ' || nombre; END FUNCTION";
302 302
        Code code = compiler.compileExpression(source);
303 303
        Object v = interpreter.run(code);
304 304

  
......
314 314
        Compiler compiler = createCompiler();
315 315
        Interpreter interpreter = createInterpreter(symbolTable);
316 316

  
317
        String source = "DEF test1(nombre) BEGIN RETURN 'Hola ' || nombre END";
317
        String source = "CREATE FUNCTION test1(nombre) RETURN 'Hola ' || nombre; END FUNCTION";
318 318
        Code code = compiler.compileExpression(source);
319 319
        Object v = interpreter.run(code);
320 320

  
......
330 330
        Compiler compiler = createCompiler();
331 331
        Interpreter interpreter = createInterpreter(symbolTable);
332 332

  
333
        String source = "DEF test1(nombre) BEGIN RETURN 'Hola ' || nombre; 'Oh!...'; END";
333
        String source = "CREATE FUNCTION test1(nombre) RETURN 'Hola ' || nombre; END FUNCTION";
334 334
        Code code = compiler.compileExpression(source);
335 335
        Object v = interpreter.run(code);
336 336

  
......
346 346
        Compiler compiler = createCompiler();
347 347
        Interpreter interpreter = createInterpreter(symbolTable);
348 348

  
349
        String source = "begin set x = ''; for n in list('hola','adios','fin'): let x = x || ' ' || n end";
349
        String source = "begin set x = ''; for n in list('hola','adios','fin'): let x = x || ' ' || n; end for; end";
350 350
        Code code = compiler.compileExpression(source);
351 351
        Object v = interpreter.run(code);
352 352

  
......
358 358
        Compiler compiler = createCompiler();
359 359
        Interpreter interpreter = createInterpreter(symbolTable);
360 360

  
361
        String source = "begin set s = ''; set x = LIST('hola','adios','fin'); FOR n in RANGE(3): set s = s || ' ' || x[n] end";
361
        String source = "begin set s = ''; set x = LIST('hola','adios','fin'); FOR n in RANGE(3): set s = s || ' ' || x[n]; end for; end";
362 362
        Code code = compiler.compileExpression(source);
363 363
        Object v = interpreter.run(code);
364 364

  

Also available in: Unified diff