問題タブ [symbol-table]

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 投票する
7 に答える
70739 参照

c++ - シンボルテーブルとは

C および C++ のコンテキスト内でシンボル テーブルとは何かを誰か説明できますか?

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

perl - オブジェクトはどのようにして現在のパッケージのシンボルテーブルにアクセスしますか?

オブジェクトがインスタンス化された現在のパッケージのシンボルテーブルにアクセスするにはどうすればよいですか?たとえば、私は次のようなものを持っています:

do_your_job私が使用する実装では、パッケージ__PACKAGE__内を検索します。MyModuleどうすれば適切なパッケージで表示できますか?

編集:私はこれをより明確にしようとします。次のコードがあるとします。

さて、$xどういうわけかそれが現在のパッケージであることに気づき、mainそれのシンボルテーブルを検索する必要があります。's blessedを使ってみScalar::Utilましたが、それでも。MyModuleの代わりに私に与えてくれましたmain。うまくいけば、これはもう少し明確になりました。

0 投票する
3 に答える
2670 参照

perl - 名前が変数に含まれている Perl の定数にアクセスするにはどうすればよいですか?

Perl で宣言された一連の定数があります。

$which_constantに基づいて、この変数の値で名前が付けられた定数の値を導出する Perl 式を作成するにはどうすればよいですか。たとえば、「222」です。

上記の条件のいずれも変更できないことに注意してください。これらは実際のシナリオを単純化したものです。これらの定数をインポートするモジュール (制御できない) があります。定数の 1 つの名前は、ユーザーがコマンド ラインから指定します。適切な定数の値にアクセスする必要があります。

私は壁に頭をぶつけてきましたが(ほとんどはあらゆる種類の奇妙なグロブ構造の周りにあります)、どれも機能しません。

PSソリューションがネイティブモジュール内の定数にアクセスする場合-たとえばMy::Constants::C2(それらをインポートする必要なしに)、さらに良いが、必須ではありません-正しい定数をmain::簡単に使用してインポートできMy::Constants->import($which_constant)ます. さらに、定数はデフォルトではエクスポートされないため、明示的な import() 呼び出しが必要です。

私が試したことのいくつか:

  • main::$which_constant - 構文エラー

  • main::${which_constant} - 構文エラー

  • ${*$which_constant}- 空の値を返します

  • *$which_constant- "*main::C2" を返します

  • ${*${*which_constant}}- 空の

0 投票する
4 に答える
226 参照

php - Zend APIを使用せずにphpでphp抽出関数を実装できますか

PHP の Extract 関数は、呼び出し元の関数のローカル スコープに変数を追加します。同じことを行う独自のphp関数抽出をどのように書くことができますか?

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

c++ - スタティック C++ ライブラリをリンクすると、Objective-C でシンボル テーブルが破損する

C++ で記述された options というクラスがあります。ヘッダー情報は次のとおりです。

};

Objective-C セクションでは、次のように Options を初期化します。

ここで何が起こるかというと、別の C++ メソッドにポインターを渡すと正常に動作しますが、実際に目的の c 側で何かにアクセスしようとすると、たとえば、

opts->bits または opts->getBits()

常に印刷の整数値を返します

Objective-C 側と C++ 側の間でシンボル テーブルが混乱しているように見えますが、これを引き起こすために何ができたのかわかりません。

Mac用にコンパイルすると、コードはObjective-C ++でも機能し、C ++がC ++を呼び出している限り、機能しているように見えるので、メモリが破損しているわけではなく、シンボルテーブルの問題のように見えます。

どんな洞察も大歓迎です。

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

perl - シンボル テーブル: エントリの削除

それぞれのシンボル テーブル エントリを削除した後、"$n" と "$m" から値を取得するのはなぜですか?

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

c - コンパイラのシンボル テーブルとセマンティック解析

私は、C のような言語 (より単純な言語) 用のコンパイラ (lex や bison などのツールを使用せずに) の構築に取り組んでおり、lexer と parser を通過しました。パーサーの実行方法が正しいかどうかはわかりません。これまでのところ、構文が正しいかどうかを確認するなどの構文解析を行うために、リンクされたリストをまったく使用していません。基本的に、私のパーサーは次のようになります。

私のプログラムは次のようになります。

私は基本的にすべての非端末用の関数を持っており、適切なタイミングでそれらを呼び出し、「strcmp」でキーワードをチェックしています。この方法は大丈夫ですか?

この時点から、意味解析を行うにはどうすればよいでしょうか? シンボル テーブルの作成はどこから始めればよいですか?

考えるための提案や指針は素晴らしいです! どうもありがとうございました

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

c - SQL パーサーの Makefile... 依存関係の書き込み

私は lex と yacc で sql パーサーを実装しています。別の .h ファイル (sql.h) に保存されているシンボル テーブルを使用し、このヘッダー ファイルにはいくつかの関数宣言があります。これらの関数の定義は、.c ファイル (sql.c) に保持されます。これで、sql.c に sql.h を含めました。lex ファイル (1.l) と yacc ファイル (1.y) の両方で、sql.h のシンボルと関数を参照します。

問題は、このための適切なメイクファイルを作成できないことです。複数の宣言などのエラーが発生します。どのファイルをどこにインクルードし、依存関係をどのように記述するか? 助けてください。解決策を検索しましたが、わかりません.....

アップデート:

次のようにコードをコンパイルします。

gcc の 3 番目のコマンドの後に、次のエラーが表示されます。

sql.h:

sql.c:

そして、sql.h で宣言された関数の定義

1.l ファイル:

..... およびその他の lex ファイル

1.y

.... およびその他の yacc ファイル データ


これを回避する別の方法を教えてもらえますか?

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

objective-c - GDB Objective-c のデバッグ (シンボル テーブルなし)

実行可能ファイルがあり、gdb を使用してデバッグしています。gdb を使用するのはこれが初めてなので、ご容赦ください。

関数にブレークポイントを設定したいのですが、クラス ダンプを使用して関数の名前を知っています。シンボルテーブルがないと言っているので、その関数にブレークポイントを追加することはできません。シンボル テーブルを追加しようとしましたが、まだシンボル テーブルが読み込まれていないというエラーが表示されます。

では、このメソッドにブレークポイントを設定できる方法はありますか? それは客観的なcメソッドであり、cではありません(それが違いを生む場合)。あとは、このメソッドの引数を調べるだけです。

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

oop - オブジェクト指向言語のコンパイラでのシンボル テーブル スコープ

C++ のサブセットのコンパイラ用にシンボル テーブルを作成しています。

ここでの私の質問は、オブジェクトのスコープを処理する方法です。つまり、Pascal などの通常の言語では、スコープごとにシンボル テーブルを作成する必要があります。しかし、C++ では、オブジェクトのメソッドと属性の場合に別のアプローチを検討する必要がありますか?

よろしく。