spec/support/base_tokenizer_spec.rb in rley-0.7.07 vs spec/support/base_tokenizer_spec.rb in rley-0.7.08
- old
+ new
@@ -23,29 +23,34 @@
end
end # context
context 'Provided services:' do
+ # Simplistic tokenizer.
+ # rubocop: disable Lint/ConstantDefinitionInBlock
class PB_Tokenizer < BaseTokenizer
@@lexeme2name = {
'(' => 'LPAREN',
')' => 'RPAREN',
'+' => 'PLUS'
}.freeze
protected
- def recognize_token()
- if (lexeme = scanner.scan(/[\(\)]/)) # Single characters
+ # rubocop: disable Lint/DuplicateBranch
+ def recognize_token
+ if (lexeme = scanner.scan(/[()]/)) # Single characters
# Delimiters, separators => single character token
build_token(@@lexeme2name[lexeme], lexeme)
elsif (lexeme = scanner.scan(/(?:\+)(?=\s)/)) # Isolated char
build_token(@@lexeme2name[lexeme], lexeme)
elsif (lexeme = scanner.scan(/[+-]?[0-9]+/))
build_token('int', lexeme)
end
end
+ # rubocop: enable Lint/DuplicateBranch
end # class
+ # rubocop: enable Lint/ConstantDefinitionInBlock
# Basic tokenizer
# @return [Array<Rley::Lexical::Token>]
def tokenize(aText)
tokenizer = PB_Tokenizer.new(aText)