問題タブ [lexical]
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.
analyzer - インタプリタを書く
Python で Java 用の字句解析プログラムを作成するつもりでした。これは可能性さえありますか?どんなアイデアや提案も大歓迎です
compiler-construction - コンパイラ、字句解析を書く?
私はコンパイラを書くのがまったく初めてです。だから私は現在プロジェクトを開始しています(Javaでコーディングされています)。コーディングする前に、字句解析の部分についてもっと知りたいです。Web で調べたところ、ほとんどがトークナイザーを使用していることがわかりました。
このプロジェクトでは、それら (トークナイザー) を使用せず、代わりに有限状態オートマトンを使用する必要があります。混乱しています。リンクされたリストを使用して実装する必要がありますか? または単純な入れ子になった switch ケースで十分です。私は有限オートマトンの実装にあまり詳しくありませんが、利点は何ですか?
perl - 正常に終了するレキシカル スコープ アクションの終了が必要
アクションが終了する可能性のあるレキシカル ブロックの末尾にアクションを追加する機能が必要です。そして、例外が正常にスローされ、正常にキャッチされる必要があります。
残念ながら、メッセージに "(in cleanup)" を追加し、それらをトラップできないようにすることで、DESTROY 中に Perl の特殊なケースの例外が発生します。例えば:
私はそれを渡したい。現在、例外は eval によって完全に飲み込まれています。
これは Test::Builder2 用なので、純粋な Perl しか使用できません。
根本的な問題は、次のようなコードがあることです。
$user_code が死んでも、そのクリーンアップは行われなければなりません。さもなければ、$self は奇妙な状態になります。だから私はこれをしました:
複雑なのは、クリーンアップが任意のユーザー コードを実行し、そのコードが停止するユース ケースであるためです。その例外はトラップ可能であり、ガードによって変更されないことを期待しています。
スタックを変更する方法があるため、すべてを eval ブロックにラップすることは避けています。
haskell - Haskell: 文字 'i' の文字列/文字リテラルの字句エラー
私は Haskell プログラミングにかなり慣れていないため、コードでこのエラーが発生する理由を理解するのに苦労しています。
私の問題は次のとおりです。任意の正の整数 i は、i = 2^n*k として表すことができます。ここで、k は奇数、つまり奇数の 2 乗です。n を i における 2 の指数と呼びます。たとえば、40 の 2 の指数は 3 (40 = 2^3*5 であるため) ですが、42 の 2 の指数は 1 です。i 自体が奇数の場合、n はゼロです。一方、i が偶数の場合、それは 2 で割り切れることを意味します。2 の指数を求める関数 exponentOfTwo を引数に記述します。
私は疑似コードを理解しており、かなり単純に思えます。結果が奇数になるまで i を 2 で再帰的に除算し、除算が発生する回数は n です。
これが私のコードです(31-32行目):
32 行目の 62 列目に「文字 'i' の文字列/文字リテラルの字句エラー」というエラーが表示されます。
どこでもこのエラーの解決策を探してみましたが、これまでのところ運がありません。
xcode - iPhone xcode ビルドの失敗 - ファイルが見つかりません
iPhone用のwikihowオープンソースコードをダウンロードしていました-実行して表示するローカルxcodeに。
https://github.com/keishi/wikihow-iphone-app
ダウンロード後、ビルドして実行すると失敗します。
エラー:
1-そのようなファイルまたはディレクトリはありません、WHNetworkAlertView.h
ただし、ファイルは次の場所に存在します
このファイルは wikiHowAppDelegate.m から #import 'WHNetworkAlertView.h' として呼び出しています
2- レキシカルまたはプリプロセッサの問題 'WHNetworkAlertView.h' ファイルが見つかりません
3- '*' 未宣言 (この関数で最初に使用) WHNetworkAlertView 未宣言
xcode を介してファイルに移動して表示すると、xcode でファイルを開くことができません...
修正方法はありますか?
2 番目の質問:
アプリストアに実際にリリースする前に、Apple に稼働テストを依頼できると聞きました。しかし
xcode を使用して iPhone アプリをビルドした後、テスト目的でファイルを実際の iPhone に USB 接続できますか? シミュレータを使用するだけでなく(実際の環境では別の問題が発生する場合があります)
embedded - レキシカルスコープでハードリアルタイムにすることは可能ですか?
私はfunarg 問題についてこの論文を読んでいました。これは実際にはレキシカル クロージャの環境を維持する問題です。これは古い論文であり、著者の結論が今でも当てはまるかどうかはわかりませんが、ダイナミック スコープではなくレキシカル スコープを使用するには、従来の C スタイルのスタックを放棄し、代わりにツリー構造を使用する必要があることを彼は強く示唆しています。ヒープから割り当てられた環境の。
これにより、ハードリアルタイムシステムでレキシカルスコープのクロージャーを持つことが不可能になりますか? 待ち時間がマイクロ秒単位で測定されるリアルタイム組み込みシステムでは、ヒープ割り当ては、非決定論的な待ち時間が発生するため、通常は禁止されています。
これは私の怠惰な好奇心でした。なぜなら、私は主に C が事実上の言語であるファームウェア開発者として生計を立てているからです。より洗練された言語で無料で提供されることをさせてください。その結果、ハードリアルタイム組み込みマイクロコントローラーベースのシステム専用の micro-lisp コンパイラーを実装できないかと考え始めました。
余談ですが、私は最近、クロージャーとオブジェクトがどのように同等であるかなどの深いトピックについて大きな洞察を得ており、ストールマンやリッチ ヒッキー、ポール グレアムなどの人物に畏敬の念を抱いています。Lisp をゼロから実装することは、私には困難な作業のように思えます。どこから始めればよいかわかりにくい。(おそらく、McCarthy のオリジナルの eval 関数 IDK の PG による実装によるものです)。とにかく脱線します。
python - 字句エラー: 検出: "" (0)、後: ""
私は外国語の文字を扱い始める必要がありました。そうすることで、ファイルのエンコーディングをひどく台無しにしたと思います。
私が得ているエラーは次のとおりです。
ファイルの最初の行は次のとおりです。
また、この質問をするために上記の行をテキストエリアに貼り付けて送信すると、すべての文字の間に不明な文字が表示されました (e 明示的なコーディング定義を追加しても、この問題を修正できませんでした:
また、(Hg を使用して) ファイルを以前のバージョンに戻すことも、コードを新しいファイルにコピー/貼り付けすることも、壊れたファイルをコピー/貼り付けたコードに置き換えることもできませんでした。
助けてください!
compiler-construction - トークン化、字句解析、BNF、文脈自由文法
トークン化が字句解析と同じかどうか、またバッカスナウアフォームが文脈自由文法と同じかどうかを尋ねたいだけですか? 4つすべてを定義して説明し、例を挙げる必要がありますが、一部のWebサイトは一部を1つとして扱っているようです.
ありがとうございました。
algorithm - 構文の強調表示/字句解析アルゴリズム
シンタックスハイライトで使用される一般的なアルゴリズムは何ですか?正規表現で交互を使用する簡単なアプローチを実装しました。
STRING_PATTERN | COMMENT_PATTERN | KEYWORD_PATTERNS
何かが文字列であるかパターンであるかを検出するのは、どちらが先に来るかによって異なります。
ただし、キーワードを使用すると少し複雑になります。このアプローチは私の現在の実装では機能していますが、それが最適であるとは確信していません。
もう1つの問題は、強調表示する順序です。識別子/キーワードの前に数字を強調表示すると、キーワード内の数字を誤って強調表示する可能性があります...
編集:
私のプラグインはここにあります:http ://wordpress.org/extend/plugins/crayon-syntax-highlighter/