繁体   English   中英

如何在 php 中创建语言

[英]how to create a language in php

我一直在寻找这个,虽然我从来没有得到一个很好的答案。

我正在寻找一个教程或代码来解析定义的语法,如新语言。 最好使用 strtok 或 tokenizer。

我需要编写一种简单的语言,稍后我将对其进行解析。

谢谢你的帮助。

编辑语言很简单。 基本上是变量赋值和循环以及条件检查。 没有什么花哨。

编辑我猜从我得到的答案来看,标题不应该是这样。 类似于“如何在 php 中创建语言”这样的东西会更好。 谢谢。

基本上,“制作语言”涉及几个步骤。 首先,您需要一个“词法分析器”,它将您的输入拆分为属于不同符号类的子字符串(如“标识符”、“数字”、“运算符”等)。 其次,你写下你的语言的语法,通常使用某种BNF 然后你 吃香蕉, 使用一个叫做“解析器生成器”的程序,它将你的语法变成实际的解析器代码,最后你结合词法分析器和解析器来获得一个实际的编译器。

通常,这种事情是用 C 或 Java 完成的,我从未听说过用 php 编写的工作编译器。 尽管如此,您可以在第一部分(词法分析器)使用 php 标记器 - 假设您的语言具有类似于 php 的语法 - 并尝试Z80791B3AE7002CB88C246876D9FAA8F8Par.PHP生成 par.net/package.PHP。

对不起,如果这听起来有点复杂,但确实如此。

此链接任何用 PHP 编写的像样的 PHP 解析器? 讨论了使用 PHP 解析 PHP。

这对 OP 的价值在于,答案提供了几种获取解析器生成器的方法,其中一些在 PHP 本身中运行,这可能对他有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM