有个梨UGlee
2019-11-27 00:00:00 发布
dbus有个type signature编码。
一般来说这种写parser是递归同时维护一个stack,函数入口是字符串的position,作为start点;
我写了个双递归,一个函数遇到opening token的时候先去查找到closing token,然后把内容截取出来,用另一个函数去解析出内容列表,两个函数互相调用,可以不用栈但是接口上要有start和end两个位置参数。
但是测试的时候后面这个有麻烦,而且遇到出错的时候难以给出良好的错误信息,没有stack不是很好理解。
明天还得老老实实写个基于stack的parser。唉。