Parser Benchmark


The parser benchmark tool is used to benchmark the on-going evolution of the Eiffel parser. The tool can be compiled for both classic and .NET dervitives of Eiffel to test the performance on both. The tool can test individual factories used in various situations, via command-line specification. In addition the frozen implementation of the Eiffel parser can be benchmarked to see the performance gains/loses on .NET.

Warning.png Warning: This tool only compiles on Windows

Built-in Factories

To-date there are four factories supplied with the Eiffel parser in the public repository (

  • AST_NULL_FACTORY: A "do-nothing" factory that does not create any abstract syntax objects, it's more for validation.
  • AST_FACTORY: A base factory that will only create meaningful abstract syntax nodes (keywords, whitespace, comments, etc are ignored.)
  • AST_LIGHT_ROUNDTRIP_FACTORY: A factory that does the job of AST_FACTORY and more. With this factory keyword abstract syntax nodes are created.
  • AST_ROUNDTRIP_FACTORY: A factory that generates abstract syntax nodes and a match list (lists for non-abstract syntax-represented items) for every thing in an Eiffel code file.

Each one of these factories is represented by a respective command line option (next section.)

Command-line Options

To view the help information please use the /? switch.


This tool was developed and maintained by Paulb.


Change Log

Initial Entry: Paulb 19:38, 16 August 2006 (CEST)