6 Language of C and Equations C
Takahiro Yamamoto, Toshiki Sakabe, Yasuyoshi Inagakil · 1991
Summary: In this paper, we present a hybrid language C= =. The language has the feature for hierarchically specifying ADTs by equations, in addition to all the features of C, a practical procedural language. Two extreme programming styles are possible in C= =. One is a fully algebraic programming style, in which a programmer can write all programs as specifications in equations. The other is a purely procedural one, in which a programmer can write C programs. That is, programmers can stay in C= = throughout all developing phases from specification to implementation. The compiler of C= = consists of Cdimple, which is a translator of algebraic specifications or term rewriting systems into C programs, and ordinary C compiler, and allows to do separate compilation. This construction can be applied to other combinations of procedural languages and algebraic specificatiQns. An application of C= = to line-drawing software is presented, and the experience shows that a hybrid language such as C= = is useful in developing the event-driven programs.