1

Pythonソースコードをトークン化する単純な(おそらく依存関係のない)シンタックスハイライターウィッチはありますか? トークンの種類、コードの先頭からのオフセット、およびトークンの長さを返すために必要です。

Python ビルドインを使用したかったのですtokenizeが、オフセットが返されません。

いくつかの標準的な構文ハイライターも調べましたが、それらはすべて他の言語もトークン化しており、私の場合はやり過ぎです。私が探しているのは、単純な (そして高速な) Python 構文ハイライターだけです。

前もって感謝します!

4

2 に答える 2

7

オフセットについてはわかりませんが、pygmentsを使用して Python スニペットからトークンのストリームを取得できます。私の知る限り、これは単一のスタンドアロン Python ライブラリです。その後、トークンのストリームを使用して、必要なことを行うことができます。Pygments を使用して構文の強調表示を使用して、Python のスニペットを pygame サーフェスにレンダリングする例があります。入力を 1 行ずつトークン化します。

于 2012-04-29T18:02:42.563 に答える
2

チェックアウトhttp://oneqonea.blogspot.com/2012/04/how-do-i-add-syntax-highlighting-to-my.html

これは、スクリーンショットとすべてを備えた非常に簡単な「Blogger の SyntaxHighlighter」チュートリアルです。

ほんの数分で起動して実行できるはずです。

あなたの場合、不必要なオーバーヘッドのない「シンプルな (そして高速な)」構文ハイライターを探しているので、実装には次のような shBrushPython.js ライブラリ ファイルのみを含めるだけです。

<head>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'/>
</head>

お役に立てれば。ハッピーコーディング。

于 2012-04-29T17:59:10.223 に答える