問題タブ [syntax-checking]
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.
mysql - (My)SQL ステートメントの構文が正しいことを確認するにはどうすればよいですか
現在、統合サーバーをセットアップしています。そのプロセス中に、開発者が構文的に無効なファイル (主に PHP と XML) をチェックインできないように、SVN に pre-commit フックをセットアップしました。
また、リントしたい .sql ファイル (MySQL 用) も多数あります。残念ながら、Google はこのタスクに役立つものを見つけられませんでした。
何か案は?
python - Pythonスクリプトを実行せずに構文を確認するにはどうすればよいですか?
perl -c programfile
以前は、Perlプログラムの構文をチェックして、実行せずに終了するために使用していました。Pythonスクリプトに対してこれを行う同等の方法はありますか?
javascript - jqueryを使用したjavascriptの静的/コンパイル時間チェック?
特定の条件が満たされていれば、javascript (または少なくともそのバージョン) を .NET にコンパイルできることを私は知っています。私が書いているjavascriptでコンパイル時または静的構文チェックを行うにはどうすればよいですか? キャッチは、jqueryをサポートする必要があることです
誰かが尋ねる原因は、(ms .net で) コンパイルすることです。
package thenamespace { class ClassName{ を必要なところに書きます。次に、これを通常の参照として追加できます。経験上、リファレンスは常に mono と互換性があるとは限りません。
python - Python スクリプトをコンパイルする (実行しない)
Python スクリプトを実行せずにコンパイルするにはどうすればよいですか? スクリプトの構文エラーをチェックしたいだけです。単純なコマンド ライン スイッチを期待していましたが、何も表示されませんでしたpython --help
。Python 2 と Python 3 の両方の回答が欲しいです。
javascript - 構文/論理チェッカーJavascriptで?
私はクライアントが非常に基本的なコードを作成できるようにするソリューションを構築しています。今ではいくつかの基本的な構文検証を行っていますが、変数の検証で立ち往生しています。
JSLintがJavascriptを使用してこれを行うことは知っていますが、これを行うための良い方法を誰かが知っているかどうか疑問に思っていました。
たとえば、ユーザーがコードを書いたとしましょう
次に、「if」式が正しい構文にあることを明確にする方法を見つけようとしています。変数mooseが初期化されている場合などですが、文字ごとにスキャンせずにこれを実行したい場合、コードはミニ言語です。このアプリケーション専用に構築されているため、非常に基本的であり、メモリなどを管理する必要はありません。
最初にキャリッジリターンで分割し、次にスペースで分割することを考えていましたが、ユーザーが次のようなものを記述しない、moose="barry"
またはif(moose=="barry")
条件の結果をインラインに保持しないと言うことは何もありません。
明らかに、コンパイラーとインタープリターはこれをはるかに大規模に実行しますが、文字ごとに実行するのか、どのように最適化するのかはわかりません。
(他のオプションは、それをPHPに返送して処理し、ブラウザーの責任を放棄することです)
助言がありますか?
ありがとう
ユースケースは限られており、この場合、構文は拡張されません。言語は、クライアントがユーザー入力に基づいて一意のコストを作成できるようにするための単純なスクリプト言語であり、計算を確実にするかどうかに関係なく、最終結果はPHPによって処理されます。エンドユーザーが調整したり、一貫性を確保したりすることはできません。
たとえば、基本コストが1.00ポンドで、フォームに「追加コスト」というフィールドがある場合、言語を使用すると、「追加コスト」フィールドに関連する基本コストを操作できます。
それで
これは、言語がどのように使用されるかの基本的な例です。
すべての回答に感謝します。パーサーを調査しました。パーサーの作成は、数千行のコードでいくつかのテストを実行する場合よりもはるかに複雑であり、文字ごとに処理するのに数秒しかかからないことがわかりました。 512MBのメモリを備えたシングルコアP4(これは顧客が使用するよりはるかに少ない)
私は、JavaScriptの代わりにこれを使用して、情報をチェックし、変数などをチェックしながら(後で再コンパイルせずに呼び出す準備ができるように)有効なPHPコードに変換するPHPベースの構文チェッカーを構築することにしました。これはより適切なようです検証プロセスを妨げることなく、より複雑なコードを生成できるようになります
1時間しかかからず、ifステートメントの有効性をチェックでき、ネストされたif、スペース、または奇数の式と混同されないコードがあります。パーサーと本格的なスクリプト言語に対して、チェックする必要のあるものはほとんどありません。もっと長くかかったでしょう
あなたは私に考えることをたくさん与えてくれました、そして私は関連する答えを評価しましたありがとう
c - Javaの場合と同じようにCのエラーを解析して下線を引くように、Eclipseをどのように設定しますか?
Javaの場合と同じように、入力時にCのエラーを解析して下線を引くように、Eclipseをどのように設定しますか?
javascript - 1 行の JavaScript コードの構文エラーを見つける方法は?
たとえば、テキスト ボックスがあります。ユーザーは次のコードを書きました:
確かに構文エラーが発生します。
「RUN」ボタンもあります。私の要件は次のとおりです。
ユーザーがそのボタンをクリックすると、テキスト ボックスに記述されたコードが構文的に正しいことを検証する必要があります。構文的に正しくない場合は、「構文が正しくありません」というアラートが発生する必要があります。エラーの場所を表示する必要はありません。コードが構文的に正しいかどうかを確認するだけですか?
どうすればこれを実装できますか?
ruby-on-rails - 「haml --check」がこの明白な構文エラーを検出しないのはなぜですか
構文エラーを追跡するのに役立つ rake タスクを探していたところ、haml --check
haml ファイルをダブルチェックするための可能な解決策として出会いました。残念ながら、この壊れた例を渡すと、haml は構文が OK だと言っています。
この機能の目的を誤解していますか、haml --check
それとも完全には実装されていませんか?
Haml/Sass 3.0.25 (Classy Cassidy)、rails 3.0.3、ruby 1.9.2p0、および Mac 10.6.6 を使用していることを言及しておく必要があると思います。
$ haml --check /tmp/edit.html.haml
Syntax OK
最後の文字 (中かっこ) は、構文エラーをトリガーする必要があります。テンプレートがリクエストの一部として実行された場合は、確実に発生します。
c++ - AngelScript コード パーサー - どの方法を使用すればよいですか?
私は AngelScript IDE を書いています。現在、独自の「インテリセンス」システムを作成しています。スクリプト ファイルを解析し、関数のテーブル、ネスト レベルを含む変数などを作成する必要があります。どの方法で行けばよいですか? System.CodeDom のものを使用して処理できますか、またはその目的で動作するライブラリがありますか (clang?)。そうでない場合は、スクリプト ファイルから必要な情報を取得するために使用できるアルゴリズムの名前を教えてください。
python - Python で書かれた数学構文チェッカー
必要なのは、Python を使用して、文字列が有効な数式であるかどうかを確認することだけです。
簡単にするために、数字とネストされた括弧を持つ+ - * /
演算子 (単項も)が必要だとしましょう。+ -
完全を期すために、単純な変数名も追加します。
だから私はこのようにテストすることができます:
私はパイパーシングを試みましたが、例を試しただけです: 「算術演算を実行する単純な代数式パーサー+,-,*,/
^
」無効なコードが渡され、それを修正しようとすると、例外を発生させずに常に間違った構文が解析されます
試してみてください:
両方のテストに合格... o_O
何かアドバイス?