Warning: Undefined global variable $debug in /var/www/ourcoders/tiny4cocoa/application/controllers/baseController.php on line 124
有个梨UGlee 2019-11-27 00:00:00 发布的技术动态 - OurCoders (我们程序员)
有个梨UGlee
2019-11-27 00:00:00 发布
dbus有个type signature编码。

一般来说这种写parser是递归同时维护一个stack,函数入口是字符串的position,作为start点;

我写了个双递归,一个函数遇到opening token的时候先去查找到closing token,然后把内容截取出来,用另一个函数去解析出内容列表,两个函数互相调用,可以不用栈但是接口上要有start和end两个位置参数。

但是测试的时候后面这个有麻烦,而且遇到出错的时候难以给出良好的错误信息,没有stack不是很好理解。

明天还得老老实实写个基于stack的parser。唉。