問題タブ [semantic-analysis]
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.
compiler-construction - 動的言語でのセマンティックアナライザーの仕事は何ですか?
私の英語を許してください。私は最近、コンパイラのさまざまな部分を理解し、それらを再生言語で実装しようとしています。セマンティックアナライザーの仕事は何であるか疑問に思っています。セマンティックアナライザーが行うことを前提としていることを読んだ多くのことは、実行時にチェックされるため、型チェックやスコープチェックなどの動的言語では実際にはありません。時間。
したがって、動的言語(LUA、PYTHON、RUBYなど)のセマンティックアナライザーの仕事のいくつかは、
- 1=aまたは5=5のように割り当てが悪くないことを確認してください
ただし、動的言語用のコンパイラーのセマンティック分析フェーズが他にどのような仕事であるかはわかりません。ほとんどが実行時に行われるため、動的言語で行う作業は非常に小さいようです。セマンティックアナライザーは動的言語のために他にどのような一般的な仕事をしますか?セマンティックアナラシスの一部が欠けているように感じます。ありがとうございました。
compiler-construction - AST ツリー セマンティック アナライザー
AST ツリーの最後のノードにはセマンティック アナライザーの翻訳の情報が必要ですか、それとも最後以外のノードにもこの情報を含めることができますか?
parsing - ANTLR-値のセマンティクス/意味を確認します
私は、ユーザーが属性を持ついくつかのオブジェクトを定義できるようにする単純な文法を持っています。例えば:
これらの単純な割り当てをチェックするために、ANTLRを使用して文法を作成しました。
今、私は例えば割り当ての順序や意味をチェックするのに問題があります。既存の駐車場から継承できると仮定しましょう
「2台目の駐車場」がすでに存在するかどうかを確認するにはどうすればよいですか?
さらに、色などの属性の一部をオプションにし、他の属性を必須にし、順序は重要ではないようにします
簡単なルールは
ただし、必須属性は定義されていない可能性があります。必須の属性定義のようなルールを追加することはできますが、その場合、任意の順序で定義を許可するのは困難です。
したがって、この種のチェックはパーサーまたはツリーパーサーの一部である必要があります
java - Javaでソースからセマンティックデータを解析する最良の方法は何ですか?
マークアップされたテキスト (おそらく microformat、microdata、rdf など) を読み取って解析したいと考えています。独自のパーサーを作成する必要がありますか、それともこれに役立つ Java ライブラリはありますか?
annotations - ユーザー定義ドメイン モデルのセマンティック アノテーションのフレームワーク
私はいくつかのドキュメントといくつかの概念のオントロジーを持っています。これらの概念を特定のドキュメントから自動的に抽出してトリプルを作成するフレームワークはありますか? オントロジーには特別なプロパティが含まれている必要がありますか?
UIMA を見つけましたが、UIMA について理解している限り、次のようなことしかできません。
- オントロジーとの関連付けを保持するいくつかの辞書を作成する
- この辞書を ConceptMapper で使用する
- トリプルを作成して永続化する CAS コンシューマーを作成します。
オントロジーと辞書の概念を同期させなければならないので、私はこのアプローチが好きではありません。
UIMA を別の方法で使用できますか、またはオントロジーを直接使用していくつかのカスタム プロパティを入力として使用し、それに基づいてドキュメントに注釈を付けることができる高度なフレームワークはありますか?
オントロジーをドメイン モデルとして使用したいのは、知識ベースをさらに作成したいからであり、オントロジーはたとえばリレーショナル モデルよりも柔軟に見えるからです。ありがとう。
parsing - コンパイラ-ASTでの型宣言の命令選択
私はコンパイラーを学び、文字と整数の2つのタイプを扱う単純な言語のコードジェネレーターを作成しています。
ユーザー入力がスキャナーによってスキャンされ、パーサーによって解析された後、入力のAST表現を取得します。整数、演算子、変数を含む式のみを処理する、さらに単純な言語のコード生成を作成しました。
ただし、この新しい言語では、次のような型宣言のサブツリーを取得することがあります。
これは、xがINT型であることを示しています。
これらの型宣言を処理するコードジェネレーターのケースがあるべきですか?または、これは単にセマンティックアナライザーが型チェックを行うためのものなので、型がチェックされたと想定し、ツリーのこの部分を無視して、xに値を割り当てるだけでよいのでしょうか。
semantics - セマンティック検索エンジンの精度を判断する方法は?
私のいとこはセマンティック検索エンジンを作成しました、そして彼は彼の検索エンジンが最も正確であると主張します。
私は多くのセマンティック検索エンジンを見てきましたが、入力したキーワードに基づいて結果が得られるように設計されていないため、すべて同じように見えます。
では、セマンティック検索エンジンを作成している場合、その結果の精度を判断するにはどうすればよいでしょうか。
compiler-construction - コンパイラでの意味解析
意味解析はコンパイラによって (一般的に) どのように行われますか?
私は前回の試験でこの質問に答えなければなりませんでしたが、教授にとっては十分ではありませんでした。
回答に BNF (例を含む) と構文カードを含めると、彼は私に次のように尋ねましたint i;
。
c - セマンティック ルール / 抽象構文ツリー ルール
まず、セマンティック ルールと抽象構文木ルールは同じですか。
さて、言語仕様があり、CFG がある場合、抽象構文ツリー規則を構築するにはどうすればよいでしょうか。どんなソースでも大歓迎です。ありがとう。