parsing - 重新排列标记是词法分析器的工作吗?
问题描述
我正在为自定义文件格式编写一个解析器,该文件格式由跨越多行的不确定数量的数据结构构成。构成每个单独结构的线条保证是连续的,但可以以任何顺序出现。为了能够组装结构,每行的结构中数据的偏移量被写入该行的开头。
我写了一个词法分析器,它产生 3 种类型的标记:data_offset
, data
, end_of_line
. 但这意味着现在由我的解析器来丢弃data_offset
和end_of_line
标记,并重新排列行,我觉得这不合适。
我是否应该编写一个只产生标记的词法分析器structure
,表示去除偏移量和 EOL 并重新组装成正确顺序的结构?
编辑:
如果有人碰巧偶然发现这篇文章,我最终做的是一个经典的词法分析器/解析器,它简单地标记文件并构建一个 AST,然后我实现了一个“分析器”,可以处理解析的数据,重新排列它等等...... “每个人都为他的行业”
解决方案
推荐阅读
- reactjs - 在 React JS 中获取后地图在渲染中不起作用
- c++ - 在 thread::sleep_for() 之后代码运行速度明显变慢
- asp.net-identity - AspNetUserClaims 删除所有项目 ClaimType
- python - 无法使用cmd安装github python程序
- shopware - Shopware 6“您在安装插件后请求了一个不存在的服务“sales_channel_definition.ProductDefinition”
- python - 当我按下运行时,Python 代码没有输入。我怎样才能解决这个问题?
- sql - 仅当两个表中都存在员工时才从临时表中更新员工 ID
- c++ - 定义javascript构造函数关键字的宏
- ios14 - iOS 14 App Library 按开发者名称分类
- php - 如何在 Laravel 中删除不在 storage/app 下的文件夹(及其内容)?