星空网 > 软件开发 > Java

Atitit.java expression fsm 表达式分词fsm引擎

 

 

Atitit.java expression fsm 表达式分词fsm引擎

 

C:\0workspace\AtiPlatf_cms\src\com\attilax\fsm\JavaExpFsm.java

 

 

String code = "new(com.attilax.util.connReduceDync).set_resfile(uc_js.txt).joinNout() "

.trim();

 

 

$code=new(com.attilax.user.AgentService).login(admin,admin)

 

[

"new",

"(",

"com.attilax.user.AgentService",

")",

".",

"login",

"(",

"admin",

"admin",

")"

]

 

 

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

 

 

package com.attilax.fsm;

 

import java.util.List;

 

import com.google.common.collect.Lists;

 

public class JavaExpFsm {

List<String> tokens = Lists.newLinkedList();

String curToken = "";

//String splitors = "(),\"";

String curStat = "ini";

private String code;

public char[] code_char_arr;

 

public JavaExpFsm(String code) {

this.code = code;

}

 

/**

 * http://localhost/new(com.attilax.util.connReduceDync).set_resfile(uc_js.txt).joinNout()

 * http://localhost/wrmiServlet?code=new(com.attilax.util.connReduceDync).set_resfile(uc_js.txt).joinNout()

 * @param args

 */

public static void main(String[] args) {

String code = "new(com.attilax.util.connReduceDync).set_resfile(uc_js.txt).joinNout() "

.trim();

code= " new(com.attilax.agent.AgentRechargeService).getSubMemTotalsRecycleByAgentId(\"promoter:$pid$,fld2:v2\")";

List li = new JavaExpFsm(code).getTokens();

for (Object object : li) {

System.out.println(object);

}

System.out.println(li);

 

}

 

public List getTokens() {

code_char_arr = code.toCharArray();

for (char c : code_char_arr) {

// get next char,,then change stat

// jude cur char and cur stat...then if or not chage stat

if (c == '(' && !this.curStat.equals("strStart")) {    //&&  cur stta=ini

this.curStat = "brkStart";

tokens.add(this.curToken);

tokens.add("(");

this.curToken = "";

continue;

}

 

//if (c == '.' && this.curStat.equals("brkStart")) {

//

//curToken = curToken + String.valueOf(c);

//continue;

//

//// this.curStat.equals("brkEnd"))

//

//}

//

if (c == ')'  && !this.curStat.equals("strStart") ) {    //&& cur stat =brk start

this.curStat = "brkEnd";

if(this.curToken.length()>0)

tokens.add(this.curToken);

tokens.add(")");

this.curToken = "";

continue;

}

if (c == '.' && this.curStat.equals("brkEnd")) {

tokens.add(".");

curToken = "";

continue;

}

if(c=='\"' && this.curStat.equals("brkStart"))

{

this.curStat = "strStart";

//tokens.add(c);

this.curToken = "";

continue;

}

if(c=='\"' && this.curStat.equals("strStart"))

{

this.curStat = "strEnd";

tokens.add(this.curToken);

this.curToken = "";

continue;

}

if(c==',' && this.curStat.equals("brkStart"))

{

//this.curStat = "strEnd";

tokens.add(this.curToken);

this.curToken = "";

continue;

}

//if (this.curStat.equals("ini"))

curToken = curToken + String.valueOf(c);

}

return tokens;

}

 

}

 

 




原标题:Atitit.java expression fsm 表达式分词fsm引擎

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

罚款3500万欧元?盘点亚马逊被罚的那些事:https://www.ikjzd.com/articles/137017
重要通知!亚速双旦福利震撼上线,多重惊喜疯狂来袭!:https://www.ikjzd.com/articles/137018
个人做shopify-一件代发更方便了!:https://www.ikjzd.com/articles/137019
中东电商模式之争,亚马逊中东站开放后市场是否面临洗牌?:https://www.ikjzd.com/articles/13702
倒计时|VOVA元旦活动报名即将截止!:https://www.ikjzd.com/articles/137020
财税合规对跨境电商有多重要你知道吗?:https://www.ikjzd.com/articles/137021
TikTok 将推出先买后付服务 :https://www.goluckyvip.com/news/188219.html
深圳有没有比较好玩的景点 深圳有没有比较好玩的景点推荐一下:https://www.vstour.cn/a/366175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流