examples/general/SRL/lib/tokenizer.rb in rley-0.6.00 vs examples/general/SRL/lib/tokenizer.rb in rley-0.6.01
- old
+ new
@@ -103,11 +103,11 @@
if '(),'.include? curr_ch
# Delimiters, separators => single character token
token = build_token(@@lexeme2name[curr_ch], scanner.getch)
elsif (lexeme = scanner.scan(/[0-9]{2,}/))
- token = build_token('INTEGER', lexeme) # An integer has two or more digits
+ token = build_token('INTEGER', lexeme) # An integer has 2..* digits
elsif (lexeme = scanner.scan(/[0-9]/))
token = build_token('DIGIT_LIT', lexeme)
elsif (lexeme = scanner.scan(/[a-zA-Z]{2,}/))
token = build_token(@@keywords[lexeme.upcase], lexeme)
# TODO: handle case unknown identifier
@@ -130,10 +130,10 @@
end
def build_token(aSymbolName, aLexeme)
begin
token = Rley::Lexical::Token.new(aLexeme, aSymbolName)
- rescue Exception => ex
+ rescue StandardError
puts "Failing with '#{aSymbolName}' and '#{aLexeme}'"
raise ex
end
return token