private void analyzeSelectStatement() throws SemanticAnalyzerException {
   SemanticAnalyzer selectAnalzyer =
       SemanticAnalyzerFactory.createAnalyzer(multiInsert.getSelects(), getAllSchemas());
   SelectWithOutFromAnalyzer sAnalyzer = (SelectWithOutFromAnalyzer) selectAnalzyer;
   sAnalyzer.setFromAnalyzeContext(getFromAnalyzeContext());
   context.setSelectContext((SelectWithOutFromAnalyzeContext) selectAnalzyer.analyze());
 }
  @Test
  public void test() throws Exception {
    WordTree root = new WordTree(new String[] {});

    String noun = "noun:Đất nước\n" + "noun:tôi\n" + "noun:thon thả\n" + "noun:giọt đàn bầu";
    for (String n : noun.split("\n")) {
      SemanticWord w = new SemanticWord();
      w.tranform(n);
      root.addEntity(w);
    }

    String s = "Đất nước<i> tôi thon thả</i> giọt đàn bầu";
    TokenParser parser = new TokenParser();
    List<Token> tokens = parser.parse(s);
    Assert.assertEquals(17, tokens.size());
    SemanticAnalyzer analyzer = new SemanticAnalyzer(tokens, root);
    tokens = analyzer.analyze();
    Assert.assertEquals(9, tokens.size());
    Assert.assertEquals("Đất nước", tokens.get(0).getOriginal());
    Assert.assertEquals("<i>", tokens.get(1).getOriginal());
    Assert.assertEquals(" ", tokens.get(2).getOriginal());
    Assert.assertEquals("tôi", tokens.get(3).getOriginal());
    Assert.assertEquals(" ", tokens.get(4).getOriginal());
    Assert.assertEquals("thon thả", tokens.get(5).getOriginal());
    Assert.assertEquals("</i>", tokens.get(6).getOriginal());
    Assert.assertEquals(" ", tokens.get(7).getOriginal());
    Assert.assertEquals("giọt đàn bầu", tokens.get(8).getOriginal());
  }
  private void analyzeSelectStatement() throws SemanticAnalyzerException {
    SemanticAnalyzer selectAnalzyer =
        SemanticAnalyzerFactory.createAnalyzer(insertContext.getSelect(), getAllSchemas());

    if (selectAnalzyer instanceof SelectStatementAnalyzer) {
      ((SelectStatementAnalyzer) selectAnalzyer).setOutputStreamName(context.getOutputStreamName());
    }

    context.setSelectContext((SelectAnalyzeContext) selectAnalzyer.analyze());
  }
Exemplo n.º 4
0
 private SemanticStateMachine produceAst(String s) {
   lexer.lex(s);
   parser.handleEvent(EOF, -1, -1);
   return analyzer.analyze(builder.getFsm());
 }