# Bug on ruby\_parser gem?

**URL:** <https://www.ruby-forum.com/t/bug-on-ruby-parser-gem/181150>\
**Category:** Ruby\
**Created:** [January 6, 2010, 1:22pm UTC](https://www.ruby-forum.com/t/bug-on-ruby-parser-gem/181150 "2010-01-06T13:22:27Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrea\_CSGranata](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b5ac83/32.png) [@Andrea\_CSGranata](https://www.ruby-forum.com/u/Andrea_CSGranata)\
**Post date:** [January 6, 2010, 1:22pm UTC](https://www.ruby-forum.com/t/bug-on-ruby-parser-gem/181150/1 "2010-01-06T13:22:27Z")

</div>

Hi there,

I think i just found a bug on ruby\_parser gem on ruby 1.9.1

This is my code:

# encoding: utf-8

require ‘rubygems’  
require ‘ruby\_parser’  
parser = RubyParser.new

text =\<\<EOF

# encoding: utf-8

#àèputs “text”

# ’

EOF  
out = parser.process(text)  
puts out.inspect

When I run the code on ruby 1.9.1p376 (2009-12-07 revision 26041)  
[i386-darwin10.2.0] i get this error:

bash-3.2$ ruby test\_parser.rb  
/Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby\_parser-2.0.4/lib/ruby\_lexer.rb:381:in  
`rb_compile_error': Invalid char "'" in expression. near line 5: "#" (SyntaxError) from /Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby_parser-2.0.4/lib/ruby_lexer.rb:1222:in`block in yylex’  
from  
/Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby\_parser-2.0.4/lib/ruby\_lexer.rb:635:in  
`loop' from /Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby_parser-2.0.4/lib/ruby_lexer.rb:635:in`yylex’  
from  
/Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby\_parser-2.0.4/lib/ruby\_lexer.rb:54:in  
`advance' from /Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby_parser-2.0.4/lib/ruby_parser_extras.rb:712:in`next\_token’  
from  
/Users/andreag/.rvm/ruby-1.9.1-p376/lib/ruby/1.9.1/racc/parser.rb:99:in  
`_racc_do_parse_c' from /Users/andreag/.rvm/ruby-1.9.1-p376/lib/ruby/1.9.1/racc/parser.rb:99:in`do\_parse’  
from  
/Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby\_parser-2.0.4/lib/ruby\_parser\_extras.rb:749:in  
`process' from test_parser.rb:14:in`’

On ruby 1.8.7 (2008-08-11 patchlevel 72) and on jruby 1.4.0 (ruby  
1.9.2dev trunk 24787) the output is:  
s(:call, nil, :puts, s(:arglist, s(:str, “text”))) as expected.

Did I miss something or this is a real bug?

Ciao,  
Andrea.

---

<div class="post-metadata">

**Author:** ![Andrea\_CSGranata](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b5ac83/32.png) [@Andrea\_CSGranata](https://www.ruby-forum.com/u/Andrea_CSGranata)\
**Post date:** [January 6, 2010, 3:20pm UTC](https://www.ruby-forum.com/t/bug-on-ruby-parser-gem/181150/2 "2010-01-06T15:20:42Z")

</div>

On Wed, Jan 6, 2010 at 6:21 AM, Andrea C. Granata  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> parser = RubyParser.new  
> When I run the code on ruby 1.9.1p376 (2009-12-07 revision 26041)  
> [i386-darwin10.2.0] i get this error:
> 
> bash-3.2$ ruby test\_parser.rb  
> /Users/andreag/.rvm/gems/ruby/1.9.1/gems/ruby\_parser-2.0.4/lib/ruby\_lexer.rb:381:in  
> `rb\_compile\_error’: Invalid char “'” in expression. near line 5: “#”  
> (SyntaxError)

This looks like an incompatibility rather than a bug. As far as I  
know, ruby\_parser primarily supports 1.8, and I don’t know how much  
testing has happened against 1.9. Either way, you should probably try  
to report it…somewhere 🙂 I think ruby\_parser is a great project to  
have, since it allows equivalent parser support across all Ruby  
implementations without any native code.

- Charlie

---

<div class="post-metadata">

**Author:** ![Andrea\_CSGranata](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b5ac83/32.png) [@Andrea\_CSGranata](https://www.ruby-forum.com/u/Andrea_CSGranata)\
**Post date:** [January 6, 2010, 11:06pm UTC](https://www.ruby-forum.com/t/bug-on-ruby-parser-gem/181150/3 "2010-01-06T23:06:04Z")

</div>

On Jan 6, 2010, at 06:19 , Charles Oliver N. wrote:

> Either way, you should probably try  
> to report it…somewhere 🙂

that somewhere is the parsetree project on rubyforge:

[http://rubyforge.org/projects/parsetree/](http://rubyforge.org/projects/parsetree/)
