wiki:C Interface

Version 3 (modified by Stephen Siegel, 16 years ago) ( diff )

--

How will one make up a C program for the TASS model extractor? This page is organized by issues that arise.

Input/Output

A real scientific program written in C does not have "input" and "output" variables Inputs may come from a variety of sources, mainly from files. But preprocessor directives may also be considered input, there may be input from the terminal, or from other sources. Output is also typically written to files or the screen. How do we model the input/output in this case? What should we expect the user to do? Perhaps the user should write a "TASS harness" which wraps the code in some way that specifies the input and output clearly? Ideas, please.

Assumptions

In MiniMP one writes:

input int N {N>0};

How to do this in C?

Non-deterministic select statement

Does not exist in C. Do we need it?

Assertion Language

Some MiniMP expressions do not occur in C, such as forall, exists. For accuracy, there is also the derivative notation. How to express them? Where can they occur? Can we use C's assert?

Loop invariants/co-invariants

Library calls

Think of the functions in stdlib, stdio, etc. We need some sort of abstract model of at least the most commonly-used functions. Most of them do not have state and should be representable in a simple way, perhaps abstracted away altogether.

Abstract Functions

Note: See TracWiki for help on using the wiki.