JavaScript の字句の解析エンジンを作りました
これを使ってこんなことが出来ます。
サンプルの使いかた
例えば textarea に
var hoge = 3e3;
と書くと
No | Type | Operation | Atom | Dval |
---|---|---|---|---|
1 | VAR | DEFVAR | ||
2 | NAME | NAME | hoge | |
3 | ASSIGN | NOP | ||
4 | NUMBER | 3000 | ||
5 | SEMI |
ソースの使いかた
- character.jsを読み込む
- tokenizer.jsを読み込む
- new TokenStream(source)
- instance.getToken();
var tokenStream = new TokenStream('// ここにJavaScriptのソースを入れる'); var token while((token = tokenStream.getToken()).type == 'EOF') { // token をごにょごにょする }
ダメな点
- Unicode Escape なシンボルには対応していない
- シャープ変数には対応していない
- ちゃんとエラー書いてない
- 文字列中の \u \x \000〜 に未対応
今後の展望
次は構文ツリーを作るところを作りたい。