{\rtf1\ansi\ansicpg1252\fromhtml1 \deff0{\fonttbl {\f0\fswiss Arial;} {\f1\fmodern\fcharset0 Courier New;} {\f2\fnil\fcharset2 Symbol;} {\f3\fmodern\fcharset0 Courier New;}} {\colortbl\red0\green0\blue0;\red0\green0\blue255;} \uc1\pard\plain\deftab360 \f0\fs24 {\*\htmltag243 } {\*\htmltag3 \par } {\*\htmltag19 } {\*\htmltag2 \par } {\*\htmltag34
} {\*\htmltag1 \par } {\*\htmltag241 } {\*\htmltag1 \par } {\*\htmltag241 } {\*\htmltag177}\htmlrtf \par {\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf }\par \htmlrtf0 {\*\htmltag0 \par } {\*\htmltag58 } {\*\htmltag2 \par } {\*\htmltag27 } {\*\htmltag3}} ×_ÀOÁ}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li360 Hi Chris,\line \line I see, P20 is for a different application area (scope).\line \line Standard Pascal hasn't Units. It doesn't need any name translation.\line Standard Pascal uses ASCII character set only. It doesn't need character\line translation.\line \line I looked from the view of my very old Turbo Pascal programs. There are both\line topics very important.\line \line Currently my biggest drawback in Component Pascal is: I can't use Unicode in\line string constant (ARRAY OF CHAR) and I can't use Unicode characters inside\line forms!!! I wrote a email about this topic to the mailing list ("A Cookbook\line question: How to use Unicode inside BlackBox programs?"). There is no\line response. Nobody is interested in such question. Am I the only one who have\line trouble with Unicode?\line \line I look forward to see P20 on CPC.\line \line Regards \line \line Helmut\line \line -----Urspr {\*\htmltag84 ü}\htmlrtf \'fc\htmlrtf0 ngliche Nachricht-----\line Von: {} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 } [{} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 mailto:blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 }]Im Auftrag von CFB\line Software\line Gesendet: Dienstag, 25. Oktober 2005 03:27\line An: {} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 }\line Betreff: [BlackBox] - Pascal to Component Pascal translator {\*\htmltag84 &}\htmlrtf &\htmlrtf0 Name\line Translation {\*\htmltag84 &}\htmlrtf &\htmlrtf0 Character Translation to Unicode\line \line \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag96}\htmlrtf \par {\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf }\par \htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li720 From: {} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 } [{} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 mailto:blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 }] On \line Behalf Of collection\line Sent: Saturday, 22 October 2005 4:50 PM\line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag104}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li360 {\*\htmltag244 }\line Hi Helmut,\line \line Thank you for your feedback.\line \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag96}\htmlrtf \par {\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf }\par \htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li720 it is a typical Benchmark problem that some relevant topics \line are not compared. \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag104}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li360 {\*\htmltag244 }\line True - it only claims to highlight what P2O does which Tp2cp doesn't -\line not vice versa. Since then I have extended it to convert more WITH\line statements. The WITH variable can now be any simple global variable, or\line local variable (including parameters). Also, nested WITHs of the form\line 'WITH v1, v2, ... DO' are handled correctly. What it doesn't do is\line handle with statements involving elements of structured variables, e.g. \line \line WITH xyz[99].abc DO\line \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag96}\htmlrtf \par {\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf }\par \htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li720 The most important topic is comments inside programs. Tp2cp \line passes all comments from the source to the translated result. \line What does P20 do with comments? \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag104}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li360 {\*\htmltag244 }\line P2O passes all comments. Note that Jensen {\*\htmltag84 &}\htmlrtf &\htmlrtf0 Wirth Pascal / IS0 7185\line Standard Pascal does not allow nested comments. I have also implemented\line the code to handle nested comments but this is commented out for now.\line \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag96}\htmlrtf \par {\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf }\par \htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li720 The second important topic is the name translations and \line adding subsystem names. Suppose you have to translate a \line bigger project with a lot of Units (MODULEs) and you would \line like to have the result into the same subsystem. \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag104}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li360 {\*\htmltag244 }\line This is not within the scope of P2O because Jensen {\*\htmltag84 &}\htmlrtf &\htmlrtf0 Wirth Pascal / IS0\line 7185 Standard Pascal does not include units / modules.\line \line Modular compilation did not appear in Standard Pascal (ISO 10206) until\line 1990, about a decade after it was implemented in UCSD Pascal and five\line years after Turbo Pascal. Consequently, each Pascal dialect has their\line own different way of doing things. Standard Pascal uses keywords like\line MODULE, IMPORT and EXPORT which are closer to Modula-2 than many\line extended Pascals.\line \line P2O was not intended to be a Turbo Pascal translator - I would recommend\line Tp2cp to anybody who has Turbo Pascal code that they want to convert. \line \line I first mentioned P2O as I was considering extending it to support\line Delphi (the language formerly known as Object Pascal), but the more I\line think about it, the less I like the idea. Although Delphi would have to\line be the most widely used dialect of Pascal in existence today, most\line Delphi programs would have considerable dependence on the VCL (i.e.\line Delphi's equivalent of the BlackBox framework). Porting code then\line becomes more an issue of matching / redesigning API / Framework calls\line than a straightforward translation effort.\line \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag96}\htmlrtf \par {\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf }\par \htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag128}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li720 An other topic is the character translations. Old Turbo \line Pascal uses the IBM-PC extended ASCII character set. I can \line translate this character set with module 4 to Unicode but the \line result is not working. See my last email via Black Box \line Mailing list. Have P20 a character translations? \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag240 } {\*\htmltag104}\htmlrtf {\pard\plain\f1\fs20 \htmlrtf0 \htmlrtf {\htmlrtf0 \li360 {\*\htmltag244 }\line No. I may be wrong, but I don't believe it is relevant when translating\line existing Jensen {\*\htmltag84 &}\htmlrtf &\htmlrtf0 Wirth / Standard Pascal source code. \line \line In summary, P2O's key features are:\line \line 1. Translates Jensen {\*\htmltag84 &}\htmlrtf &\htmlrtf0 Wirth / ISO 7185 Standard Pascal source code.\line 2. It is self-contained i.e. does not require any support programs to\line perform its task.\line 2. BlackBox and Gardens Point Component Pascal versions have been\line implemented. \line 3. GPCP enables it to potentially to be run on Linux and the Mac as well\line as Windows.\line \line Chris Burrows\line CFB Software\line {} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "http://www.cfbsoftware.com/gpcp"}}{\fldrslt\cf1\ul \htmlrtf0 http://www.cfbsoftware.com/gpcp\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 }\line \line --- BlackBox\line --- send subject HELP or UNSUBSCRIBE to {} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 }\line \line ---------------\line \line Diese E-Mail wurde auf Viren ueberprueft.\line \line IG Metall\line \line --- BlackBox\line --- send subject HELP or UNSUBSCRIBE to {} {\*\htmltag84 }\htmlrtf {\field{\*\fldinst{HYPERLINK "mailto:blackbox@oberon.ch"}}{\fldrslt\cf1\ul \htmlrtf0 blackbox@oberon.ch\htmlrtf }\htmlrtf0 \htmlrtf }\htmlrtf0 {\*\htmltag92 }\line \line \line \line \htmlrtf\par}\htmlrtf0 {\*\htmltag136}\htmlrtf }\htmlrtf0 {\*\htmltag0 \par } {\*\htmltag104