作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在构建一个网站来学习基本编程,我将使用一种伪语言,用户可以在其中提交他们的代码,我需要解释它。但是我不确定如何在 PHP 中构建分词器。
有一个这样的片段:
a = 1
b = 2
c = a - b
if(a > b) {
buy(a)
} else {
buy(b)
}
我将如何将此代码分离为 token ?
--
这就是我现在正在尝试的:
$tokens = array();
// First token (define string)
$token = strtok($botCode, '=');
$tokens[] = $token;
// Loop
while($token) {
$token = strtok('=');
$tokens[] = $token;
}
但是我一直无法弄清楚如何将 strtok 与正则表达式列表一起使用...我可以做一些类似于 strtok 的事情,但是它接受数组作为带有 substr 和 strrpos 的针,但在我看来它应该可以用 strtok 来做,因为它就是为此而设计的。任何信息或指向正确的方向将不胜感激
最佳答案
不要等待来自 strtok 的魔法。它类似于 preg_split。
我认为您想构建自己的词法分析器。所以你可以使用文章 Writing a simple lexer in PHP或 something else .
关于php - 如何在 PHP 中构建分词器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14994287/
我是一名优秀的程序员,十分优秀!