7

基本的なプログラミングを学ぶためのサイトを構築しています。ユーザーがコードを送信できる疑似言語を使用し、それを解釈する必要があります。ただし、PHP でトークナイザーを構築する方法がわかりません。

次のようなスニペットがあります。

a = 1
b = 2
c = a - b

if(a > b) {
    buy(a)
    } else {
    buy(b)
    }

このコードをトークンに分割するにはどうすればよいですか?

--

これは私が今試していることです:

$tokens = array();

// First token (define string)
$token  = strtok($botCode, '=');
$tokens[] = $token;

// Loop
while($token) {
    $token  = strtok('=');
    $tokens[] = $token;
}

ただし、正規表現のリストで strtok を使用する方法を理解できませんでした... strtok に似たことができますが、substr と strrpos を使用して配列を針として受け入れますが、可能であるように思えますこのためだけに設計されているので、 strtok でそれを行います。情報や正しい方向への指摘は感謝されます

4

1 に答える 1

5

strtok からの魔法を待たないでください。preg_split に似ています。

独自のレクサーを構築したいと思います。したがって、記事PHP で単純なレクサーを作成するなどを使用できます

于 2013-02-22T01:13:57.680 に答える