Difference between revisions of "Parser Benchmark"

 
Line 1: Line 1:
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 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.
  
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.
+
This tool was developed and maintained by [[User:Paulb|Paulb]].
  
 
== Built-in Factories ==
 
== Built-in Factories ==
  
 
To-date there are four factories supplied with the Eiffel parser in the public repository ([https://origo.ethz.ch/eiffelsoftware/es/trunk/Src/Eiffel/parser https://origo.ethz.ch/eiffelsoftware/es/trunk/Src/Eiffel/parser])
 
To-date there are four factories supplied with the Eiffel parser in the public repository ([https://origo.ethz.ch/eiffelsoftware/es/trunk/Src/Eiffel/parser https://origo.ethz.ch/eiffelsoftware/es/trunk/Src/Eiffel/parser])
* AST_NULL_FACTORY: A "do-nothing" factory that does not create any objects, it's more for validation.
+
* '''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_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_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.
+
* '''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.
  
 
== Command-line Options ==
 
== Command-line Options ==

Revision as of 09:40, 16 August 2006

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.

This tool was developed and maintained by Paulb.

Built-in Factories

To-date there are four factories supplied with the Eiffel parser in the public repository (https://origo.ethz.ch/eiffelsoftware/es/trunk/Src/Eiffel/parser)

  • 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.

Command-line Options

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

Change Log

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