把一种语言解释成另一种语言的问题,请教字符串处理高手
问题原型:判断字符串A是否在字符串B中,也就是判断字符串B是否包含字符串A如果是C语言,可以定义一个函数is_in,然后用函数判断
if(is_in(A,B))
有些解释型语言有更人性化的表达方式:
if(A in B)
已经很接近自然语言了。问题需求:把 if(A in B) 解释成 if(is_in(A, B)) ,以便于运行
如果仅仅是 if(A in B) 解释成 if(is_in(A, B)) 很简单,但A和B有时候并不一定是变量名
也有可能是表达式:
if((A1+A2) in (B1+B2)) 解释成 if(is_in((A1+A2), (B1+B2)))
if("(A1)" in "(A1)(B2)") 解释成 if(is_in("(A1)", "(A1)(B2)"))
if(A in join(B1, B2)) 解释成 if(is_in(A, join(B1, B2)))
这样怎么做呢?可以用正则表达式
===================================== 2012-09-07 13:48更新 ==============================================
回复6楼:
对,就是做解释器,用php实现python的解释器,用php把python解释(编译)成php,用c语言也可以,步骤可能复杂点。卡在上面的问题上了。进度会在https://www.bccn.net/group/php/ 公布,欢迎感兴趣的朋友一起交流,做出雏形以后开源。