MX is an advanced documentation tool.
The Mx documentation tool has been developed to improve the quality of program documentation. In particular, all program modules are written as if they form part of a final, and completely documented system. That is, the source code can be elicitated in the native language, motivating its design, assumptions, and behavior. Using a text formatter enables the programmer to express more clearly the program properties. Just consider a pictorial presentation of the program structure or an assertion on a set of variables, typeset in a mathematical style. The result is a more readable document where the actual program code plays the role of an illustration of the more global system objectives and design boundaries.
The programmer works with Mx files rather than program source files. Therefore, the programmer uses special Mx-directives, to separate the code sections from the documentation sections. The overhead involved in writing a program as a Mx-document is kept minimal. Likewise, the overhead incurred on the edit-compile-debug cycle is kept at a minimum. For example, for C-based code fragments Mx generates compiler directives that enables you to debug the system in terms of Mx-documents, rather than the C-source files extracted. Using Mx during the whole software development cycle leads to a product where the documentation is in sink with the program itself. Moreover, the physical adjanceny of documentation containing rationale and assumptions stimulates the delivery of better quality code, because discrepancies in design and coding are more easily recognized.