Commit 14fb3132 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Some helper scripts to test RKelly performance.

parent b4bbddbe
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
# Compare RKelly and Esprima parser.
$:.unshift File.dirname(File.dirname(File.dirname(__FILE__))) + "/lib"
require 'jsduck/js/rkelly_adapter'
require 'rkelly'
require 'jsduck/js/esprima'
require 'pp'

code = <<-EOS
var x = {
    foo: 5,
    // Some docs
    bar: 5
};
EOS

pp JsDuck::Js::Esprima.parse(code)
puts
pp JsDuck::Js::RKellyAdapter.new.adapt(RKelly::Parser.new.parse(code))

spec/benchmark/lex.rb

0 → 100644
+19 −0
Original line number Diff line number Diff line
# Script for benchmarking CSS lexer.
#
# Takes bunch of filenames as arguments and runs them all through CSS Lexer.
#
$:.unshift File.dirname(File.dirname(File.dirname(__FILE__))) + "/lib"
require 'jsduck/css_lexer'

def lex(str)
  lexer = JsDuck::CssLexer.new(str)
  tokens = []
  while !lexer.empty?
    tokens << lexer.next
  end
  tokens
end

ARGV.each do |fname|
  lex(IO.read(fname))
end
+18 −0
Original line number Diff line number Diff line
# Test RKelly adapter.
$:.unshift File.dirname(File.dirname(File.dirname(__FILE__))) + "/lib"
require 'jsduck/js/rkelly_parser'
require 'pp'

pp RKelly::Parser.new.parse(<<-EOS, "foo.js")
        // Another
        x = 10;
EOS

# parser = JsDuck::Js::RKellyParser.new(<<-EOS)
#         /* Hello world
#         */

#         // Another
# EOS

# pp parser.parse
+9 −0
Original line number Diff line number Diff line
# Test for RKelly tokenizer
#
require 'rkelly'

tokenizer = RKelly::Tokenizer.new

ARGV.each do |fname|
  tokenizer.tokenize(IO.read(fname))
end