問題タブ [linter]
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.
elixir - とにかくcredoをグローバルにインストールする方法はありますか?
私は elixir の初心者で、テキスト エディター (vim + lint エンジンとしてのエール) を elixir のクレド リンターで構成しようとしていますが、システムにインストールする方法がないようです。そのドキュメントには、プロジェクトに依存関係としてインストールする方法が記載されています。何か不足していますか?
java - ソースコードでチェックスタイルを実行するためのライブラリまたは API
ソース コードをファイルとして保存せずにチェック スタイルを実行し、ANT を介してチェック スタイルを実行する方法を実験しています。Java コードからチェックをトリガーするためにチェック スタイルで使用できるライブラリまたは API はありますか? Java 以外の言語で利用可能なプログラミング言語で利用可能なリンティング ライブラリ (Java API) はどのようになっていますか?
parsing - テンプレート言語で継承を評価するように解析ツリーを変更する
「ブロック」と呼ばれる構造を持つテンプレート (jinja、Twig など) 言語のリンター プログラムを作成しています。
テンプレート言語におけるブロックの概念については、ご存知の方も多いと思います。現在、これらのブロックを含むテンプレートは、ブロックに同じ名前を持ち、独自のコンテンツと機能を定義する別のテンプレート (子テンプレート) によってオーバーライドできます。
そのため、特定のソース コードを (スコープ チェックのために) 評価するときの要件は、最初に子テンプレート内のすべてのブロックを個別に評価することです。次に、ルート テンプレートで定義された場所にブロックを配置する必要があります。ルート テンプレートのテンプレート スコープ属性 (変数、マクロなど) の違反をチェックするために、再度評価を行う必要があります。
まず、ANTLR4 を使用して子テンプレートにアクセスしました。ANTLR では、ブロックをヒットし、そこで評価してから、ルート テンプレートの解析ツリーで別のビジターを呼び出します。
しかし、評価のために子ブロックのコンテンツをルート テンプレートに配置するにはどうすればよいでしょうか。ANTLR4 にはツリーの変更/突然変異はありません。私はこのコンパイラとパーサーのパラダイム全体に不慣れです。私の要件を考慮して、ここから取るべき最善のアプローチを誰かが提案できますか? また、質問が漠然としすぎている、または十分な情報を提供していないと思われる場合に備えて、他の質問にも答える準備ができています.