Chervil is a toy Lisp interpreter written in Ruby
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

lexer_spec.rb 485B

123456789101112131415161718192021
  1. module Chervil
  2. RSpec.describe Lexer do
  3. it 'lexes parens' do
  4. expect(Lexer.new('()').tokenize).to eq(
  5. [
  6. Token.new(:lparen, '('),
  7. Token.new(:rparen, ')'),
  8. Token.new(:eof, 'eof')
  9. ]
  10. )
  11. end
  12. it 'lexes integers' do
  13. expect(Lexer.new('1').get_next_token).to eq(Token.new(:number, '1'))
  14. end
  15. it 'lexes floats' do
  16. expect(Lexer.new('2.3').get_next_token).to eq(Token.new(:number, '2.3'))
  17. end
  18. end
  19. end