Skip to content
/ fussy Public

An interpretor for a language with automatic error propagation

License

Notifications You must be signed in to change notification settings

sanbee/fussy

Repository files navigation

GNU fussy

This project is now part of the GNU project. This repos will be sync'ed with the official GNU fussy repos on Savannah.

The GNU fussy program implements a scripting language with an algorithm for automatic error propagation of random measurement errors in an arbitrary mathematical expression. The program can be used as a simple interactive calculator with error propagation. Mathematical expressions can be implemented as a collection of sub-expressions, as sub-program units (functions or procedures) or as single atomic expressions. Sub-expressions can be assigned to temporary variables which can then be used to write the final expression. The interpreter is internally implemented as a virtual machine for efficient runtime performance and can be used as an interpreter in a client code as well. A simple C binding to the interpreter is also provided.

The scripting syntax of GNU fussy is similar to the C programming language. It is easy, particularly for those familiar with programming in C, to use GNU fussy with minimal learning. In its simplest form, GNU fussy interpretor can be used interactively as a simple calculator with the added feature of automatic error prograpation (see syntax for simple expressions, sub-expressions, and functions/procedure).

Installation

The build system now uses the standard GNU build tools (automake, autoconfigure). On most standard Linux distributions following commands should be sufficient to build and test fussy

./configure
make check

A successful build should produce the following Testsuite summary:

============================================================================
Testsuite summary for fussy 2.0
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0

In case this does not work, you can re-build the "./configure" script by running the "build" script.

In case this still fails to build GNU fussy, please let us know.

If you find the software useful, we look forward to hearing from you with your comments/suggestions.

Please also refer to its usage in your publication by quoting the following:

About

An interpretor for a language with automatic error propagation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published