lexer README

The project's README from github.com/doctrine/lexer. As one markdown file: README.md.

Doctrine Lexer

Build Status

Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.

This lexer is used in Doctrine Annotations and in Doctrine ORM (DQL).

https://www.doctrine-project.org/projects/lexer.html

lexer (doctrine/lexer)

Searching Database…

11.1K ·GitHub
这是干什么的?Doctrine Lexer 是一个 PHP 基础库,用来构建词法分析器(lexer)——也就是把原始文本切分成词法单元(token)的组件——适用于自顶向下的递归下降解析器。
它是能直接运行的工具,还是用来做二次开发的代码?是用来做二次开发的代码:它是一个基础库,你需要继承它来为自己定义的语法编写词法分析器——没有可运行的命令,也没有用户界面。
怎么把它装到我的项目里?它以 Composer 包的形式发布:用 'composer require doctrine/lexer' 引入即可——除此之外不需要任何构建或配置。
它会附带其他依赖吗?不会——这个库本身没有声明任何依赖,是一段小巧、自包含的纯 PHP 代码。
实际有哪些地方在用它?主要在 Doctrine 生态内部:它是 Doctrine Annotations 背后的词法分析器,也是 Doctrine ORM 的 DQL 查询语言解析器所依赖的组件。
这个词法分析器在 Doctrine ORM 里起什么作用?它提供分词层,让 Doctrine ORM 能够读取 DQL(一种类似 SQL 的查询语言),这样查询语句在执行前可以先被切分成词法单元并完成解析。
这个项目还在积极维护吗?它从 2013 年起就在 GitHub 上,目前约有 11k 星标,并且配有自动化 CI,覆盖编码规范检查、Composer lint、静态分析和持续集成。
What are similar projects?parsedown, antlr4, PHP-Parser, compromise, nom, pypdf, acwj, acorn
Creator
doctrine
Size
0.3 MB
Stars
11.1K
Age
13y
Commits · 90 Days