[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Technical Questions



We have just installed Centaur in Haifa scientific center and would like
to ask some questions.

Does anybody has a Metal specification of an abstract
and concrete syntax for C?

On the more conceptual level, we are now trying to use Centaur to
incorporate our semantics analysis. We want to analyze a PL-like
language. Our goal is to infer the type of the variables from their usage.
The natural candidate for this task is Typol.
Thus, we need to write type inference rules for our language.
However, these inference rules are not part of the language.
They are used to model software conventions.
This has the following impacts:
 a. The programmer will supply some of the type information
    by interaction with the type inference algorithm.
    This may be viewed as adding type definition for variables,
    on demand.
 b. There will be an interactive mode in which the programmer is
    asked to confirm the application of type inference rules.
 c. The programmer can add/delete inference rules, and regenerate
    the system.
 d. There may be more than one inference rule for a given program
    construct.
    For example, in the assignment x := y, there will be a number
    of rules using the type of x to infer the type of y and a number
    of rules to infer the type of x from y.
    A natural semantics for such inference rules is a fixed point
    semantics, i.e., inference rules will be applied till convergence
    in the symbol table occurs.

We suspect that Typol will be too high leveled to implement
these features and that some of the tasks need to be directly specified
using VTP. Are we right?

     Thanks, Mooly