問題タブ [treetop]
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.
ruby - Treetop Ruby パーサー - Ordered Choice を解析できませんでした
以下のように、Treetop を使用して文字列と数値を解析するための簡単な文法を定義しました。
ルビー:
パーサーが文字列ノードを返すことを期待していますが、パーサーが入力を理解できなかったようです。任意のアイデアをいただければ幸いです。
ruby-on-rails - どのソースにも treetop-1.4.9 が見つかりませんでした - cap deploy:migrate
capistrano (cap deploy:migrate) から移行を実行しようとすると、問題が発生します。
事実;
- レール 3.0.0
- rvm経由のRuby 1.9.2
treetop gem がインストールされ、リモート サーバーに ssh 接続し、capistrano が手動で試行しているコマンドを実行すると、問題なく動作します。
他の誰かがこれまたは同様の問題に遭遇しましたか?
ruby-on-rails - 「ロードするファイルはありません -- treetop/runtime」実行中の「rake jobs:work」
「rails server」または「rake jobs:work」を実行しようとすると、「no such file to load -- treetop/runtime」というエラーが表示されます
完全なトレース:
macbook-pro-2:domain ryan$ rake jobs:work --trace(in /Applications/htdocs/domain) rake が中止されました! 読み込むファイルがない -- treetop/runtime /opt/local/lib/ruby/gems/1.8/gems/mail-2.2.14/lib/mail.rb:68:in require'
/opt/local/lib/ruby/gems/1.8/gems/mail-2.2.14/lib/mail.rb:68
/opt/local/lib/ruby/gems/1.8/gems/mail-2.2.14/lib/mail.rb:61:in
each' /opt/local/lib/ruby /gems/1.8/gems/mail-2.2.14/lib/mail.rb:61 /opt/local/lib/ruby/gems/1.8/gems/delayed_job-2.1.2/lib/delayed/performable_mailer.rb:1 :in require'
/opt/local/lib/ruby/gems/1.8/gems/delayed_job-2.1.2/lib/delayed/performable_mailer.rb:1
/opt/local/lib/ruby/gems/1.8/gems/delayed_job-2.1.2/lib/delayed_job.rb:5:in
require' /opt/local/lib/ruby/gems/1.8/gems/delayed_job-2.1.2/lib/delayed_job.rb:5 /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0 .7/lib/bundler/runtime.rb:64: require'
/opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in
require' /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:require each'
/opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in
' /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:require each'
/opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in
' /opt/local/lib/ruby/gems/1.8/gems/bundler -1.0.7/lib/bundler.rb:112:inrequire'
/ApApplications/htdocs/domain/config/application.rb:7
/opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
gem_original_require' /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require'
/Applications/htdocs/domain/Rakefile:4
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in
load' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake .rb:2383:in raw_load_rakefile'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2017:in
load_rakefile' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in standard_exception_handling'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in
load_rakefile' /opt/local/lib/ruby/gems /1.8/gems/rake-0.8.7/lib/rake.rb:2000:in run'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
standard_exception_handling' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998 :in run'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/opt/local/bin/rake:19:in
load' /opt/local/bin/rake:19
私のGemfileには、「gem 'delayed_job'」があります
ruby - Treetop 文法の無限ループ
新しいプログラミング言語のアイデアが頭の中に浮かんでいたので、それを実装してみようと思いました。Treetop (Ruby gem) を使用してパーサーを作成してみることを友人から勧められました。Treetop のドキュメントはまばらで、私はこれまでこの種のことをしたことがありません。
私のパーサーは、無限ループがあるように動作していますが、スタック トレースはありません。追跡が困難であることが証明されています。初心者レベルの構文解析/AST ガイドの方向性を教えてもらえますか? Treetop のようなツールを使用するための規則、一般的な使用法などを一覧表示するものが本当に必要です。私のパーサー グラマーはGitHubにあります。
ruby - Treetop の左再帰の扱い方
構築しようとしている新しい汎用プログラミング言語用の文法ファイルがあります。私はこの言語を堅牢で自然に使えるようにしようとしています (Ruby などから大きな影響を受けています)。そのために、いくつかの左再帰規則を導入しました。
次の左再帰ルールを示していると思われる例をいくつか見てきました。
次のように変更することで、非左再帰にすることができます。
私には、これには別の問題があり、それでも失敗するように見えます。私は正しいですか、それともこれは「うまくいく」でしょうか?
私が (見つけて) 排除しようとしている特定の左再帰は、この文法ファイルにあります。どのルールが影響を受けるかはわかりませんが、少なくともいくつかは左再帰があると指摘されました。(ちなみに、範囲のルールを強化することで、彼が言及した特定の範囲の問題を排除しようとしました。)
abstract-syntax-tree - Treetop 文法の空白
空白が許可されているか許可されていないかを指定するとき、どの程度明示する必要がありますか? たとえば、これらのルールは次のようになります。
一致するのに十分である
基本的に、オプションの空白が表示される可能性があるすべての場所を指定する必要がありますか?
ruby - Treetopのノードに関連付けられているメソッドにアクセスする
val
以下のように文法が定義されているのに、ルールによって作成されたノードのメソッドにアクセスしようとするとエラーが発生し続けるのはなぜkey
ですか?
エラーメッセージは
文法は
テストコードは
ruby - treetop と stanford nlp を使用したデータと POS の解析
イベント (コンサート、映画など) のデータを Ruby で解析しようとしていますが、どのツールを使用すればよいかわかりません。
最初はスタンフォード パーサーが適していると思っていましたが、ツリートップについて聞いたことがあります。
スタンフォードパーサーをRuby on Windowsで動作させるには、2日以上の検索と苦労が必要であり、インストールするだけでエラーが後を絶たないため、私は両方に苦労しています。
Treetop は問題なくインストールされましたが、ドキュメントは非常に限られており、収集できる限り、treetop は実際のコンテンツよりも文法構造を扱うのに最適であるように見えますが、Treetop の機能を完全に理解していないだけかもしれません。
良いことの 1 つは (私が思うに)、バンド名と映画名の大規模なデータベース/コーパス (?) と、取得しようとしているデータのかなり限定された部分があることです。
たとえば、1 つのリストは
別のリストは
各リストで、誰/何、日付、時間、都市、会場など、かなり具体的な詳細のグループを取得しようとしています.
私はすでにバンド名のデータセットを持っており、都市名のリストを取得するのはかなり簡単なはずなので、他の詳細を選択するのは「かなり」簡単なはずですが、どのツールを専用にするべきかわかりませんまたは、これを行うためのより良い方法がある場合は?
助言がありますか?
ruby - 再帰的なツリートップが機能していません
Treetop を使用して、やや再帰的なパーサーを作成しようとしています。式は数値にすることも、式の加算にすることもできるので、次のように書きました。
それはうまくいきません。何かを解析しようとすると、「SystemStackError: スタック レベルが深すぎます」という例外が発生します (スタック オーバーフロー! イェイ!)。理由はありますか?Treetop でこのような再帰的な定義を指定する正しい方法は何ですか?
ruby - これはTreetopの1つのルールであるべきだと思います
私のTreetopには、完璧主義者が1つだけのルール、または少なくとももっと美しいものでなければならないと信じている、この実用的なルールのペアがあります。
時々「\x0D\x0A」で終わるいくつかの式を解析しています。ええ、「\ r\n」ではなく「\x0D\x0A」です。ある時点で何かが二重に逃げました。長い話。
そのルールは機能しますが、それは醜くて気になります。私はこれを試しました:
これが原因
理想的には、実際に次のようなものを書きたいと思います。
しかし、それは機能しません。私たちがそれに取り組んでいる間、ルールごとに1つだけ*を持つことはできないことも発見しました。
これは""と一致しますが、\nにはなりません。