gpt4 book ai didi

php - 使用 PHP 创建新的嵌入式语言

转载 作者:行者123 更新时间:2023-12-01 22:19:23 27 4
gpt4 key购买 nike

我正在尝试开发一个管理面板,并且我有一个命令行。当用户发送如下命令时,我需要使用 PHP 来识别它。

我的目标是简化管理面板中的任务。

 create page -attr1 90 -attr2 'page title';

 update category 90 -name 'Technology';

主要有两点:

  1. 动词和主语(即创建页面、更新类别)
  2. 属性(可以是 STRING 和 INT)

以及更复杂的示例:

create page -name EN:'Static Page' CA:'Statična Stranica' -category 3,6,12,15;

我可以从哪里开始创建这种非常小的嵌入式语言,或者我怎样才能真正做好它?

请给出聪明的答案。

最佳答案

假设此命令行是交互式的,那么您就为自己设定了一项不小的任务。本质上你必须写一个 interpreter 。假设lexical analysis很简单,您将花费大部分时间来编写您的 parser ,以及命令集背后的代码。

如果您的命令行交互性最低,并且您的命令词汇量相对较小(大约几个命令),您可以使用正则表达式编写一个简单的识别器。鉴于您允许的参数示例,正则表达式可能会很快变得粗糙。在这种情况下,或者在你的词汇量有点大的情况下(多于一些,可能少于 20 或 30——作为在黑暗中站不住脚的刺),你可能需要转移到一个简单的状态 -基于解析器,从命令行中提取 token ,直到出现错误或可以处理的完整命令。

它的失控程度完全取决于你的命令词汇及其参数的复杂程度。如果您需要用 ANTLR 之类的东西编写语法,那么您已经走得太远了,并且可能正在构建一种新的编程语言。 :-)

关于php - 使用 PHP 创建新的嵌入式语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4569198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com