Skip to content
Commits on Sep 28, 2010
  1. @dmajda
  2. @dmajda
  3. @dmajda
  4. @dmajda
  5. @dmajda

    Handle non-unique expected values of match failuers differently

    dmajda committed
    Before this commit, uniqueness was checked when addding the failure. Now
    we make the entiries unique when generating the error report, saving a
    little time when the parsing is successful. This does not increase the
    benchmark numbers too much though.
    
    Results of benchmark with 100 runs on V8:
    
      Before:  37.25 kB/s
      After:   37.41 kB/s
      Speedup: 0.241 %
    
    Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.3 (KHTML, like
    Gecko) Chrome/6.0.472.63 Safari/534.3
Commits on Aug 22, 2010
  1. @dmajda

    Avoid quoting when reporting errors for literals

    dmajda committed
    This is a small win performance-wise.
    
    Results of benchmark with 100 runs on V8:
    
      Before:  31.65 kB/s
      After:   32.83 kB/s
      Speedup: 3.728 %
    
    Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like
    Gecko) Chrome/5.0.375.127 Safari/533.4
  2. @dmajda

    Remove two unused variables

    dmajda committed
  3. @dmajda

    Avoid passing |context| in the generated parser

    dmajda committed
    Passing the context is not necessary, global variable is good enough
    (passing the context would make more sense if each AST node was
    translated into a function call, but this isn't the case).
    
    The performance gain is very small, on the border of statstical error.
    
    Results of benchmark with 100 runs on V8:
    
      Before:  31.49 kB/s
      After:   31.57 kB/s
      Speedup: 0.254 %
    
    Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like
    Gecko) Chrome/5.0.375.127 Safari/533.4
Commits on Aug 21, 2010
  1. @dmajda
  2. @dmajda
  3. @dmajda

    Little compiler tests clean-up

    dmajda committed
  4. @dmajda
  5. @dmajda
  6. @dmajda
  7. @dmajda
Commits on Aug 18, 2010
  1. @dmajda
  2. @dmajda
  3. @dmajda
Commits on Aug 17, 2010
  1. @dmajda
  2. @dmajda
  3. @dmajda

    Extract |buildNodeVisitor|

    dmajda committed
Commits on Aug 16, 2010
  1. @dmajda
Commits on Aug 15, 2010
  1. @dmajda

    Split the vendor directory

    dmajda committed
    There are now three vendor directories. The goal is to have test- and
    benchmark-specific stuff is its own directories and not in the main one.
    
      vendor
      test/vendor
      benchmark/vendor
  2. @dmajda
  3. @dmajda

    Rakefile: Rename "metaparser" task to "parser"

    dmajda committed
    This is more consistent with nomenclature in the code and with the file
    names.
  4. @dmajda

    Split the source code into several files, introduce build system

    dmajda committed
    The source code is now in the src directory. The library needs to be
    built using "rake", which creates the lib/peg.js file by combining the
    source files.
Commits on Aug 14, 2010
  1. @dmajda

    Rename |PEG.compiler.compileParser| to |PEG.compiler.compile|

    dmajda committed
    It's shorter and more consistent with |PEG.parser.parse|.
  2. @dmajda

    Renamed some properties of the |PEG| object

    dmajda committed
    1. |PEG.Compiler| -> |PEG.compiler|
    2. |PEG.grammarParser| -> |PEG.parser|
    
    This brings us closer to the desired structure of the PEG object, which
    is:
    
      +-PEG
        |- parser
        +- compiler
           |- checks
           |- passes
           +- emitter
    
    These are the only things (together with the |PEG.buildParser| function
    and exceptions) that I want to be publicly accessible -- as extension
    points and also for easy testing of PEG.js's components.
  3. @dmajda
  4. @dmajda
  5. @dmajda

    Move compiler checks and passes out of |PEG.Compiler| definition

    dmajda committed
    This allows splitting them into separate files in the future. It also
    decreases indentation level in the code.
  6. @dmajda
  7. @dmajda
Commits on Jul 24, 2010
  1. @dmajda

    Benchmark: Factor benchmark into several functions run using |setTime…

    dmajda committed
    …out|
    
    We do this for two reasons:
    
      1. To avoid bowser mechanism for interrupting long-running scripts to
         kick-in (or at least to not kick-in that often).
    
      2. To ensure progressive rendering of results in the browser (some
         browsers do not render at all when running JavaScript code).
    
    This does not change the benchmark suite execution speed statistically
    significantly on V8.
    
    Detailed results (benchmark suite totals):
    
    ---------------------------------
     Test #     Before       After
    ---------------------------------
          1   31.04 kB/s   31.18 kB/s
          2   31.26 kB/s   30.89 kB/s
          3   31.15 kB/s   31.19 kB/s
          4   30.52 kB/s   31.21 kB/s
          5   31.00 kB/s   30.73 kB/s
    ---------------------------------
    Average   30.99 kB/s   31.04 kB/s
    ---------------------------------
    
    Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4
Commits on Jul 21, 2010
  1. @dmajda
Something went wrong with that request. Please try again.