Dec 182017
 
Pascal to C converter.
File PTC.ZIP from The Programmer’s Corner in
Category Pascal Source Code
Pascal to C converter.
File Name File Size Zip Size Zip Type
PTC.DOC 2392 993 deflated
PTC.EXE 118728 38943 deflated
PTOC.DOC 57541 13963 deflated

Download File PTC.ZIP Here

Contents of the PTC.DOC file





PTC(1)



NAME
ptc - Pascal to C translator

SYNOPSIS
ptc < pascal source > c source

DESCRIPTION
_P_t_c reads a correct Pascal program and prints a C program
with the same behaviour. It is intended as a tool for tran-
sporting finished applications to environments that lack
Pascal compilers, it is _n_o_t intended for program develop-
ment.

The input should comply with the ISO level 0 Pascal defini-
tion. Two common Pascal extensions are also recognized: the
keyword otherwise may be used for default entries in case-
statements, the keyword external may be used in place of the
forward directive to signify that a procedure or function is
defined in a library. Furthermore, the translator does not
require a complete Pascal program, a consistent subset of
declarations can be translated. Thus a primitive module
concept is supported.

SEE ALSO
Ptc implementation notes.

CAVEATS
The quality of an object program is of course highly depen-
dent on the C compiler that processes the translated code.
Arithmetic operations are sometimes implemented in a way
that is incompatible with the Pascal definition. For exam-
ple, the translator assumes that:

a := b mod c

can be accurately translated into

a = b % c

but that may not be true if c is negative. A check on the
characteristics of integer and float arithmetic is strongly
recommended.

Some Pascal constructs are impossible to express in C. The
translator will not object to:

type ptr = ^ ptr;

but a C-compiler may balk at the resulting:

typedef ptr * ptr;




1






PTC(1)



BUGS
The program can't translate comments from Pascal to C.

The translator does not do complete typechecking so a Pascal
program that isn't formally correct may cause malfunction.

Passing a procedure as parameter to an enclosing recursive
procedure may produce erroneous code (see the implementation
notes).














































2





 December 18, 2017  Add comments

Leave a Reply