public void parser() throws Exception {
		Connection conn = JDBC.createConnection();
		Ngram ngram;
		int count = 0;
		Token pre = new Token(null, null);
		String preWordWithAttr = null;

		// for (int i = 0; i < 10; i++)
		// list = lexer.nextTokenList();

		while (list != null) {
			
			System.out.println("sss" + list.size());

			preWordWithAttr = null;
			for (int i = 0; i < list.size(); i++) {
				current = list.get(i);

				if (current.getKind() == Token.Kind.TOKEN_WORD) {
					if (pre.getKind() == Token.Kind.TOKEN_ATTRIBUTE) {
						if (preWordWithAttr != null) {
							String attrWithWord[] = preWordWithAttr.split("_");

							ngram = new Ngram();
							ngram.setWordAttribute(attrWithWord[0] + "_"
									+ pre.getContent());
							ngram.setWordGroup(attrWithWord[1] + "_"
									+ current.getContent());
							count++;

							service.addNgrambyup(conn, ngram);
							// service.deleteNgram(conn, ngram);
							// if(hashNgram.get(ngram.getWordGroup().toLowerCase())
							// == null){
							// hashNgram.put(ngram.getWordGroup().toLowerCase(),
							// ngram.getWordAttribute());
							// listAfterHandle.add(ngram);
							// }

							// listAfterHandle.add(ngram);
							preWordWithAttr = pre.getContent() + "_"
									+ current.getContent();
							// }

						} else {
							preWordWithAttr = pre.getContent() + "_"
									+ current.getContent();

						}
					} else if (current.getKind() == Token.Kind.TOKEN_OTHERS
							|| current.getKind() == Token.Kind.TOKEN_PUNCTION) {
						preWordWithAttr = null;
					}
				}

				pre = current;

			}
			list = null;
			list = lexer.nextTokenList();
		}

		// service.batchAddNgram(listAfterHandle);
		JDBC.close(conn);
		System.out.println("add is done");
		// service.deleteNgram();
	}