让解析器可以快速处理词法单元之间的空格

本文探讨了在字符串解析过程中如何高效处理空格字符,通过定义区分空格和忽略空格的不同规则来加速解析过程。介绍了使用注释、跨行注释以及特殊结构来进一步增强解析器的功能。

空格在字符串中时必要的字符,如果在字符串解析中,空格时必须要处理的。

rules / tokens 分别定义区分空格的 rules 和 不区分空格的 rules, 快速的分离空格,能极大的提高解析 速度,对于字符串的解析,先解析后,然后再次解析,这样,所有的词法单元都可以忽略空格了。

只需要定义注释和跨行注释,空格是否区分回车呢?

增加 <strs> 结构?可以定义关键字,简洁的定义。

增加忽略空格功能,所有的都是忽略空格结构,这样可以提高解析速度。 增加 match-array , 将字符串排序后,进行搜索。

速度重要吗?会越来越重要的。go 完整运行后,就添加这些功能。

rules 循环中,可以忽略空格,branch 切换循环时,Rept 匹配,Look 匹配循环开始匹配时,首先忽略 空格,是水平还是全部空格?

Python 还有缩进,定义忽略 rule name is _ , then 在循环的间隔,为了书写方便,定义一次,就在后来 的规则中,不用关心这些东西了。因为在 token 之间,都会忽略这些东西。

     a b c == a _? b _? c
     a+    ==  { |a _| }+
     |a b c|  == |_ a b c|

转载于:https://my.oschina.net/u/563463/blog/1554567

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值