Class: Babelyoda::StringsLexer
- Inherits:
-
Object
- Object
- Babelyoda::StringsLexer
- Defined in:
- lib/babelyoda/strings_lexer.rb
Constant Summary collapse
- TOKENS =
[ :multiline_comment, :singleline_comment, :string, :reserved0, :equal_sign, :semicolon ].freeze
Instance Method Summary collapse
Instance Method Details
#lex(str) ⇒ Object
5 6 7 8 9 10 |
# File 'lib/babelyoda/strings_lexer.rb', line 5 def lex(str) str.scan(/(\/\*.*\*\/)|(\s*\/\/.*\n)|((["])(?:\\?+.)*?\4)|(\s*=\s*)|(;)/).each do |m| idx = m.index { |x| x } yield TOKENS[idx], m[idx].strip end end |