第十三章 解析文本

728 篇文章 1 订阅
86 篇文章 0 订阅

第十三章解析文本

 

结构化的文本格式,对我和机器来说,都具有可读性,在计算机界几乎从开始就流行,编程语言就是一个很好的示例,当然还有其他许多应用。解析文本,与前面一章“面向语言编程”是相关联的,因为,如果想要实现一种语言,不嵌入在 F# 中,那么,第一步就是要为这种格式创建解析器。然而,解析已有文本格式是有许多原因的,因此,,没有把它限制在解析语言这一章中。[ 也是这一章从原来第十二章中分出来的原因]

简单的文本格式,比如逗号分隔(comma separated values,CSV)格式,通常很容易解析,尽管逗号分隔格式可能有挑战,如正确地处理转义字符。随着语言变得越来越复杂,解析语言的挑战也在增加。即使是看起来很简单的语言,像 HTML,解析起来也有难度;这在一定程度上推动了 XML 的普及,因为解析器被打包成软件组件,节省了解析 XML 的工作。由于 XML 的某些限制,需要写解析器的其他文本格式仍然很流行;对特定域语言的重新兴起,也导致了在文本解析的重新兴起,因此,新的脱离编程语言的特定域语言可能已经产生。

很幸运,F# 提供了几个不同的文本解析工具,本章我们讨论其中的两个:

fslex.exe 和 fsyacc.exe 的使用

开源库FParsec 的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值