問題タブ [esprima]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6989 参照

javascript - モジュール「esprima」が見つかりません

JavaScript で抽象構文ツリー プログラムを開発しようとしています。開発には Jet Brains IDE を使用しています。プログラムを実行すると、エラーCannot find module esprima が表示されます。nodejsの設定は完璧で、問題はないと思います。以下のコード スニペットを見つけてください。ある記事で、nodejs に esprima モジュールが存在することを確認しました。助けてください。ありがとうございました。

0 投票する
1 に答える
486 参照

javascript - Mozilla AST 形式の Haskell 言語を解析する JavaScript(Esprima.JS) でのパーサーの開発

現在、私は JavaScript で Haskell 言語を解析するパーサーの開発に取り組んでいます。 (Haskell 言語での使用方法) 演算子と高度なオプション。

私は Esprima.js からこのパターンに従っています

Esprima.js( http://esprima.org/ )の上に構築したい場合、フローは同じになりますか? Esprima.js は、acorn.js よりも簡単に理解できます (ただし、コード行が少なくなり、少し高速になります)。Haskell を Mozilla AST 形式に解析したいと考えています。

0 投票する
1 に答える
460 参照

javascript - 外部ファイルからの Javascript オブジェクト、プログラム

JavaScript のオブジェクト システムについてとても混乱しています。JavaScript ではすべてがオブジェクトと見なされることは知っていますが、Esprima のこのコードでは、次の行のように、このプロジェクトが esrpima でアクセスされることを宣言するステートメントは見当たりません: ( https://github.com/ariya/esprima/ blob/master/esprima.js )

esprima.parse(text)私の質問は、Javascript のようなものを外部パッケージとしてエクスポートし、オブジェクト名でアクセスできるように定義する方法と場所です。Object = {a: "B"}; のようなオブジェクトを定義する方法を知っています。しかし、これを理解する方法が見つかりません。私を助けてください!

0 投票する
1 に答える
149 参照

javascript - Esprima によって生成された Mozilla Parser AST で式を終了するためにセミコロンが使用されているかどうかをどのように検出しますか?

ある開発者が非常に単純なプログラムを作成しました:

すべての開発者がすべてのASIルールを知っているとは限らないため、開発者がセミコロンを使用するようにしたいと考えています。他のコード品質チェックを追加する予定なので、Esprimaを使用して、チェック対象のコードのASTを生成したいと考えています。上記の単純なプログラムをEsprima オンライン パーサー([行と列ベース] オプションをオンにして) で解析すると、次の構造が作成されます。

セミコロンが使用されているか使用されていないかを確認するにはどうすればよいですか? VariableDeclarationASTの 2 番目は、以下に示すように で終了することを示しているため、おそらく 2 行目では 1 つは使用されていないと推測でき{line: 3, column: 0}ます。

2 番目の VariableDeclaration の位置は 3 行目で終わります

これは、Esprima を使用する他のツールが行う方法ですか? \r\nvs\n行末をチェックするのはどうですか?Esprima は、このタスクに適したツールではありませんか?

編集

この質問を共有した同僚は、トークンのリストを取得できるように、「おそらく解析ツリーが必要になるだろう」と言っていました。それで、私の問題の一部が解決します。Esprima が提供するトークンは次のとおりです。

ここで、このトークン リストを AST と組み合わせて使用​​し、行番号 2 にセミコロンが必要であることを伝える方法を理解する必要があります。

0 投票する
2 に答える
790 参照

node.js - Meteor を 1.0.2.1 にアップデートした後、「エラー: モジュール 'esprima' が見つかりません」というメッセージが表示される

Meteor をバージョン 1.0.2.1 に更新した後、次のエラーが表示されます。

これは Node モジュール エラーのようですが、Meteor が独自のバンドル バージョンの Node を使用していることは知っているため、このモジュールが欠落している理由がわかりません。

パッケージの 1 つがこのエラーの原因になっている可能性はありますか? の結果は次のmeteor listとおりです。