Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefix Decrement Causes Ambiguous Failure: parser.y:606:in `_reduce_273': RKelly::SyntaxError (RKelly::SyntaxError) #574

Closed
pherris opened this issue Sep 4, 2014 · 1 comment

Comments

@pherris
Copy link

pherris commented Sep 4, 2014

I have code that uses a prefix decrement, e.g.

var counter = 0;
var a = ++counter;
var b = --counter;

Instead I have to do this:
var counter = 0;
counter++;
var a = counter;
counter--;
var b = counter;

or I get this stack:
% grunt jsduck --force
Running "jsduck:main" (jsduck) task
parser.y:606:in _reduce_273': RKelly::SyntaxError (RKelly::SyntaxError) from (eval):4:in_reduce_273'
from (eval):3:in _racc_do_parse_c' from (eval):3:indo_parse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/rkelly-remix-0.0.5/lib/rkelly/parser.rb:43:in parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/js/parser.rb:22:inparse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/parser.rb:44:in parse_js_or_css' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/parser.rb:30:inparse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/batch_parser.rb:25:in block in parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:339:incall'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:339:in call_with_index' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:268:inprocess_incoming_jobs'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:251:in block in worker' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:244:infork'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:244:in worker' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:232:inblock in create_workers'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:231:in each' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:231:increate_workers'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:195:in work_in_processes' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:106:inmap'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/util/parallel.rb:28:in map' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/batch_parser.rb:17:inparse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/app.rb:41:in parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/app.rb:21:inrun'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/bin/jsduck:25:in <top (required)>' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/jsduck:23:inload'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/jsduck:23:in <main>' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/ruby_executable_hooks:15:ineval'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/ruby_executable_hooks:15:in <main>' Warning: parser.y:606:in_reduce_273': RKelly::SyntaxError (RKelly::SyntaxError)
from (eval):4:in _reduce_273' from (eval):3:in_racc_do_parse_c'
from (eval):3:in do_parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/rkelly-remix-0.0.5/lib/rkelly/parser.rb:43:inparse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/js/parser.rb:22:in parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/parser.rb:44:inparse_js_or_css'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/parser.rb:30:in parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/batch_parser.rb:25:inblock in parse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:339:in call' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:339:incall_with_index'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:268:in process_incoming_jobs' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:251:inblock in worker'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:244:in fork' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:244:inworker'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:232:in block in create_workers' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:231:ineach'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:231:in create_workers' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:195:inwork_in_processes'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/parallel-0.7.1/lib/parallel.rb:106:in map' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/util/parallel.rb:28:inmap'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/batch_parser.rb:17:in parse' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/app.rb:41:inparse'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/lib/jsduck/app.rb:21:in run' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/gems/jsduck-5.3.4/bin/jsduck:25:in<top (required)>'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/jsduck:23:in load' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/jsduck:23:in

'
from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/ruby_executable_hooks:15:in eval' from /Users/uname/.rvm/gems/ruby-1.9.3-p545@appsdk/bin/ruby_executable_hooks:15:in' Used --force, continuing.

@nene
Copy link
Member

nene commented Oct 2, 2014

Unable to reproduce.

If the RKelly parser would not support the prefix decrement operator, that would be a sever bug, but you're the first one to ever report that. So it's unlikely that the bug is in the parser.

@nene nene closed this as completed Nov 12, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants