Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
10.12.2013
Размер:
23.85 Кб
Скачать
Welcome to the Irie Pascal 2.01 for Windows Readme File

Copyright (c) 1998-2001 Stuart King. All rights reserved.

The latest information and releases of Irie Pascal are available at
the Irie Tools web site: http://www.irietools.com

------------------------
Changes in version 2.01:
------------------------
The following changes have been made in the Windows edition.

** Fixed bug in the IDE which prevented it from running applications
under Windows 2000.
** Fixed the problem with the IDE and the interpreter which limited
the maximum length of a command-line to 80 characters. The maximum
length of a command-line is now 260 characters.
** Added support for setting the #! header in the IDE. The Miscellaneous
options page now allows you to type in a #! header which is placed
in front of generated executables (useful for running applications
under Linux, FreeBSD, or Solaris).
** Improved the editors handling of tabs. When you move to a new line
the editor now does a better job of maintaining the same screen column.
** A problem with pasting text has been fixed. Now if you have text
selected when you paste then the pasted text replaces the selected
text, instead of just being inserted.
** The caret now changes depending on whether the editor is in overwrite
mode or insert mode. In overwrite mode the caret changes to a block.
In insert mode the caret changes to a vertical line.
** The caret now advances when you enter text in overwrite mode.

------------------------
Changes in version 2.00:
------------------------
** WARNING: The layout of string fields in unpacked records has been
changed. If you have applications that use binary files of unpacked
records (i.e. "file of type" where type is or contains an unpacked
record type) you need to convert your files before upgrading to this
version.
One solution is to convert those files to binary files of PACKED records
(i.e. write programs to read in the files and write them out as packed
records).
** An Integrated Development Environement (IDE) version of the compiler
is now included (Windows edition only).
** Added support for using COM objects (Windows edition only).
Irie Pascal applications running under the Windows edition can
call methods, get properties, and set properties in COM objects that
support late-binding. If you are in doubt about whether a particular
COM object supports late-binding then note that COM objects that
support scripting languages such as VBScript and JavaScript support
late binding, and can probably used by Irie Pascal applications.
Also COM objects generated by Visual Basic support late-binding.
** Added database support (ODBC and MySQL).
Applications running under the Windows edition can access databases
through ODBC. This allows Irie Pascal applications to access almost all
Windows databases, since almost all major Windows database engines
support ODBC (including MS SQL Server, Oracle, and MS Access).
Applications running under the Linux, FreeBSD, and Solaris editions can
access MySQL databases.
** "LIST" type declarations can now refer to types that have not yet
been defined
(i.e. list of t is allowed even if t has not yet been declared
NOTE: The declaration of t must follow later).
** Corrected bug where write(s:w) would print all of s even if
w < length(s). Instead write(s:w) should print only the
first w characters of s. (i.e. write ('Hello':2) now prints He).
** Added compiler option -oname which specifies the name of the
executable generated by the compiler.
** Added -hHeader option which specifies the #! unix header to
put in front of the executable.
** Added support for "UnixPlatform:boolean".
This built-in function allows the application to detect whether it's
running under a UNIX-like operating system (currently Linux, FreeBSD,
or Solaris).
** Added support for TrapErrors(true/false).
This built-in procedure can be used to control whether errors are
automatically trapped at run-time. Applications that perform custom
error handling would turn error trapping off (with TrapErrors(false))
before executing code that may cause an error. The application would
then call "GetLastError" to determine what error if any occured. New
applications should use "TrapErrors" instead of the (*$I-*) compiler
directive. The (*I-*) compiler directive continues to be supported
for compatibility reasons only.
** Added support for GetLastError:integer.
This built-in function can be used to retrieve the code of the last
error that occured (assuming error trapping has been turned off).
New applications should use "GetLastError" instead of "IOResult", which
continues to be supported for compatibility reasons only.
** Added support for popen (can be used with sendmail to send email on UNIX
platforms).
** The ordering of declarations has been further relaxed.
When relaxed declarations is in effect (see the -erd compiler option)
global declarations can be made in any order.
** Added support for // comments
** Added support for supports(feature:integer):boolean.
This built-in functions can be used to determine if particular
features are supported under the current platform.
** Added support for PlatformVersion:integer.
This built-in function can be used to determine the version of the
current platform. Here platform refers to the Irie Virtual Machine
Interpreter not the operating system.
** Added support for FileMatch(filespec:string,filename:string):boolean.
This built-in function can be used to determine if a particular filename
matches a file specification (the file specification can contain wild
cards).
** Added support for crc32(var crc:word,b:byte[polynomial:integer]).
This built-in procedure can be used to compute 32-bit CRCs (Cyclic
Rundancy Check).
** Added support for Turbo Pascal style character constants #charcode
** Added support for binary files.
A built-in file type named "binary" is now supported.
** Added cstring type.
This string type stores strings in C format (i.e. null terminated char
arrays). This type is useful for passing string to and from external
functions written in C.
** The warning 'id defined but never used' is suppressed for ids declared
when this warning is turned off. (i.e. this allows you to use the $W44-
compiler directive to suppress this warning for one or more identifiers).
This is useful when including libraries with many declarations most of
which you don't use.

------------------------
Changes in version 1.10:
------------------------
** Improved support for creating Common Gateway Interface (CGI)
programs/scripts.
Added functions "CopyWord", "CountWords", and "URLDecode".

** Include directive {$I filename} is now supported.

** Added preliminary support for calling functions/procedures in
Windows DLLs.

** Added support for type "word"
The compiler now supports the built-in type "word", which is an
unsigned integer type with values between 0 and about 4 billion.

** Added support for constant "maxword"
The compiler now supports the built-in constant "maxword", which is
a integral constant whoose value is the maximum value of the "word" type.

** Added support for calling DOS and BIOS interrupts in DOS version.
See the built-in procedure "Intr" in the Programmer's Reference Manual.

** Added support for the UNIX #! trick that allows the location
of the interpreter to be embedded in the executable so that
the executable can be run without explicitly specifying the
interpreter.

------------------------
Changes in version 1.02:
------------------------
** Added support for type "byte"
The compiler now supports the built-in type "byte", which is an
ordinal type with values between 0 and 255.

** Added support for constant "maxbyte"
The compiler now supports the built-in constant "maxbyte", which is
an integer constant whoose value is the maximum value of the
"byte" type (255).

** "fill" procedure now supported

** mod operator now implemented according to Standard Pascal
a) The interpreter now reports an error for "mod" operators
if the right-hand operator is negative
(i.e. an error is reported for i mod j if j < 0).
b) The value of the "mod" operator is now always positve as
required by Standard Pascal
(i.e. 0 <= i mod j < j).
NOTE: These changes in the "mod" operator do not affect the
result returned if the operands are positive.

-------------------------
Changes in version 1.01a:
-------------------------
** pred/succ bug (range checking)
The compiler was generating incorrect code to do range checking on the
operand of the "pred" and "succ" functions. This bug has been fixed
in version 1.01a.

** incorrect "type not used" warnings for enumerated types.
The compiler would issue a warning if the program declared an
enumerated type but never referenced it, even if the program
referenced the values of the enumerated type. This bug has been
fixed in version 1.01a.

** The interpreter would request both read access and write access
when opening a file even if the program used "reset" to specify
that the file should be opened for reading only. This meant that
write access was required to open all files even those the
programmer intended only for reading. The interpreter would also
request both read access and write access when opening a file even
if the program used "rewrite" to specify that the file should be
opened for writing only. This meant that read access was required
to open all files even those the programmer intended only for writing.
These bugs have been fixed in version 1.01a.
However fixing these bugs means that the built-in procedure "seek"
can no longer be used on files opened without read access.
The problem is that if "seek" is allowed on a file than the
built-in functions "eof" and "eoln" need to be able to read the
file to determine if the file is at end-of-file or end-of-line.

------------------------
Changes in version 1.01:
------------------------
** list bug (Deleting the first element).
In version 1.00 if the first element in a list was deleted then
if any elements were inserted afterwards then the remaining elements
in the list would be lost. This bug has been fixed in version 1.01.

** sleep bug
The compiler was generating incorrect code for the built-in "sleep"
procedure. This bug has been fixed in version 1.01.

** lexer bug
If the first non-whitespace character in the source file was undefined
(i.e. not one of characters defined by Pascal) the compiler would
attempt to dereference a null pointer and abort with a fatal error
message. This bug has been fixed in version 1.01.

** Relaxed rules for the SHR and SHL operators
The right operand of the SHR and SHL operators can now be zero.

** Added Borland and Microsoft compatible messages
The "-mb" and "-mm" compiler options have been added, and cause
the compiler to generate messages in the same format used by
Borland and Microsoft compilers. These compiler options were added to
make it easier to use Irie Pascal with third-party editors and IDE's
which know how to process Borland and Microsoft compiler messages.
See the Irie Pascal User's Manual for more details.

** Added more info to compiler messages
Where possible the compiler now displays the subject of the message.
For example the message "Variable is never used" has been changed
to "Variable 'x' is never used" (where 'x' is the name of the
particular variable which is never used).

** nc compiler option
The name of the compiler option that controls support for nested
comments was changed from "nc" to "c" in version 1.00 but the
help screen printed by "ipc ?" did not reflect this change.
In version 1.01 the compiler option was changed back to "nc"
since "c" is reserved to control a compile-only mode which may
be implemented in the future.

** Programs compiled by the evaluation version now expire the day
after they are compiled (instead of seven days after).
This change is intended to encourage more people to register.

***************************

Please make sure that you have the following files:

--------------
Documentation:
--------------
help\user.hlp - The Irie Pascal User's Guide
help\user.cnt - Table of contents
help\progref.hlp - The Irie Pascal Programmer's Reference Manual
help\progref.cnt - Table of contents
readme.txt - This file
orderus.txt - The Order Form for US dollar Registrations
orderca.txt - The Order Form for Canadian dollar Registrations
orderuk.txt - The Order Form for UK pound Registrations
shareware.txt - Describes the shareware concept (derived from documentation
produced by the Association of Shareware Professionals (ASP)).
NOTE: I am not a member of this association.

NOTE: The Solaris/Sparc edition includes only readme.txt

---------
Programs:
---------
ipidew.exe - Irie Pascal IDE for Windows
ipc.exe - Irie Pascal Compiler for Windows
ivm.exe - Irie Virtual Machine Interpreter for Windows
iriecom.dll - Library used to implement COM support

----------------
Sample programs:
----------------
The sample program are located in the "samples" subdirectory of
the main Irie Pascal directory.

The sample programs are provided mostly to help you verify that
Irie Pascal has been installed correctly. You may however find a few of
the sample programs like calc.pas and ascii.pas useful.

-----
Info:
-----
Irie Pascal is designed for beginners who want to learn to program in
Pascal, as well as for experienced programmers who want to write small
to medium-sized programs (including CGI scripts).

Irie Pascal is highly compatible with Standard (ISO/IEC 7185) Pascal.
This high level of compatibility means that Irie Pascal shares
Standard Pascal's strengths as a first language for beginners. These
strengths include readable syntax, and extensive compile-time and run-time
checking.

Irie Pascal supports many extensions to Standard Pascal, particularly in
the areas of string and file/directory processing, which make it useful
for creating scripts and utilities. Irie Pascal's support for automatic
run-time checking make it useful for creating "quick and dirty" programs
(i.e. programs that are expected to be run only a few times or by only a
few people and thus may not be worth spending a lot of time on).

Irie Pascal consists of a compiler, and an interpreter. The compiler
translates Pascal programs into Irie Virtual Machine (IVM) executables,
which are then executed by the interpreter. The IVM is an abstract computer
platform that is implemented in software (by the interpreter), and runs
executables on many different computer platforms. The IVM has been
implemented on seven computer platforms (Win95/98/NT, DOS, OS/2, Linux,
FreeBSD, Solaris/x86, and Solaris/Sparc) so far. IVM executables developed
on any platform, run on all seven platforms.

Irie Pascal's ability to generate executables which run on multiple
platforms make it ideally suited for creating internet applications.
The Common Gateway Interface (CGI) is a simple but powerful protocol for
creating server side internet applications. Irie Pascal assists the
creation of CGI scripts with built-in support for decoding and parsing URL
encoded strings. Irie Pascal also supports the UNIX #! trick that allows
the location of the interpreter to be embedded inside the script making it
easier to execute the script from a URL, since the URL need only refer to
the script and not the interpreter. See the "CopyWord", "CountWords", and
"URLDecode" procedures in the Programmer's Reference Manual.

---------
Editions:
---------
Irie Pascal is distributed in eight editions. Seven of these editions
correspond to the seven supported operating system platforms
(Windows, DOS, Linux, FreeBSD, OS/2, Solaris/x86, and Solaris/Sparc).
NOTE: The Solaris/Sparc edition is not a full edition since it only includes
the interpreter. The eighth edition of Irie Pascal
(called the Universal edition) is a collection of the other editions.
If you plan to use Irie Pascal on more than one operating system platform
then it is more economical to register the Universal edition.

-----------
Compliance:
-----------
NOTE: Although I claim Irie Pascal complies with ISO/IEC 7185 Level 0
(since it does according to my tests) it has not been formally certified
by an external body.

----------
Shareware:
----------
Irie Pascal is shareware and as such there is an evaluation version and a
registered version. The evaluation version of Irie Pascal is provided at
no charge so you can try before you buy. Feel free to share the evaluation
version with your friends, but do not give it away altered or as part of
another system. You are not authorized to share the registered version.

The essence of user-supported software is to provide personal computer
users with quality software without high prices, and yet to provide an
incentive for programmers to continue to develop new products. If you
find the evaluation version of Irie Pascal useful and find that you are
using it and continue to use it after a reasonable trial period, you must
register it.

The evaluation and registered versions of Irie Pascal are functionally
identical except for two differences. The first difference is that the
registered version uses an improved code generation technique to generate
smaller executables. The second difference is that programs compiled by
the evaluation version expire the next day, while programs compiled by
the registered version never expire. These differences are intended to
encourage users of the evaluation version to register and receive a copy
of the registered version.
NOTE: Irie Pascal does not prevent users of the evaluation version from
recompiling expired programs to keep them running.

-------
Prices:
-------
The registration fee for the Windows, DOS, OS/2, Linux, FreeBSD, and
Solaris/x86 editions is US$25.00, or UK 15.00 Pounds, or CA$39.00 each.
The registrations fee for the professional edition is US$40.00, or
UK 24.00 Pounds, or CA$62.00. The Solaris/Sparc edition is currently free
to registered users of any other edition. When registering, please remember
to include the shipping and handling fee which is US$5.00, or UK 3.00 Pounds,
or CA$8.00.

----------------
How To Register:
----------------
To register Irie Pascal complete the appropriate order form, and mail it
in along with a check or money order for the registration fee. If you wish
to pay the registration fee in US dollars then use the order form in
"orderus.txt". If you wish to pay the registration fee in Canadian dollars
then use the order form in "orderca.txt". If you wish to pay the
registration fee in British pounds then use the order form in "orderuk.txt".
If you include an email address with your order then you will receive an
email notification when you order is shipped. I respect the privacy of my
customers and will NEVER sell or otherwise distribute any information you
give me to anyone without your consent.

The check or money order should be made out to "Stuart King" and sent to

Stuart King
MB #247
221 S. State Road 7
Ft. Lauderdale, Fl 33317
U.S.A.

Please do not send cash.

All registered users of Irie Pascal will receive a copy of the latest
registered version on 3 1/2" disks, so you will need a 3 1/2" floppy drive
to install Irie Pascal.

Registered users of Irie Pascal for Windows are entitled to receive
free (regular shipping and handling charges may apply) upgrades to all
registered versions of Irie Pascal for Windows released after they register.
Registered users of Irie Pascal for Windows may use the Irie Upgrade Utility
to upgrade to the latest registered version at any time. Whenever a new
registered version of Irie Pascal for Windows is released a special upgrade
file will be placed on the Irie Tools Website (www.irietools.com).
Registered users may download this upgrade file without charge and perform
the upgrade (see the User's Manual "user.txt" for more information on using
the Irie Upgrade Utility).

Registered users may also receive upgrades by mail. To receive upgrades
by mail, fill out the appropriate order form and mail in the completed
order form along with a check of money order for the shipping and handling
fee to the address above.

Educational institutions should enquire about the educational discount.

Commercial users of Irie Pascal must register and pay for their copies of
the Software within 30 days of first use or their license is withdrawn.
Site-License arrangements may be made by contacting the author.

Anyone distributing Irie Pascal for any kind of remuneration must first
contact the author.

----------------------------
Minimum system requirements:
----------------------------
- Win95/98/NT
- 2 MB disk space

-----------------------
Installing Irie Pascal:
-----------------------
Irie Pascal for Windows is distributed as a self-extracting archive
("ipw-201.exe") or as a zip file ("ipw-201.zip"). The zip file is smaller
than the self extracting achive but requires you to have an unzip utility
to extract the files. The self-extracting archive is larger than the zip file
but you don't need an unzip utility (you just run it to extract the files).

-----------------------------
Installing from the zip file:
-----------------------------
If you have the zip file (ipw-201.zip) the recommended installation
procedure is as follows:

A) Create a temporary installation directory (I suggest "C:\IRIE\INSTALL")
to store the zip file.
B) Copy the zip file into this directory.
C) Use your unzip utility to extract the files from the zip file.
D) Run the "setup.exe" in the installation directory.

--------------------------------------------
Installing from the self-extracting archive:
--------------------------------------------
If you have the self-extracting archive the recommended installation
procedure is as follows:
A) Run the archive, it will prompt you for a temporary installation
directory to store the files (I suggest "C:\IRIE\INSTALL").
B) Run the "setup.exe" in the installation directory.


-------------------------
Uninstalling Irie Pascal:
-------------------------
To uninstall Irie Pascal use the "Add/Remove Programs" utility in the
Windows Control Panel.

----------------
Product support:
----------------
I am very interested in all your comments about Irie Pascal, but
most especially in your comments about its usefulness, any problems
you encounter installing or using Irie Pascal, and any changes you
would like to see.

The latest information and updates of Irie Pascal are available at
the Irie Tools web site at http://www.irietools.com

You can also contact me directly with your technical support
questions.

----------------------
Contacting the author:
----------------------
For the quickest response contact me by e-mail at support@irietools.com

If you prefer you can contact me by regular mail (but this takes longer) at:
Stuart King
MB #247
221 S. State Road 7
Ft. Lauderdale, Fl 33317
U.S.A.
Соседние файлы в папке Irie Pascal