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()); }
private SemanticStateMachine produceAst(String s) { lexer.lex(s); parser.handleEvent(EOF, -1, -1); return analyzer.analyze(builder.getFsm()); }