1 个不稳定版本

0.2.0 2024年4月7日

#418 in 编程语言


用于 ion_shell_lsp_server

MIT 许可证

330KB
9K SLoC

ion shell 脚本语言的解析器

这为 [ion shell] 的脚本语言提供了解析

解析的内部工作原理

阶段:标记化

在真正的解析之前,脚本会被标记化。它确定所有特殊关键词、内置命令、运算符、赋值运算符和噪声之间的单词。噪声包括空白字符、换行符或制表符。标记化器也将这些噪声作为标记返回。这些噪声标记对于文件格式化很有用。这对于 ion shell 脚本语言的语法也很重要。例如,命令调用内的参数和方括号内的值通过空白字符分隔。每个标记也有其起始位置,包括行和列数。这个属性对于 LSP 服务器与客户端正确通信是必需的。
请参阅此文件中的标记化规则。

阶段:解析

解析关注脚本的语法。解析解决了以下问题

  • 验证标记的正确顺序。

正式语法在此文件中记录。

注意

解析器会检测脚本文件是否引用了另一个文件。然而,它不会自动加载这些文件。用户需要自己获取引用的文件。然而,解析器作为迭代器返回一个标记项,告诉用户是否以及引用了哪个文件。

更新日志

请参阅更新日志

贡献

请参阅以下指南

许可证

本项目、所有工作区成员以及视觉代码扩展均受MIT 许可证的许可。

依赖项

~2.1–3MB
~59K SLoC