Changeset 5304
- Timestamp:
- 08/18/08 14:12:14 (3 months ago)
- Files:
-
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryBaseParser.java (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryBaseParser.smap (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryBaseParserTokenTypes.java (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryBaseParserTokenTypes.txt (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryLexer.java (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryLexer.smap (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryParser.g (modified) (10 diffs)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryTreeParser.java (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryTreeParser.smap (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryTreeParserTokenTypes.java (deleted)
- openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryTreeParserTokenTypes.txt (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs/branches/logic-api-refactoring/src/api/org/openmrs/logic/queryparser/LogicQueryParser.g
r5166 r5304 503 503 //(of_read_func_op) | (from_of_func_op (INTLIT )?) expr (temporal_comp_op iso_date_time) ? SEMI; 504 504 505 query_AST [LogicCriteria lc]returns [LogicCriteria lc_return = null]505 query_AST returns [LogicCriteria lc_return = null] 506 506 {String a = "", b=""; 507 507 Operator transform = null, comp_op = null, temporal_op = null; … … 509 509 : 510 510 ( 511 (transform = of_from_AST [lc])?511 (transform = of_from_AST)? 512 512 ( 513 513 #(ift:ID 514 514 { a = ift.getText(); //System.err.println("text = " + a); 515 lc.setRightOperand(ift.getText()); 516 515 517 516 } 518 517 … … 521 520 #(ifst:STRING_LITERAL 522 521 { a = ifst.getText(); //System.err.println("text = " + a); 523 lc.setRightOperand(ifst.getText());524 522 525 523 } … … 529 527 #(val:INTLIT 530 528 { a = val.getText(); //System.err.println("text = " + a); 531 lc.setRightOperand(val.getText());529 // This is an error on LHS of an expr 532 530 } 533 531 … … 536 534 ( 537 535 ( 538 comp_op = simple_comp_op [lc,a]536 comp_op = simple_comp_op 539 537 ( 540 538 #(idt:ID 541 539 { b += idt.getText(); //System.err.println("text = " + b); 542 LogicCriteria ac = new LogicCriteria(comp_op, b);543 lc = lc.appendCriteria(Operator.AND, ac);544 //System.out.println(lc.toString());545 540 } 546 541 … … 549 544 #(idstr:STRING_LITERAL 550 545 { b += idstr.getText(); //System.err.println("text = " + b); 551 LogicCriteria ac = new LogicCriteria(comp_op, b);552 lc = lc.appendCriteria(Operator.AND, ac);553 //System.out.println(lc.toString());554 546 } 555 547 … … 558 550 #(valstr:INTLIT 559 551 { b += valstr.getText(); //System.err.println("text = " + b); 560 LogicCriteria ac = new LogicCriteria(comp_op, b);561 lc = lc.appendCriteria(Operator.AND, ac);562 //System.out.println(lc.toString());563 552 } 564 553 565 554 ) 566 555 ) 556 {LogicCriteria lc = new LogicCriteria(null,a); 557 lc.appendExpression(comp_op, b); 558 lc_return = lc.applyTransform(transform); 559 } 567 560 ) ? 568 561 | 569 562 ( 570 temporal_op = temporal_comp_op [lc,a]563 temporal_op = temporal_comp_op 571 564 ( 572 565 {GregorianCalendar gc = new GregorianCalendar();} b = dateAST [gc] 573 { 574 LogicCriteria ac = new LogicCriteria(temporal_op, gc); 575 lc = lc.appendCriteria(Operator.AND, ac); 576 //System.out.println(gc.toString()); 577 //{System.err.println("date = " + b);} 578 } 579 580 581 566 { 567 LogicCriteria lc = new LogicCriteria(null,a); 568 lc.appendExpression(temporal_op, gc); 569 lc_return = lc.applyTransform(transform); 570 } 571 582 572 ) 573 583 574 )? 584 575 ) 585 576 { 586 lc_return = lc.applyTransform(transform); 587 //System.out.println(lc_return.toString()); 577 if(lc_return == null) // just a terminal symbol like CD4 COUNT 578 { 579 lc_return = new LogicCriteria(null,a); 580 } 588 581 return lc_return; 589 582 } … … 618 611 ; 619 612 620 simple_comp_op [LogicCriteria lc, String operand]returns [Operator s = null]621 {String a ,b;}613 simple_comp_op returns [Operator s = null] 614 {String a = "", b="";} 622 615 : 623 616 ( … … 660 653 ; 661 654 662 temporal_comp_op [LogicCriteria lc, String operand]returns [Operator s = null]663 {String a ,b;}655 temporal_comp_op returns [Operator s = null] 656 {String a = "", b="";} 664 657 : 665 658 ( … … 680 673 681 674 682 of_from_AST [LogicCriteria lc]returns [Operator s = null]675 of_from_AST returns [Operator s = null] 683 676 {} 684 677 :