Treetop question

Hi guys !

I started to learn to use treetop , so I would have a question :

if I create a grammar this way :

grammar Tester
rule basic
([a-f] [a-f] [a-f] [a-f] [a-f]) {
def val
text_value
end
}
end
end

and use it in the following code :
require “rubygems”
require “treetop”
Treetop.load “tester”

parser = TesterParser.new
puts parser.parse(“abcde”).val

I get the following error : x.rb:6: undefined method `val’ for
#Treetop::Runtime::SyntaxNode:0xb7ccd4b0 (NoMethodError) . However ,
if I replace this :

([a-f] [a-f] [a-f] [a-f] [a-f])

with

([a-f] [a-f] [a-f] [a-f] [a-f] / ‘’)

then everything works . Could you explain why this happens ?