Herodotos |
This manual documents the release 0.6.0rc1 of Herodotos.
Herodotos copyright is
©2010, University of Copenhagen DIKU.
©2010, Nicolas Palix.
Herodotos is open source and can be freely redistributed under the
terms of the GNU General Public License version 2. See the file
license.txt in the distribution for licensing information.
The present documentation is copyright 2010, Nicolas Palix and distributed under the terms of the GNU Free Documentation License version 1.3.
Herodotos can be freely downloaded from http://www.diku.dk/~npalix/herodotos/. This website contains also additional information.
You need the O’Caml compiler. Herodotos parsers are generated with Menhir. However they have been pre-generated in the source package.
You need the following:
Sources are available on several web sites:
If you’re under Ubuntu, you may add ppa:npalix/herodotos or ppa:npalix/herodotos-stable as an other software source in Synaptic. In that case, runtime dependencies are automatically handled.
For more information, you can go to the PPA pages on Launchpad mentioned in previous section.
At this point, you must have Herodotos installed. You now have to setup your environment and write a Herodotos Configuration file.
make init
make -j2
make correl
Note: Herodotos will automatically compute the changeset.
$EDITOR results/*/*.correl.org
Emacs with the Org mode is recommended. Org mode view-link add-on will transform your emacs in a wizard to handle Coccinelle reports.
See ./tools/org-view-link.el
make correl (recompute the correlation and use the correlation set manually provided)
make stat
make [graph|web]
This document presents the grammar of the Herodotos Configuration Language used by the Herodotos tool. The grammar uses some unspecified nonterminals, such as id, etc. These refer to the sets suggested by the name, i.e., id refers to the set of possible identifiers.
A PDF version of this documentation is available at http://www.diku.dk/~npalix/herodotos/docs/herodotos.pdf.
config | ::= | globattr * project * pattern * graph * |
globattr | ::= | prefix = string | projects = string |
| | patterns = string | results = string | |
| | findcmd = string | flags = string | |
project | ::= | project id {prjattr *} |
pattern | ::= | pattern id {patattr *} |
graph | ::= | graph filepath {grphattr * curve *} |
curve | ::= | curve project id [{layoutattr *}] |
| | curve pattern id [{layoutattr *}] | |
| | curve project id pattern id {layoutattr *} | |
| | curve string {layoutattr *} | |
grphattr | ::= | xaxis = xtype | yaxis = ytype |
| | xlegend = string | ylegend = string | |
| | pattern = id | project = id | |
| | layoutattr | |
xtype | ::= | version | date |
ytype | ::= | occurrences | count | density | cumulcount |
| | size | sizepct | birth | death | netincrease | |
| | birthfile | deathfile | avglifespan | |
| | avgage | eldest | eldestdeath | |
| | expertise | patchexpert | timeexpert | |
| | abstime | reltime | lifeexpect | user | |
layoutattr | ::= | nooccurcolor = float float float |
| | notexistcolor = float float float | |
| | filename = boolean | |
| | ratio = boolean | factor = int | |
| | data = expression | |
| | styleattr |
The operators * and / have priority over the operators + and -.
expression | ::= | project id |
| | pattern id | |
| | expression + expression | |
| | expression - expression | |
| | expression * expression | |
| | expression / expression | |
| | (expression) |
This document was translated from LATEX by HEVEA.