Add .gitattributes
This commit is contained in:
parent
05e34102d4
commit
8fefb73592
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
* text=auto
|
4224
history.txt
4224
history.txt
File diff suppressed because it is too large
Load Diff
70
license.txt
70
license.txt
@ -1,35 +1,35 @@
|
|||||||
The software toolkit "Pawn" (the compiler, the abstract machine and the
|
The software toolkit "Pawn" (the compiler, the abstract machine and the
|
||||||
documentation) are copyright (c) 1997-2006 by ITB CompuPhase. The Intel
|
documentation) are copyright (c) 1997-2006 by ITB CompuPhase. The Intel
|
||||||
assembler implementation of the abstract machine and the just-in-time
|
assembler implementation of the abstract machine and the just-in-time
|
||||||
compiler (specifically the files AMXEXEC.ASM, JITR.ASM and JITS.ASM) are
|
compiler (specifically the files AMXEXEC.ASM, JITR.ASM and JITS.ASM) are
|
||||||
copyright (c) 1998-2003 Marc Peter. The file JITSN.ASM is translated from
|
copyright (c) 1998-2003 Marc Peter. The file JITSN.ASM is translated from
|
||||||
JITS.ASM and is partially copyright G.W.M. Vissers. The file AMXEXECN.ASM
|
JITS.ASM and is partially copyright G.W.M. Vissers. The file AMXEXECN.ASM
|
||||||
is translated from AMXEXEC.ASM and is partially copyright ITB CompuPhase.
|
is translated from AMXEXEC.ASM and is partially copyright ITB CompuPhase.
|
||||||
|
|
||||||
Pawn is distributed under the "zLib/libpng" license, which is reproduced
|
Pawn is distributed under the "zLib/libpng" license, which is reproduced
|
||||||
below:
|
below:
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
This software is provided "as-is", without any express or implied warranty.
|
This software is provided "as-is", without any express or implied warranty.
|
||||||
In no event will the authors be held liable for any damages arising from
|
In no event will the authors be held liable for any damages arising from
|
||||||
the use of this software.
|
the use of this software.
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
including commercial applications, and to alter it and redistribute it
|
including commercial applications, and to alter it and redistribute it
|
||||||
freely, subject to the following restrictions:
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
claim that you wrote the original software. If you use this software in
|
claim that you wrote the original software. If you use this software in
|
||||||
a product, an acknowledgment in the product documentation would be
|
a product, an acknowledgment in the product documentation would be
|
||||||
appreciated but is not required.
|
appreciated but is not required.
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not
|
2. Altered source versions must be plainly marked as such, and must not
|
||||||
be misrepresented as being the original software.
|
be misrepresented as being the original software.
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
The zLib/libpng license has been approved by the "Open Source Initiative"
|
The zLib/libpng license has been approved by the "Open Source Initiative"
|
||||||
organization.
|
organization.
|
||||||
|
594
readme.txt
594
readme.txt
@ -1,297 +1,297 @@
|
|||||||
the Pawn embedded scripting language
|
the Pawn embedded scripting language
|
||||||
====================================
|
====================================
|
||||||
Pawn is a simple, typeless, 32-bit extension language with a C-like syntax.
|
Pawn is a simple, typeless, 32-bit extension language with a C-like syntax.
|
||||||
The Pawn compiler outputs P-code (or bytecode) that subsequently runs on an
|
The Pawn compiler outputs P-code (or bytecode) that subsequently runs on an
|
||||||
abstract machine. Execution speed, stability, simplicity and a small footprint
|
abstract machine. Execution speed, stability, simplicity and a small footprint
|
||||||
were essential design criterions for both the language and the abstract
|
were essential design criterions for both the language and the abstract
|
||||||
machine.
|
machine.
|
||||||
|
|
||||||
Through the evolution of the Pawn toolkit, this README had steadily been
|
Through the evolution of the Pawn toolkit, this README had steadily been
|
||||||
growing, as more and more compilers were tested and more components were added.
|
growing, as more and more compilers were tested and more components were added.
|
||||||
More recently, the compiling instructions were moved to a separate document
|
More recently, the compiling instructions were moved to a separate document
|
||||||
entitled "The Pawn booklet: Implementor's Guide". To get the Pawn toolkit
|
entitled "The Pawn booklet: Implementor's Guide". To get the Pawn toolkit
|
||||||
working on your system, please (also) consult that document. To learn about
|
working on your system, please (also) consult that document. To learn about
|
||||||
the Pawn language, read the document "The Pawn booklet: The Language". If you
|
the Pawn language, read the document "The Pawn booklet: The Language". If you
|
||||||
installed Pawn via the Setup utility (for Microsoft Windows) or the autopackage
|
installed Pawn via the Setup utility (for Microsoft Windows) or the autopackage
|
||||||
(for Linux), you probably have these documents already. Otherwise, you can
|
(for Linux), you probably have these documents already. Otherwise, you can
|
||||||
obtain both these documents from the web page devoted to Pawn:
|
obtain both these documents from the web page devoted to Pawn:
|
||||||
http://www.compuphase.com/pawn.htm
|
http://www.compuphase.com/pawn.htm
|
||||||
|
|
||||||
Below is a list of topics that this README covers, in this order:
|
Below is a list of topics that this README covers, in this order:
|
||||||
|
|
||||||
o Getting started
|
o Getting started
|
||||||
How to get your first Pawn program running
|
How to get your first Pawn program running
|
||||||
|
|
||||||
o Building with CMake
|
o Building with CMake
|
||||||
For a portable way to (re-)build the software
|
For a portable way to (re-)build the software
|
||||||
|
|
||||||
o Acknowledgements
|
o Acknowledgements
|
||||||
For components not written by CompuPhase
|
For components not written by CompuPhase
|
||||||
|
|
||||||
o Using the AMX DLL
|
o Using the AMX DLL
|
||||||
How to create a program that uses the pre-built DLL.
|
How to create a program that uses the pre-built DLL.
|
||||||
|
|
||||||
o Building the AMX DLL
|
o Building the AMX DLL
|
||||||
Notes on how the DLL must be built itself.
|
Notes on how the DLL must be built itself.
|
||||||
|
|
||||||
o Building extension modules for the AMX DLL
|
o Building extension modules for the AMX DLL
|
||||||
|
|
||||||
|
|
||||||
Getting started
|
Getting started
|
||||||
===============
|
===============
|
||||||
The first question is: what do you need? If you are using Microsoft Windows,
|
The first question is: what do you need? If you are using Microsoft Windows,
|
||||||
download the Pawn toolkit as a self-extracting setup file; this gives
|
download the Pawn toolkit as a self-extracting setup file; this gives
|
||||||
everything that you need to get started:
|
everything that you need to get started:
|
||||||
o binaries for Win32
|
o binaries for Win32
|
||||||
o full source of all tools/libraries
|
o full source of all tools/libraries
|
||||||
o documentation (Adobe Acrobat format)
|
o documentation (Adobe Acrobat format)
|
||||||
|
|
||||||
Users of other operating systems should download either the "pawnkit.zip"
|
Users of other operating systems should download either the "pawnkit.zip"
|
||||||
file or the "pawnkit.tgz" file ("Pawn toolkit" archives), because it
|
file or the "pawnkit.tgz" file ("Pawn toolkit" archives), because it
|
||||||
contains the full source code. The difference between the "ZIP" file and the
|
contains the full source code. The difference between the "ZIP" file and the
|
||||||
"TGZ" file is, apart from the different archiving tool used, that the source
|
"TGZ" file is, apart from the different archiving tool used, that the source
|
||||||
file in the ZIP file has DOS/Windows line endings (CR/LF) and the "TGZ" file
|
file in the ZIP file has DOS/Windows line endings (CR/LF) and the "TGZ" file
|
||||||
has Unix line endings (LF only). When "unpacking" these archives, make sure
|
has Unix line endings (LF only). When "unpacking" these archives, make sure
|
||||||
that the directory structure in the ZIP/TGZ files is retained. Otherwise, the
|
that the directory structure in the ZIP/TGZ files is retained. Otherwise, the
|
||||||
Pawn compiler will not be able to find its "include" files, for example.
|
Pawn compiler will not be able to find its "include" files, for example.
|
||||||
|
|
||||||
You should also download the two documentation files "pawn-lng.pdf" and
|
You should also download the two documentation files "pawn-lng.pdf" and
|
||||||
"pawn-imp.pdf" --the "Language guide" and the "Implementor's guide"
|
"pawn-imp.pdf" --the "Language guide" and the "Implementor's guide"
|
||||||
respectively. You may need to build the compiler and abstract machine, and
|
respectively. You may need to build the compiler and abstract machine, and
|
||||||
the "Implementor's guide" is likely to give you precise guidelines (or at
|
the "Implementor's guide" is likely to give you precise guidelines (or at
|
||||||
least, it will point you in the right direction). There are a few guidelines
|
least, it will point you in the right direction). There are a few guidelines
|
||||||
for building the system with CMake in the section "Building with CMake", below.
|
for building the system with CMake in the section "Building with CMake", below.
|
||||||
|
|
||||||
Assuming that you have obtained (somehow) an executable version of the Pawn
|
Assuming that you have obtained (somehow) an executable version of the Pawn
|
||||||
compiler and the Pawn run-time, you should put it in a directory. However,
|
compiler and the Pawn run-time, you should put it in a directory. However,
|
||||||
the Pawn compiler also needs to locate "include files". On many operating
|
the Pawn compiler also needs to locate "include files". On many operating
|
||||||
systems, the Pawn compiler is able to automatically read these header files
|
systems, the Pawn compiler is able to automatically read these header files
|
||||||
from the directory "include" that is below the directory that the compiler is
|
from the directory "include" that is below the directory that the compiler is
|
||||||
in itself. Thus, if the Pawn compiler (the executable file) is in directory
|
in itself. Thus, if the Pawn compiler (the executable file) is in directory
|
||||||
"C:\WhatEver\Pawn\bin", I suggest that you create either the directory
|
"C:\WhatEver\Pawn\bin", I suggest that you create either the directory
|
||||||
"C:\WhatEver\Pawn\include" or "C:\WhatEver\Pawn\bin\include" and copy the
|
"C:\WhatEver\Pawn\include" or "C:\WhatEver\Pawn\bin\include" and copy the
|
||||||
".inc" files there. If your operating system is not compatible with Win32 or
|
".inc" files there. If your operating system is not compatible with Win32 or
|
||||||
Linux, the Pawn compiler may not know how to locate the "include" directory
|
Linux, the Pawn compiler may not know how to locate the "include" directory
|
||||||
and you have to specify it yourself with the "-i" command line option (when
|
and you have to specify it yourself with the "-i" command line option (when
|
||||||
running the compiler).
|
running the compiler).
|
||||||
|
|
||||||
That behind your back, locate one of the example scripts (e.g. "hello.p") and
|
That behind your back, locate one of the example scripts (e.g. "hello.p") and
|
||||||
compile it with:
|
compile it with:
|
||||||
|
|
||||||
pawncc hello
|
pawncc hello
|
||||||
|
|
||||||
This should produce "hello.amx", which you can then run with:
|
This should produce "hello.amx", which you can then run with:
|
||||||
|
|
||||||
pawnrun hello.amx
|
pawnrun hello.amx
|
||||||
|
|
||||||
Many applications that use Pawn, run the Pawn compiler as a child process;
|
Many applications that use Pawn, run the Pawn compiler as a child process;
|
||||||
i.e. the Pawn compiler is often a separate, self-contained program. The
|
i.e. the Pawn compiler is often a separate, self-contained program. The
|
||||||
abstract machine, however, is almost never a separate process: typically you
|
abstract machine, however, is almost never a separate process: typically you
|
||||||
want the abstract machine to be integrated in the application so that scripts
|
want the abstract machine to be integrated in the application so that scripts
|
||||||
can call into the application. In other words, you might be using "pawncc" as
|
can call into the application. In other words, you might be using "pawncc" as
|
||||||
is, but you won't be using "pawnrun" as is. This is why pawnrun is kept short
|
is, but you won't be using "pawnrun" as is. This is why pawnrun is kept short
|
||||||
and dump, "pawnrun" is a program that is mostly developed in the Pawn manual to
|
and dump, "pawnrun" is a program that is mostly developed in the Pawn manual to
|
||||||
show you what you should do at a minimum to embed Pawn into a program.
|
show you what you should do at a minimum to embed Pawn into a program.
|
||||||
|
|
||||||
|
|
||||||
Building with CMake
|
Building with CMake
|
||||||
===================
|
===================
|
||||||
CMake is a cross-platform, open-source make system, which generates "makefile's"
|
CMake is a cross-platform, open-source make system, which generates "makefile's"
|
||||||
or project files for diverse compilers and platforms. See http://www.cmake.org/
|
or project files for diverse compilers and platforms. See http://www.cmake.org/
|
||||||
for more information on CMake plus a freely downloadable copy.
|
for more information on CMake plus a freely downloadable copy.
|
||||||
|
|
||||||
The Pawn toolkit comes with a CMake project file that builds the compiler, a
|
The Pawn toolkit comes with a CMake project file that builds the compiler, a
|
||||||
simple run-time program that embeds the abstract machine, and a simple console
|
simple run-time program that embeds the abstract machine, and a simple console
|
||||||
debugger. The CMake project file is in the "source" subdirectory of where the
|
debugger. The CMake project file is in the "source" subdirectory of where the
|
||||||
Pawn toolkit is installed, when you installed the self-extracting "setup" for
|
Pawn toolkit is installed, when you installed the self-extracting "setup" for
|
||||||
Microsoft Windows. When unpacking the Pawn source code from a "ZIP" or "TGZ"
|
Microsoft Windows. When unpacking the Pawn source code from a "ZIP" or "TGZ"
|
||||||
archive, the CMake project file is in the main directory where you unpacked
|
archive, the CMake project file is in the main directory where you unpacked
|
||||||
the archive into.
|
the archive into.
|
||||||
|
|
||||||
Microsoft Windows
|
Microsoft Windows
|
||||||
-----------------
|
-----------------
|
||||||
1. Launch CMakeSetup.
|
1. Launch CMakeSetup.
|
||||||
|
|
||||||
2. Select for the source code directory, the "source" subdirectory in the
|
2. Select for the source code directory, the "source" subdirectory in the
|
||||||
directory tree for the toolkit.
|
directory tree for the toolkit.
|
||||||
|
|
||||||
For example, if you installed the toolkit in C:\Pawn, the source directory
|
For example, if you installed the toolkit in C:\Pawn, the source directory
|
||||||
is C:\Pawn\source.
|
is C:\Pawn\source.
|
||||||
|
|
||||||
3. Select as destination the "bin" subdirectory, or any other directory of your
|
3. Select as destination the "bin" subdirectory, or any other directory of your
|
||||||
choice. The makefile (or project files) will be generated in the destination
|
choice. The makefile (or project files) will be generated in the destination
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
4. Select the compiler to use, as well. On Microsoft Windows, CMake supports
|
4. Select the compiler to use, as well. On Microsoft Windows, CMake supports
|
||||||
Microsoft and Borland compilers, as well as GNU GCC.
|
Microsoft and Borland compilers, as well as GNU GCC.
|
||||||
|
|
||||||
5. Click on the "Configure" button. After an initial configuration, you may
|
5. Click on the "Configure" button. After an initial configuration, you may
|
||||||
have items displayed in red. By this, CMake indicates that these items
|
have items displayed in red. By this, CMake indicates that these items
|
||||||
may need adjustment, but in the case of Pawn, this is rarely needed. Click
|
may need adjustment, but in the case of Pawn, this is rarely needed. Click
|
||||||
"Configure" once more for the final configuration.
|
"Configure" once more for the final configuration.
|
||||||
|
|
||||||
6. Click on the "OK" button. This exits the CMakeSetup program after creating a
|
6. Click on the "OK" button. This exits the CMakeSetup program after creating a
|
||||||
number of files in the destination subdirectory.
|
number of files in the destination subdirectory.
|
||||||
|
|
||||||
7. Build the program in the usual way. For Microsoft Visual C/C++, CMake has
|
7. Build the program in the usual way. For Microsoft Visual C/C++, CMake has
|
||||||
created a Visual Studio project and "Workspace" file; for other compilers
|
created a Visual Studio project and "Workspace" file; for other compilers
|
||||||
CMake builds a makefile.
|
CMake builds a makefile.
|
||||||
|
|
||||||
|
|
||||||
Linux / Unix
|
Linux / Unix
|
||||||
------------
|
------------
|
||||||
1. Change to the "bin" subdirectory where the archive was extracted into. For
|
1. Change to the "bin" subdirectory where the archive was extracted into. For
|
||||||
example, if you unpacked the toolkit in /opt/Pawn, go to /opt/Pawn/bin.
|
example, if you unpacked the toolkit in /opt/Pawn, go to /opt/Pawn/bin.
|
||||||
|
|
||||||
If you installed Pawn as root, then you must also be root when you recompile
|
If you installed Pawn as root, then you must also be root when you recompile
|
||||||
Pawn.
|
Pawn.
|
||||||
|
|
||||||
2. Launch "ccmake ../source" if you installed the Linux autopackage. If you got
|
2. Launch "ccmake ../source" if you installed the Linux autopackage. If you got
|
||||||
the "tarball", you may need to use "ccmake .." instead. The parameter of
|
the "tarball", you may need to use "ccmake .." instead. The parameter of
|
||||||
ccmake must be the relative path to where the CMakeLists.txt file is found.
|
ccmake must be the relative path to where the CMakeLists.txt file is found.
|
||||||
|
|
||||||
3. Press the "c" key for "configure". After an initial configuration, you may
|
3. Press the "c" key for "configure". After an initial configuration, you may
|
||||||
have items in the list that have a "*" in front of their value. By this,
|
have items in the list that have a "*" in front of their value. By this,
|
||||||
CMake indicates that these items may need adjustment, but in the case of
|
CMake indicates that these items may need adjustment, but in the case of
|
||||||
Pawn, this is rarely needed. Type "c" once more for the final configuration.
|
Pawn, this is rarely needed. Type "c" once more for the final configuration.
|
||||||
|
|
||||||
4. Press the "g" button for "generate and quit". Then build the program by
|
4. Press the "g" button for "generate and quit". Then build the program by
|
||||||
typing "make". The programs will be built in the subdirectory "bin".
|
typing "make". The programs will be built in the subdirectory "bin".
|
||||||
|
|
||||||
|
|
||||||
Acknowledgements
|
Acknowledgements
|
||||||
================
|
================
|
||||||
This work is based on the "Small C Compiler" by Ron Cain and James E. Hendrix,
|
This work is based on the "Small C Compiler" by Ron Cain and James E. Hendrix,
|
||||||
as published in the book "Dr. Dobb's Toolbook of C", Brady Books, 1986.
|
as published in the book "Dr. Dobb's Toolbook of C", Brady Books, 1986.
|
||||||
|
|
||||||
The assembler version of the abstract machine (five times faster than the ANSI
|
The assembler version of the abstract machine (five times faster than the ANSI
|
||||||
C version and over two times faster than the GNU C version) was written by
|
C version and over two times faster than the GNU C version) was written by
|
||||||
Marc Peter (macpete@gmx.de). Marc holds the copyright of the file AMXEXEC.ASM,
|
Marc Peter (macpete@gmx.de). Marc holds the copyright of the file AMXEXEC.ASM,
|
||||||
but its distribution and license fall under the same conditions as those
|
but its distribution and license fall under the same conditions as those
|
||||||
stated in LICENSE.TXT.
|
stated in LICENSE.TXT.
|
||||||
|
|
||||||
The Just-In-Time compiler (JIT) included in this release was also written by
|
The Just-In-Time compiler (JIT) included in this release was also written by
|
||||||
Marc Peter. As is apparent from the source code, the JIT is an evolutionary
|
Marc Peter. As is apparent from the source code, the JIT is an evolutionary
|
||||||
step from his earlier abstract machine. The JIT falls under the same (liberal)
|
step from his earlier abstract machine. The JIT falls under the same (liberal)
|
||||||
license as the other components in the Pawn toolkit. The abstract machine
|
license as the other components in the Pawn toolkit. The abstract machine
|
||||||
has evolved slightly since Marc Peter write the JIT and the JIT does currently
|
has evolved slightly since Marc Peter write the JIT and the JIT does currently
|
||||||
not handle the "sleep" instruction correctly.
|
not handle the "sleep" instruction correctly.
|
||||||
|
|
||||||
The power user David "Bailopan" Anderson (see www.bailopan.net) found many bugs
|
The power user David "Bailopan" Anderson (see www.bailopan.net) found many bugs
|
||||||
in Pawn, and provided patches and detailed reports. He and his team also
|
in Pawn, and provided patches and detailed reports. He and his team also
|
||||||
provided a new "memory file" module that make the compiler process large scripts
|
provided a new "memory file" module that make the compiler process large scripts
|
||||||
quicker.
|
quicker.
|
||||||
|
|
||||||
G.W.M. Vissers translated Marc Peter's JIT to NASM. This makes the JIT available
|
G.W.M. Vissers translated Marc Peter's JIT to NASM. This makes the JIT available
|
||||||
to Linux and Unix-like platforms.
|
to Linux and Unix-like platforms.
|
||||||
|
|
||||||
Greg Garner from Artran Inc. compiled the source files as C++ files (rather
|
Greg Garner from Artran Inc. compiled the source files as C++ files (rather
|
||||||
than C), added type casts where needed and fixed two bugs in the Pawn compiler
|
than C), added type casts where needed and fixed two bugs in the Pawn compiler
|
||||||
in the process. Greg Garner also wrote (and contributed) the extension module
|
in the process. Greg Garner also wrote (and contributed) the extension module
|
||||||
for floating point support (files FLOAT.CPP and FLOAT.INC). I am currently
|
for floating point support (files FLOAT.CPP and FLOAT.INC). I am currently
|
||||||
maintaining these modules, in order to keep them up to date with new features
|
maintaining these modules, in order to keep them up to date with new features
|
||||||
in the Pawn toolkit.
|
in the Pawn toolkit.
|
||||||
|
|
||||||
Dark Fiber contributed an extension module for the AMX to provide decent
|
Dark Fiber contributed an extension module for the AMX to provide decent
|
||||||
quality pseudo-random numbers, starting with any seed. To illustrate the
|
quality pseudo-random numbers, starting with any seed. To illustrate the
|
||||||
module, he also wrote a simple card game (TWENTY1.SMA) as a non-trivial
|
module, he also wrote a simple card game (TWENTY1.SMA) as a non-trivial
|
||||||
Pawn script.
|
Pawn script.
|
||||||
|
|
||||||
Dieter Neubauer made a 16-bit version of the Pawn tools (meaning that a cell
|
Dieter Neubauer made a 16-bit version of the Pawn tools (meaning that a cell
|
||||||
is 16-bit, instead of the default 32-bit). His changes were merged in the
|
is 16-bit, instead of the default 32-bit). His changes were merged in the
|
||||||
original distribution. Note that fixed or floating point arithmetic will be
|
original distribution. Note that fixed or floating point arithmetic will be
|
||||||
near to impossible with a 16-bit cell.
|
near to impossible with a 16-bit cell.
|
||||||
|
|
||||||
Robert Daniels ported Pawn to ucLinux and corrected a few errors that had to
|
Robert Daniels ported Pawn to ucLinux and corrected a few errors that had to
|
||||||
do with the "Endianness" of the CPU. His corrections make the Pawn compiler
|
do with the "Endianness" of the CPU. His corrections make the Pawn compiler
|
||||||
and abstract machine better portable to Big Endian machines.
|
and abstract machine better portable to Big Endian machines.
|
||||||
|
|
||||||
Frank Condello made a port of the Pawn toolkit to MacOS (CFM Carbon). His
|
Frank Condello made a port of the Pawn toolkit to MacOS (CFM Carbon). His
|
||||||
changes are merged into the main source trunk.
|
changes are merged into the main source trunk.
|
||||||
|
|
||||||
|
|
||||||
Using the AMX DLL
|
Using the AMX DLL
|
||||||
=================
|
=================
|
||||||
The 32-bit AMX DLL (file AMX32.DLL) uses __stdcall calling convention, which
|
The 32-bit AMX DLL (file AMX32.DLL) uses __stdcall calling convention, which
|
||||||
is the most common calling convention for Win32 DLLs. If your compiler defaults
|
is the most common calling convention for Win32 DLLs. If your compiler defaults
|
||||||
to a different calling convention (most do), you must specify the __stdcall
|
to a different calling convention (most do), you must specify the __stdcall
|
||||||
calling convention explicitly. This can be done in two ways:
|
calling convention explicitly. This can be done in two ways:
|
||||||
1. a command line option for the C/C++ compiler (look up the manual)
|
1. a command line option for the C/C++ compiler (look up the manual)
|
||||||
2. setting the macros AMX_NATIVE_CALL and AMXAPI to __stdcall before including
|
2. setting the macros AMX_NATIVE_CALL and AMXAPI to __stdcall before including
|
||||||
AMX.H. The macros AMX_NATIVE_CALL and AMXAPI are explained earlier in this
|
AMX.H. The macros AMX_NATIVE_CALL and AMXAPI are explained earlier in this
|
||||||
README.
|
README.
|
||||||
|
|
||||||
The 32-bit AMX DLL comes with import libraries for various Win32 compilers:
|
The 32-bit AMX DLL comes with import libraries for various Win32 compilers:
|
||||||
o for Microsoft Visual C/C++ version 4.0 and above, use AMX32M.LIB
|
o for Microsoft Visual C/C++ version 4.0 and above, use AMX32M.LIB
|
||||||
o for Borland C++ version 5.0 and for Borland C++ Builder, use AMX32B.LIB
|
o for Borland C++ version 5.0 and for Borland C++ Builder, use AMX32B.LIB
|
||||||
o for Watcom C/C++ version 10.6 and 11.0, use AMX32W.LIB
|
o for Watcom C/C++ version 10.6 and 11.0, use AMX32W.LIB
|
||||||
|
|
||||||
The AMX DLL already includes "core" and "console" functions, which are the
|
The AMX DLL already includes "core" and "console" functions, which are the
|
||||||
equivalents of the C files AMXCORE.C and AMXCONS.C. Console output goes to a
|
equivalents of the C files AMXCORE.C and AMXCONS.C. Console output goes to a
|
||||||
text window (with 30 lines of 80 characters per line) that the DLL creates.
|
text window (with 30 lines of 80 characters per line) that the DLL creates.
|
||||||
The core and console functions are automatically registered to any Pawn
|
The core and console functions are automatically registered to any Pawn
|
||||||
program by amx_Init().
|
program by amx_Init().
|
||||||
|
|
||||||
Microsoft Visual C/C++ version 5.0 or 6.0, 32-bit:
|
Microsoft Visual C/C++ version 5.0 or 6.0, 32-bit:
|
||||||
cl -DAMXAPI=__stdcall prun-dll.c amx32m.lib
|
cl -DAMXAPI=__stdcall prun-dll.c amx32m.lib
|
||||||
|
|
||||||
(Note: the "prun-dll" example does not register additional native
|
(Note: the "prun-dll" example does not register additional native
|
||||||
functions. Therefore, AMX_NATIVE_CALL does not need to be defined.)
|
functions. Therefore, AMX_NATIVE_CALL does not need to be defined.)
|
||||||
|
|
||||||
Watcom C/C++ version 11.0, 32-bit:
|
Watcom C/C++ version 11.0, 32-bit:
|
||||||
wcl386 /l=nt_win /dAMXAPI=__stdcall prun-dll.c amx32w.lib
|
wcl386 /l=nt_win /dAMXAPI=__stdcall prun-dll.c amx32w.lib
|
||||||
|
|
||||||
(Note: the "prun-dll" example does not register additional native
|
(Note: the "prun-dll" example does not register additional native
|
||||||
functions. Therefore, AMX_NATIVE_CALL does not need to be defined.)
|
functions. Therefore, AMX_NATIVE_CALL does not need to be defined.)
|
||||||
|
|
||||||
Borland C++ version 3.1, 16-bit:
|
Borland C++ version 3.1, 16-bit:
|
||||||
bcc -DAMXAPI=__cdecl -W -ml prun-dll.c amx16.lib
|
bcc -DAMXAPI=__cdecl -W -ml prun-dll.c amx16.lib
|
||||||
|
|
||||||
(Note: the program must be compiled as a Win16 application, because
|
(Note: the program must be compiled as a Win16 application, because
|
||||||
only Windows programs can use DLLs (option -W). Using large memory
|
only Windows programs can use DLLs (option -W). Using large memory
|
||||||
model, option -ml, is not strictly required, but it is the most
|
model, option -ml, is not strictly required, but it is the most
|
||||||
convenient. Finally, note that the 16-bit DLL uses __cdecl calling
|
convenient. Finally, note that the 16-bit DLL uses __cdecl calling
|
||||||
convention for its exported functions, for reasons explained below.)
|
convention for its exported functions, for reasons explained below.)
|
||||||
|
|
||||||
|
|
||||||
Building the AMX DLL
|
Building the AMX DLL
|
||||||
====================
|
====================
|
||||||
The 32-bit DLL is made from the files AMX.C, AMXDLL.C, AMXCONS.C, AMXCORE.C
|
The 32-bit DLL is made from the files AMX.C, AMXDLL.C, AMXCONS.C, AMXCORE.C
|
||||||
and AMXEXEC.ASM.
|
and AMXEXEC.ASM.
|
||||||
|
|
||||||
The first point to address is, again, that of calling conventions. AMXAPI and
|
The first point to address is, again, that of calling conventions. AMXAPI and
|
||||||
AMX_NATIVE_CALL must be set to __stdcall. I did this by adding the macros onto
|
AMX_NATIVE_CALL must be set to __stdcall. I did this by adding the macros onto
|
||||||
the command line for the compiler, but you could also create an include file
|
the command line for the compiler, but you could also create an include file
|
||||||
with these macros before including AMX.H.
|
with these macros before including AMX.H.
|
||||||
|
|
||||||
The function amx_Init() of the DLL is not identical to the standard version:
|
The function amx_Init() of the DLL is not identical to the standard version:
|
||||||
it also registers the "core" and "console" modules and registers external
|
it also registers the "core" and "console" modules and registers external
|
||||||
libraries if it can find these. The original amx_Init() in AMX.C is renamed to
|
libraries if it can find these. The original amx_Init() in AMX.C is renamed to
|
||||||
amx_InitAMX(), via macros, at compile time. AMXDLL.C implements the new
|
amx_InitAMX(), via macros, at compile time. AMXDLL.C implements the new
|
||||||
amx_Init() and this one is not translated.
|
amx_Init() and this one is not translated.
|
||||||
|
|
||||||
All in all, the makefile for the AMX DLL plays a few tricks with macros in
|
All in all, the makefile for the AMX DLL plays a few tricks with macros in
|
||||||
order to keep the original distribution untouched. When you need to recompile
|
order to keep the original distribution untouched. When you need to recompile
|
||||||
the AMX DLL, you may, of course, also opt for modifying AMX.H and AMX.C to
|
the AMX DLL, you may, of course, also opt for modifying AMX.H and AMX.C to
|
||||||
suit the needs for Win32 DLLs.
|
suit the needs for Win32 DLLs.
|
||||||
|
|
||||||
If you rebuild the DLL for 16-bit Windows, keep the following points in mind:
|
If you rebuild the DLL for 16-bit Windows, keep the following points in mind:
|
||||||
o You must use the ANSI C version of the abstract machine; there is no
|
o You must use the ANSI C version of the abstract machine; there is no
|
||||||
16-bit assembler implementation.
|
16-bit assembler implementation.
|
||||||
o Use large memory model: pointers used in "interface" functions must be far
|
o Use large memory model: pointers used in "interface" functions must be far
|
||||||
pointers to bridge the data spaces of the .EXE and the DLL. The source
|
pointers to bridge the data spaces of the .EXE and the DLL. The source
|
||||||
code is (mostly) ANSI C, however, and "far pointers" are an extension to
|
code is (mostly) ANSI C, however, and "far pointers" are an extension to
|
||||||
ANSI C. The easiest way out is to make all pointers "far" by using large
|
ANSI C. The easiest way out is to make all pointers "far" by using large
|
||||||
memory model.
|
memory model.
|
||||||
o AMX_NATIVE_CALL are best set to "__far __pascal". This is the "standard"
|
o AMX_NATIVE_CALL are best set to "__far __pascal". This is the "standard"
|
||||||
calling convention for have interface functions in 16-bit Windows.
|
calling convention for have interface functions in 16-bit Windows.
|
||||||
o The native functions should also be exported, so that the data segment is
|
o The native functions should also be exported, so that the data segment is
|
||||||
set to that of the module that the native functions reside in.
|
set to that of the module that the native functions reside in.
|
||||||
o AMXAPI, however, must be set to "__cdecl", because amx_Exec() uses a
|
o AMXAPI, however, must be set to "__cdecl", because amx_Exec() uses a
|
||||||
variable length argument list. This is incompatible with the "pascal"
|
variable length argument list. This is incompatible with the "pascal"
|
||||||
calling convention.
|
calling convention.
|
||||||
|
|
||||||
The distribution for the AMX DLL comes with two makefiles: the makefile for the
|
The distribution for the AMX DLL comes with two makefiles: the makefile for the
|
||||||
32-bit DLL is for Watcom C/C++ and the makefile for the 16-bit DLL is for
|
32-bit DLL is for Watcom C/C++ and the makefile for the 16-bit DLL is for
|
||||||
Borland C++ (Inprise).
|
Borland C++ (Inprise).
|
||||||
|
|
||||||
|
@ -1,74 +1,74 @@
|
|||||||
#build file for CMake, see http://www.cmake.org/
|
#build file for CMake, see http://www.cmake.org/
|
||||||
|
|
||||||
PROJECT(pawnc)
|
PROJECT(pawnc)
|
||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||||
|
|
||||||
# check for optional include files
|
# check for optional include files
|
||||||
INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
|
INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
|
||||||
CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
|
CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
|
||||||
IF(HAVE_UNISTD_H)
|
IF(HAVE_UNISTD_H)
|
||||||
ADD_DEFINITIONS(-DHAVE_UNISTD_H)
|
ADD_DEFINITIONS(-DHAVE_UNISTD_H)
|
||||||
ENDIF(HAVE_UNISTD_H)
|
ENDIF(HAVE_UNISTD_H)
|
||||||
CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
|
CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
|
||||||
IF(HAVE_INTTYPES_H)
|
IF(HAVE_INTTYPES_H)
|
||||||
ADD_DEFINITIONS(-DHAVE_INTTYPES_H)
|
ADD_DEFINITIONS(-DHAVE_INTTYPES_H)
|
||||||
ENDIF(HAVE_INTTYPES_H)
|
ENDIF(HAVE_INTTYPES_H)
|
||||||
CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
|
CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
|
||||||
IF(HAVE_STDINT_H)
|
IF(HAVE_STDINT_H)
|
||||||
ADD_DEFINITIONS(-DHAVE_STDINT_H)
|
ADD_DEFINITIONS(-DHAVE_STDINT_H)
|
||||||
ENDIF(HAVE_STDINT_H)
|
ENDIF(HAVE_STDINT_H)
|
||||||
CHECK_INCLUDE_FILE("alloca.h" HAVE_ALLOCA_H)
|
CHECK_INCLUDE_FILE("alloca.h" HAVE_ALLOCA_H)
|
||||||
IF(HAVE_ALLOCA_H)
|
IF(HAVE_ALLOCA_H)
|
||||||
ADD_DEFINITIONS(-DHAVE_ALLOCA_H)
|
ADD_DEFINITIONS(-DHAVE_ALLOCA_H)
|
||||||
ENDIF(HAVE_ALLOCA_H)
|
ENDIF(HAVE_ALLOCA_H)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
ADD_DEFINITIONS(-DLINUX -DENABLE_BINRELOC -g)
|
ADD_DEFINITIONS(-DLINUX -DENABLE_BINRELOC -g)
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../linux)
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../linux)
|
||||||
LINK_LIBRARIES(pthread) #CMake adds the "lib" prefix, so "pthread" becomes "libpthread"
|
LINK_LIBRARIES(pthread) #CMake adds the "lib" prefix, so "pthread" becomes "libpthread"
|
||||||
ENDIF(UNIX)
|
ENDIF(UNIX)
|
||||||
|
|
||||||
# The Pawn compiler shared library
|
# The Pawn compiler shared library
|
||||||
SET(PAWNC_SRCS sc1.c sc2.c sc3.c sc4.c sc5.c sc6.c sc7.c
|
SET(PAWNC_SRCS sc1.c sc2.c sc3.c sc4.c sc5.c sc6.c sc7.c
|
||||||
scexpand.c sci18n.c sclist.c scmemfil.c scstate.c scvars.c
|
scexpand.c sci18n.c sclist.c scmemfil.c scstate.c scvars.c
|
||||||
lstring.c memfile.c libpawnc.c)
|
lstring.c memfile.c libpawnc.c)
|
||||||
SET_SOURCE_FILES_PROPERTIES(sc1.c COMPILE_FLAGS -DNO_MAIN)
|
SET_SOURCE_FILES_PROPERTIES(sc1.c COMPILE_FLAGS -DNO_MAIN)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(PAWNC_SRCS ${PAWNC_SRCS} libpawnc.rc)
|
SET(PAWNC_SRCS ${PAWNC_SRCS} libpawnc.rc)
|
||||||
SET_SOURCE_FILES_PROPERTIES(libpawnc.c COMPILE_FLAGS -DPAWNC_DLL)
|
SET_SOURCE_FILES_PROPERTIES(libpawnc.c COMPILE_FLAGS -DPAWNC_DLL)
|
||||||
IF(BORLAND)
|
IF(BORLAND)
|
||||||
# Borland linker uses a DEF file if one is in the output directory
|
# Borland linker uses a DEF file if one is in the output directory
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libpawnc.def.borland ${CMAKE_BINARY_DIR}/pawnc.def COPY_ONLY)
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libpawnc.def.borland ${CMAKE_BINARY_DIR}/pawnc.def COPY_ONLY)
|
||||||
ELSE(BORLAND)
|
ELSE(BORLAND)
|
||||||
# Microsoft Visual C/C++ supports a DEF file as if it were a source file
|
# Microsoft Visual C/C++ supports a DEF file as if it were a source file
|
||||||
SET(PAWNC_SRCS ${PAWNC_SRCS} libpawnc.def)
|
SET(PAWNC_SRCS ${PAWNC_SRCS} libpawnc.def)
|
||||||
ENDIF(BORLAND)
|
ENDIF(BORLAND)
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
SET(PAWNC_SRCS ${PAWNC_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/../linux/binreloc.c)
|
SET(PAWNC_SRCS ${PAWNC_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/../linux/binreloc.c)
|
||||||
ENDIF(UNIX)
|
ENDIF(UNIX)
|
||||||
ADD_LIBRARY(pawnc SHARED ${PAWNC_SRCS})
|
ADD_LIBRARY(pawnc SHARED ${PAWNC_SRCS})
|
||||||
IF(WATCOM) #Watcom C/C++ does not support a .DEF file for the exports
|
IF(WATCOM) #Watcom C/C++ does not support a .DEF file for the exports
|
||||||
SET_TARGET_PROPERTIES(pawnc PROPERTIES LINK_FLAGS "/exp=libpawnc")
|
SET_TARGET_PROPERTIES(pawnc PROPERTIES LINK_FLAGS "/exp=libpawnc")
|
||||||
ENDIF(WATCOM)
|
ENDIF(WATCOM)
|
||||||
IF(UNIX AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
IF(UNIX AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
# Unix exports all symbols by default; we want only a very select few exported symbols
|
# Unix exports all symbols by default; we want only a very select few exported symbols
|
||||||
ADD_CUSTOM_COMMAND(TARGET pawnc POST_BUILD COMMAND strip ARGS -K pc_compile -K pc_addconstant -K pc_addtag -K pc_enablewarning ${CMAKE_BINARY_DIR}/libpawnc.so)
|
ADD_CUSTOM_COMMAND(TARGET pawnc POST_BUILD COMMAND strip ARGS -K pc_compile -K pc_addconstant -K pc_addtag -K pc_enablewarning ${CMAKE_BINARY_DIR}/libpawnc.so)
|
||||||
ENDIF(UNIX AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
ENDIF(UNIX AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
|
||||||
|
|
||||||
# The Pawn compiler driver (console program)
|
# The Pawn compiler driver (console program)
|
||||||
SET(PAWNCC_SRCS pawncc.c)
|
SET(PAWNCC_SRCS pawncc.c)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(PAWNCC_SRCS ${PAWNCC_SRCS} libpawnc.rc)
|
SET(PAWNCC_SRCS ${PAWNCC_SRCS} libpawnc.rc)
|
||||||
IF(BORLAND)
|
IF(BORLAND)
|
||||||
# Borland linker uses a DEF file if one is in the output directory
|
# Borland linker uses a DEF file if one is in the output directory
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pawncc.def.borland ${CMAKE_BINARY_DIR}/pawncc.def COPY_ONLY)
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pawncc.def.borland ${CMAKE_BINARY_DIR}/pawncc.def COPY_ONLY)
|
||||||
ELSE(BORLAND)
|
ELSE(BORLAND)
|
||||||
# Microsoft Visual C/C++ supports a DEF file as if it were a source file
|
# Microsoft Visual C/C++ supports a DEF file as if it were a source file
|
||||||
SET(PAWNC_SRCS ${PAWNC_SRCS} pawncc.def)
|
SET(PAWNC_SRCS ${PAWNC_SRCS} pawncc.def)
|
||||||
ENDIF(BORLAND)
|
ENDIF(BORLAND)
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ADD_EXECUTABLE(pawncc ${PAWNCC_SRCS})
|
ADD_EXECUTABLE(pawncc ${PAWNCC_SRCS})
|
||||||
TARGET_LINK_LIBRARIES(pawncc pawnc)
|
TARGET_LINK_LIBRARIES(pawncc pawnc)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
LIBRARY PAWNC
|
LIBRARY PAWNC
|
||||||
DESCRIPTION 'Pawn compiler'
|
DESCRIPTION 'Pawn compiler'
|
||||||
|
|
||||||
EXPORTS Compile
|
EXPORTS Compile
|
||||||
pc_compile
|
pc_compile
|
||||||
pc_addconstant
|
pc_addconstant
|
||||||
pc_addtag
|
pc_addtag
|
||||||
pc_enablewarning
|
pc_enablewarning
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
LIBRARY PAWNC
|
LIBRARY PAWNC
|
||||||
DESCRIPTION 'Pawn compiler'
|
DESCRIPTION 'Pawn compiler'
|
||||||
|
|
||||||
EXPORTS Compile
|
EXPORTS Compile
|
||||||
pc_compile = _pc_compile
|
pc_compile = _pc_compile
|
||||||
pc_addconstant = _pc_addconstant
|
pc_addconstant = _pc_addconstant
|
||||||
pc_addtag = _pc_addtag
|
pc_addtag = _pc_addtag
|
||||||
pc_enablewarning = _pc_enablewarning
|
pc_enablewarning = _pc_enablewarning
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
++_Compile@16 .libpawnc .Compile
|
++_Compile@16 .libpawnc .Compile
|
||||||
++pc_compile .libpawnc .pc_compile
|
++pc_compile .libpawnc .pc_compile
|
||||||
++pc_addconstant .libpawnc .pc_addconstant
|
++pc_addconstant .libpawnc .pc_addconstant
|
||||||
++pc_addtag .libpawnc .pc_addtag
|
++pc_addtag .libpawnc .pc_addtag
|
||||||
++pc_enablewarning .libpawnc .pc_enablewarning
|
++pc_enablewarning .libpawnc .pc_enablewarning
|
||||||
++pc_printf .libpawnc .pc_printf
|
++pc_printf .libpawnc .pc_printf
|
||||||
|
@ -1,63 +1,63 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#if defined WIN32 || defined _WIN32 || defined __WIN32__
|
#if defined WIN32 || defined _WIN32 || defined __WIN32__
|
||||||
# include <winver.h>
|
# include <winver.h>
|
||||||
#else
|
#else
|
||||||
# include <ver.h>
|
# include <ver.h>
|
||||||
#endif
|
#endif
|
||||||
#include "svnrev.h"
|
#include "svnrev.h"
|
||||||
|
|
||||||
AppIcon ICON "../bin/pawn.ico"
|
AppIcon ICON "../bin/pawn.ico"
|
||||||
|
|
||||||
/* Version information
|
/* Version information
|
||||||
*
|
*
|
||||||
* All strings MUST have an explicit \0. See the Windows SDK documentation
|
* All strings MUST have an explicit \0. See the Windows SDK documentation
|
||||||
* for details on version information and the VERSIONINFO structure.
|
* for details on version information and the VERSIONINFO structure.
|
||||||
*/
|
*/
|
||||||
#define VERSION 3
|
#define VERSION 3
|
||||||
#define REVISION 2
|
#define REVISION 2
|
||||||
#define BUILD SVN_REV
|
#define BUILD SVN_REV
|
||||||
#define VERSIONSTR "3.2." SVN_REVSTR "\0"
|
#define VERSIONSTR "3.2." SVN_REVSTR "\0"
|
||||||
#if defined STAND_ALONE
|
#if defined STAND_ALONE
|
||||||
#define VERSIONNAME "pawncc.exe\0"
|
#define VERSIONNAME "pawncc.exe\0"
|
||||||
#define VERSIONDESCRIPTION "Pawn Compiler\0"
|
#define VERSIONDESCRIPTION "Pawn Compiler\0"
|
||||||
#define VERSIONPRODUCTNAME "pawncc\0"
|
#define VERSIONPRODUCTNAME "pawncc\0"
|
||||||
#else
|
#else
|
||||||
#define VERSIONNAME "libpawnc.dll\0"
|
#define VERSIONNAME "libpawnc.dll\0"
|
||||||
#define VERSIONDESCRIPTION "Pawn Compiler library\0"
|
#define VERSIONDESCRIPTION "Pawn Compiler library\0"
|
||||||
#define VERSIONPRODUCTNAME "libpawnc\0"
|
#define VERSIONPRODUCTNAME "libpawnc\0"
|
||||||
#endif
|
#endif
|
||||||
#define VERSIONCOMPANYNAME "ITB CompuPhase\0"
|
#define VERSIONCOMPANYNAME "ITB CompuPhase\0"
|
||||||
#define VERSIONCOPYRIGHT "Copyright \251 1998-2006 ITB CompuPhase\0"
|
#define VERSIONCOPYRIGHT "Copyright \251 1998-2006 ITB CompuPhase\0"
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION VERSION, REVISION, BUILD, 0
|
FILEVERSION VERSION, REVISION, BUILD, 0
|
||||||
PRODUCTVERSION VERSION, REVISION, BUILD, 0
|
PRODUCTVERSION VERSION, REVISION, BUILD, 0
|
||||||
FILEFLAGSMASK 0x0000003FL
|
FILEFLAGSMASK 0x0000003FL
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
FILEOS VOS__WINDOWS32
|
FILEOS VOS__WINDOWS32
|
||||||
#else
|
#else
|
||||||
FILEOS VOS__WINDOWS16
|
FILEOS VOS__WINDOWS16
|
||||||
#endif
|
#endif
|
||||||
FILETYPE VFT_DLL
|
FILETYPE VFT_DLL
|
||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", VERSIONCOMPANYNAME
|
VALUE "CompanyName", VERSIONCOMPANYNAME
|
||||||
VALUE "FileDescription", VERSIONDESCRIPTION
|
VALUE "FileDescription", VERSIONDESCRIPTION
|
||||||
VALUE "FileVersion", VERSIONSTR
|
VALUE "FileVersion", VERSIONSTR
|
||||||
VALUE "InternalName", VERSIONNAME
|
VALUE "InternalName", VERSIONNAME
|
||||||
VALUE "LegalCopyright", VERSIONCOPYRIGHT
|
VALUE "LegalCopyright", VERSIONCOPYRIGHT
|
||||||
VALUE "OriginalFilename", VERSIONNAME
|
VALUE "OriginalFilename", VERSIONNAME
|
||||||
VALUE "ProductName", VERSIONPRODUCTNAME
|
VALUE "ProductName", VERSIONPRODUCTNAME
|
||||||
VALUE "ProductVersion", VERSIONSTR
|
VALUE "ProductVersion", VERSIONSTR
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "Translation", 0x409, 1252
|
VALUE "Translation", 0x409, 1252
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
NAME PAWNCC
|
NAME PAWNCC
|
||||||
DESCRIPTION 'Pawn compiler'
|
DESCRIPTION 'Pawn compiler'
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
NAME PAWNCC
|
NAME PAWNCC
|
||||||
DESCRIPTION 'Pawn compiler'
|
DESCRIPTION 'Pawn compiler'
|
||||||
|
|
||||||
IMPORTS
|
IMPORTS
|
||||||
_pc_compile = pawnc.pc_compile
|
_pc_compile = pawnc.pc_compile
|
||||||
|
@ -1,342 +1,342 @@
|
|||||||
/* Pawn compiler - Error message strings (plain and compressed formats)
|
/* Pawn compiler - Error message strings (plain and compressed formats)
|
||||||
*
|
*
|
||||||
* Copyright (c) ITB CompuPhase, 2000-2006
|
* Copyright (c) ITB CompuPhase, 2000-2006
|
||||||
*
|
*
|
||||||
* This software is provided "as-is", without any express or implied warranty.
|
* This software is provided "as-is", without any express or implied warranty.
|
||||||
* In no event will the authors be held liable for any damages arising from
|
* In no event will the authors be held liable for any damages arising from
|
||||||
* the use of this software.
|
* the use of this software.
|
||||||
*
|
*
|
||||||
* Permission is granted to anyone to use this software for any purpose,
|
* Permission is granted to anyone to use this software for any purpose,
|
||||||
* including commercial applications, and to alter it and redistribute it
|
* including commercial applications, and to alter it and redistribute it
|
||||||
* freely, subject to the following restrictions:
|
* freely, subject to the following restrictions:
|
||||||
*
|
*
|
||||||
* 1. The origin of this software must not be misrepresented; you must not
|
* 1. The origin of this software must not be misrepresented; you must not
|
||||||
* claim that you wrote the original software. If you use this software in
|
* claim that you wrote the original software. If you use this software in
|
||||||
* a product, an acknowledgment in the product documentation would be
|
* a product, an acknowledgment in the product documentation would be
|
||||||
* appreciated but is not required.
|
* appreciated but is not required.
|
||||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: sc5.sch 3633 2006-08-11 16:20:18Z thiadmer $
|
* Version: $Id: sc5.sch 3633 2006-08-11 16:20:18Z thiadmer $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SC_FUNC int strexpand(char *dest, unsigned char *source, int maxlen, unsigned char pairtable[128][2]);
|
SC_FUNC int strexpand(char *dest, unsigned char *source, int maxlen, unsigned char pairtable[128][2]);
|
||||||
|
|
||||||
#define SCPACK_TABLE errstr_table
|
#define SCPACK_TABLE errstr_table
|
||||||
/*-*SCPACK start of pair table, do not change or remove this line */
|
/*-*SCPACK start of pair table, do not change or remove this line */
|
||||||
unsigned char errstr_table[][2] = {
|
unsigned char errstr_table[][2] = {
|
||||||
{101,32}, {111,110}, {116,32}, {105,110}, {97,114}, {116,105}, {100,32}, {115,32}, {101,114}, {97,108}, {101,110}, {37,115}, {133,129}, {34,139}, {141,34}, {117,110},
|
{101,32}, {111,110}, {116,32}, {105,110}, {97,114}, {116,105}, {100,32}, {115,32}, {101,114}, {97,108}, {101,110}, {37,115}, {133,129}, {34,139}, {141,34}, {117,110},
|
||||||
{114,101}, {110,111}, {115,105}, {121,32}, {97,116}, {111,114}, {97,110}, {32,142}, {109,98}, {115,116}, {41,10}, {100,101}, {109,138}, {101,134}, {98,108}, {140,32},
|
{114,101}, {110,111}, {115,105}, {121,32}, {97,116}, {111,114}, {97,110}, {32,142}, {109,98}, {115,116}, {41,10}, {100,101}, {109,138}, {101,134}, {98,108}, {140,32},
|
||||||
{111,108}, {114,97}, {145,130}, {118,137}, {143,99}, {102,164}, {115,121}, {166,152}, {167,160}, {117,115}, {97,32}, {115,146}, {97,158}, {149,32}, {132,161}, {105,134},
|
{111,108}, {114,97}, {145,130}, {118,137}, {143,99}, {102,164}, {115,121}, {166,152}, {167,160}, {117,115}, {97,32}, {115,146}, {97,158}, {149,32}, {132,161}, {105,134},
|
||||||
{103,32}, {163,175}, {103,117}, {178,156}, {136,32}, {132,179}, {131,177}, {111,102}, {116,104}, {101,120}, {105,135}, {165,159}, {101,100}, {99,104}, {118,132}, {168,151},
|
{103,32}, {163,175}, {103,117}, {178,156}, {136,32}, {132,179}, {131,177}, {111,102}, {116,104}, {101,120}, {105,135}, {165,159}, {101,100}, {99,104}, {118,132}, {168,151},
|
||||||
{105,172}, {190,192}, {155,102}, {174,147}, {183,32}, {109,97}, {116,111}, {99,129}, {101,135}, {112,144}, {181,130}, {98,128}, {115,10}, {153,148}, {44,32}, {40,191},
|
{105,172}, {190,192}, {155,102}, {174,147}, {183,32}, {109,97}, {116,111}, {99,129}, {101,135}, {112,144}, {181,130}, {98,128}, {115,10}, {153,148}, {44,32}, {40,191},
|
||||||
{169,130}, {151,10}, {101,10}, {207,154}, {109,208}, {116,97}, {194,131}, {193,128}, {34,32}, {129,32}, {105,99}, {132,97}, {100,105}, {146,122}, {110,32}, {137,32},
|
{169,130}, {151,10}, {101,10}, {207,154}, {109,208}, {116,97}, {194,131}, {193,128}, {34,32}, {129,32}, {105,99}, {132,97}, {100,105}, {146,122}, {110,32}, {137,32},
|
||||||
{104,97}, {101,108}, {117,108}, {99,111}, {108,111}, {109,148}, {199,153}, {58,209}, {111,112}, {97,115}, {108,128}, {232,136}, {230,150}, {150,32}, {201,171}, {131,176},
|
{104,97}, {101,108}, {117,108}, {99,111}, {108,111}, {109,148}, {199,153}, {58,209}, {111,112}, {97,115}, {108,128}, {232,136}, {230,150}, {150,32}, {201,171}, {131,176},
|
||||||
{212,203}, {102,105}, {119,105}, {185,238}, {109,112}, {116,136}, {165,140}, {197,147}, {102,149}, {111,32}, {131,32}, {213,176}, {110,117}, {115,117}, {118,128}
|
{212,203}, {102,105}, {119,105}, {185,238}, {109,112}, {116,136}, {165,140}, {197,147}, {102,149}, {111,32}, {131,32}, {213,176}, {110,117}, {115,117}, {118,128}
|
||||||
};
|
};
|
||||||
/*-*SCPACK end of pair table, do not change or remove this line */
|
/*-*SCPACK end of pair table, do not change or remove this line */
|
||||||
|
|
||||||
static char *errmsg[] = {
|
static char *errmsg[] = {
|
||||||
#ifdef SCPACK
|
#ifdef SCPACK
|
||||||
/*001*/ "expected token: \"%s\", but found \"%s\"\n",
|
/*001*/ "expected token: \"%s\", but found \"%s\"\n",
|
||||||
/*002*/ "only a single statement (or expression) can follow each \"case\"\n",
|
/*002*/ "only a single statement (or expression) can follow each \"case\"\n",
|
||||||
/*003*/ "declaration of a local variable must appear in a compound block\n",
|
/*003*/ "declaration of a local variable must appear in a compound block\n",
|
||||||
/*004*/ "function \"%s\" is not implemented\n",
|
/*004*/ "function \"%s\" is not implemented\n",
|
||||||
/*005*/ "function may not have arguments\n",
|
/*005*/ "function may not have arguments\n",
|
||||||
/*006*/ "must be assigned to an array\n",
|
/*006*/ "must be assigned to an array\n",
|
||||||
/*007*/ "operator cannot be redefined\n",
|
/*007*/ "operator cannot be redefined\n",
|
||||||
/*008*/ "must be a constant expression; assumed zero\n",
|
/*008*/ "must be a constant expression; assumed zero\n",
|
||||||
/*009*/ "invalid array size (negative, zero or out of bounds)\n",
|
/*009*/ "invalid array size (negative, zero or out of bounds)\n",
|
||||||
/*010*/ "invalid function or declaration\n",
|
/*010*/ "invalid function or declaration\n",
|
||||||
/*011*/ "invalid outside functions\n",
|
/*011*/ "invalid outside functions\n",
|
||||||
/*012*/ "invalid function call, not a valid address\n",
|
/*012*/ "invalid function call, not a valid address\n",
|
||||||
/*013*/ "no entry point (no public functions)\n",
|
/*013*/ "no entry point (no public functions)\n",
|
||||||
/*014*/ "invalid statement; not in switch\n",
|
/*014*/ "invalid statement; not in switch\n",
|
||||||
/*015*/ "\"default\" case must be the last case in switch statement\n",
|
/*015*/ "\"default\" case must be the last case in switch statement\n",
|
||||||
/*016*/ "multiple defaults in \"switch\"\n",
|
/*016*/ "multiple defaults in \"switch\"\n",
|
||||||
/*017*/ "undefined symbol \"%s\"\n",
|
/*017*/ "undefined symbol \"%s\"\n",
|
||||||
/*018*/ "initialization data exceeds declared size\n",
|
/*018*/ "initialization data exceeds declared size\n",
|
||||||
/*019*/ "not a label: \"%s\"\n",
|
/*019*/ "not a label: \"%s\"\n",
|
||||||
/*020*/ "invalid symbol name \"%s\"\n",
|
/*020*/ "invalid symbol name \"%s\"\n",
|
||||||
/*021*/ "symbol already defined: \"%s\"\n",
|
/*021*/ "symbol already defined: \"%s\"\n",
|
||||||
/*022*/ "must be lvalue (non-constant)\n",
|
/*022*/ "must be lvalue (non-constant)\n",
|
||||||
/*023*/ "array assignment must be simple assignment\n",
|
/*023*/ "array assignment must be simple assignment\n",
|
||||||
/*024*/ "\"break\" or \"continue\" is out of context\n",
|
/*024*/ "\"break\" or \"continue\" is out of context\n",
|
||||||
/*025*/ "function heading differs from prototype\n",
|
/*025*/ "function heading differs from prototype\n",
|
||||||
/*026*/ "no matching \"#if...\"\n",
|
/*026*/ "no matching \"#if...\"\n",
|
||||||
/*027*/ "invalid character constant\n",
|
/*027*/ "invalid character constant\n",
|
||||||
/*028*/ "invalid subscript (not an array or too many subscripts): \"%s\"\n",
|
/*028*/ "invalid subscript (not an array or too many subscripts): \"%s\"\n",
|
||||||
/*029*/ "invalid expression, assumed zero\n",
|
/*029*/ "invalid expression, assumed zero\n",
|
||||||
/*030*/ "compound statement not closed at the end of file (started at line %d)\n",
|
/*030*/ "compound statement not closed at the end of file (started at line %d)\n",
|
||||||
/*031*/ "unknown directive\n",
|
/*031*/ "unknown directive\n",
|
||||||
/*032*/ "array index out of bounds (variable \"%s\")\n",
|
/*032*/ "array index out of bounds (variable \"%s\")\n",
|
||||||
/*033*/ "array must be indexed (variable \"%s\")\n",
|
/*033*/ "array must be indexed (variable \"%s\")\n",
|
||||||
/*034*/ "argument does not have a default value (argument %d)\n",
|
/*034*/ "argument does not have a default value (argument %d)\n",
|
||||||
/*035*/ "argument type mismatch (argument %d)\n",
|
/*035*/ "argument type mismatch (argument %d)\n",
|
||||||
/*036*/ "empty statement\n",
|
/*036*/ "empty statement\n",
|
||||||
/*037*/ "invalid string (possibly non-terminated string)\n",
|
/*037*/ "invalid string (possibly non-terminated string)\n",
|
||||||
/*038*/ "extra characters on line\n",
|
/*038*/ "extra characters on line\n",
|
||||||
/*039*/ "constant symbol has no size\n",
|
/*039*/ "constant symbol has no size\n",
|
||||||
/*040*/ "duplicate \"case\" label (value %d)\n",
|
/*040*/ "duplicate \"case\" label (value %d)\n",
|
||||||
/*041*/ "invalid ellipsis, array size is not known\n",
|
/*041*/ "invalid ellipsis, array size is not known\n",
|
||||||
/*042*/ "invalid combination of class specifiers\n",
|
/*042*/ "invalid combination of class specifiers\n",
|
||||||
/*043*/ "character constant exceeds range for packed string\n",
|
/*043*/ "character constant exceeds range for packed string\n",
|
||||||
/*044*/ "positional parameters must precede all named parameters\n",
|
/*044*/ "positional parameters must precede all named parameters\n",
|
||||||
/*045*/ "too many function arguments\n",
|
/*045*/ "too many function arguments\n",
|
||||||
/*046*/ "unknown array size (variable \"%s\")\n",
|
/*046*/ "unknown array size (variable \"%s\")\n",
|
||||||
/*047*/ "array sizes do not match, or destination array is too small\n",
|
/*047*/ "array sizes do not match, or destination array is too small\n",
|
||||||
/*048*/ "array dimensions do not match\n",
|
/*048*/ "array dimensions do not match\n",
|
||||||
/*049*/ "invalid line continuation\n",
|
/*049*/ "invalid line continuation\n",
|
||||||
/*050*/ "invalid range\n",
|
/*050*/ "invalid range\n",
|
||||||
/*051*/ "invalid subscript, use \"[ ]\" operators on major dimensions\n",
|
/*051*/ "invalid subscript, use \"[ ]\" operators on major dimensions\n",
|
||||||
/*052*/ "multi-dimensional arrays must be fully initialized\n",
|
/*052*/ "multi-dimensional arrays must be fully initialized\n",
|
||||||
/*053*/ "exceeding maximum number of dimensions\n",
|
/*053*/ "exceeding maximum number of dimensions\n",
|
||||||
/*054*/ "unmatched closing brace (\"}\")\n",
|
/*054*/ "unmatched closing brace (\"}\")\n",
|
||||||
/*055*/ "start of function body without function header\n",
|
/*055*/ "start of function body without function header\n",
|
||||||
/*056*/ "arrays, local variables and function arguments cannot be public (variable \"%s\")\n",
|
/*056*/ "arrays, local variables and function arguments cannot be public (variable \"%s\")\n",
|
||||||
/*057*/ "unfinished expression before compiler directive\n",
|
/*057*/ "unfinished expression before compiler directive\n",
|
||||||
/*058*/ "duplicate argument; same argument is passed twice\n",
|
/*058*/ "duplicate argument; same argument is passed twice\n",
|
||||||
/*059*/ "function argument may not have a default value (variable \"%s\")\n",
|
/*059*/ "function argument may not have a default value (variable \"%s\")\n",
|
||||||
/*060*/ "multiple \"#else\" directives between \"#if ... #endif\"\n",
|
/*060*/ "multiple \"#else\" directives between \"#if ... #endif\"\n",
|
||||||
/*061*/ "\"#elseif\" directive follows an \"#else\" directive\n",
|
/*061*/ "\"#elseif\" directive follows an \"#else\" directive\n",
|
||||||
/*062*/ "number of operands does not fit the operator\n",
|
/*062*/ "number of operands does not fit the operator\n",
|
||||||
/*063*/ "function result tag of operator \"%s\" must be \"%s\"\n",
|
/*063*/ "function result tag of operator \"%s\" must be \"%s\"\n",
|
||||||
/*064*/ "cannot change predefined operators\n",
|
/*064*/ "cannot change predefined operators\n",
|
||||||
/*065*/ "function argument may only have a single tag (argument %d)\n",
|
/*065*/ "function argument may only have a single tag (argument %d)\n",
|
||||||
/*066*/ "function argument may not be a reference argument or an array (argument \"%s\")\n",
|
/*066*/ "function argument may not be a reference argument or an array (argument \"%s\")\n",
|
||||||
/*067*/ "variable cannot be both a reference and an array (variable \"%s\")\n",
|
/*067*/ "variable cannot be both a reference and an array (variable \"%s\")\n",
|
||||||
/*068*/ "invalid rational number precision in #pragma\n",
|
/*068*/ "invalid rational number precision in #pragma\n",
|
||||||
/*069*/ "rational number format already defined\n",
|
/*069*/ "rational number format already defined\n",
|
||||||
/*070*/ "rational number support was not enabled\n",
|
/*070*/ "rational number support was not enabled\n",
|
||||||
/*071*/ "user-defined operator must be declared before use (function \"%s\")\n",
|
/*071*/ "user-defined operator must be declared before use (function \"%s\")\n",
|
||||||
/*072*/ "\"sizeof\" operator is invalid on \"function\" symbols\n",
|
/*072*/ "\"sizeof\" operator is invalid on \"function\" symbols\n",
|
||||||
/*073*/ "function argument must be an array (argument \"%s\")\n",
|
/*073*/ "function argument must be an array (argument \"%s\")\n",
|
||||||
/*074*/ "#define pattern must start with an alphabetic character\n",
|
/*074*/ "#define pattern must start with an alphabetic character\n",
|
||||||
/*075*/ "input line too long (after substitutions)\n",
|
/*075*/ "input line too long (after substitutions)\n",
|
||||||
/*076*/ "syntax error in the expression, or invalid function call\n",
|
/*076*/ "syntax error in the expression, or invalid function call\n",
|
||||||
/*077*/ "malformed UTF-8 encoding, or corrupted file: %s\n",
|
/*077*/ "malformed UTF-8 encoding, or corrupted file: %s\n",
|
||||||
/*078*/ "function uses both \"return\" and \"return <value>\"\n",
|
/*078*/ "function uses both \"return\" and \"return <value>\"\n",
|
||||||
/*079*/ "inconsistent return types (array & non-array)\n",
|
/*079*/ "inconsistent return types (array & non-array)\n",
|
||||||
/*080*/ "unknown symbol, or not a constant symbol (symbol \"%s\")\n",
|
/*080*/ "unknown symbol, or not a constant symbol (symbol \"%s\")\n",
|
||||||
/*081*/ "cannot take a tag as a default value for an indexed array parameter (symbol \"%s\")\n",
|
/*081*/ "cannot take a tag as a default value for an indexed array parameter (symbol \"%s\")\n",
|
||||||
/*082*/ "user-defined operators and native functions may not have states\n",
|
/*082*/ "user-defined operators and native functions may not have states\n",
|
||||||
/*083*/ "a function or variable may only belong to a single automaton (symbol \"%s\")\n",
|
/*083*/ "a function or variable may only belong to a single automaton (symbol \"%s\")\n",
|
||||||
/*084*/ "state conflict: one of the states is already assigned to another implementation (symbol \"%s\")\n",
|
/*084*/ "state conflict: one of the states is already assigned to another implementation (symbol \"%s\")\n",
|
||||||
/*085*/ "no states are defined for symbol \"%s\"\n",
|
/*085*/ "no states are defined for symbol \"%s\"\n",
|
||||||
/*086*/ "unknown automaton \"%s\"\n",
|
/*086*/ "unknown automaton \"%s\"\n",
|
||||||
/*087*/ "unknown state \"%s\" for automaton \"%s\"\n",
|
/*087*/ "unknown state \"%s\" for automaton \"%s\"\n",
|
||||||
/*088*/ "public variables and local variables may not have states (symbol \"%s\")\n",
|
/*088*/ "public variables and local variables may not have states (symbol \"%s\")\n",
|
||||||
/*089*/ "state variables may not be initialized (symbol \"%s\")\n",
|
/*089*/ "state variables may not be initialized (symbol \"%s\")\n",
|
||||||
/*090*/ "public functions may not return arrays (symbol \"%s\")\n",
|
/*090*/ "public functions may not return arrays (symbol \"%s\")\n",
|
||||||
/*091*/ "ambiguous constant; tag override is required (symbol \"%s\")\n"
|
/*091*/ "ambiguous constant; tag override is required (symbol \"%s\")\n"
|
||||||
#else
|
#else
|
||||||
"\271pect\235\306k\212:\227\316bu\202fo\217\206\216\012",
|
"\271pect\235\306k\212:\227\316bu\202fo\217\206\216\012",
|
||||||
"\201l\223\252s\203g\352\315e\234\202(\255\363\201) c\355f\240\344w ea\275 \042c\351e\042\012",
|
"\201l\223\252s\203g\352\315e\234\202(\255\363\201) c\355f\240\344w ea\275 \042c\351e\042\012",
|
||||||
"\233cl\333\237\304\252\344c\337\327\324appe\204 \372\252\343\364o\217\206\236ock\012",
|
"\233cl\333\237\304\252\344c\337\327\324appe\204 \372\252\343\364o\217\206\236ock\012",
|
||||||
"\366\227 \272\242i\364le\234t\274\012",
|
"\366\227 \272\242i\364le\234t\274\012",
|
||||||
"\273\367\242\340\376\265t\314",
|
"\273\367\242\340\376\265t\314",
|
||||||
"\360a\253gn\235\306 \355\256y\012",
|
"\360a\253gn\235\306 \355\256y\012",
|
||||||
"\353\224\255c\226\242\313\220\326\274\012",
|
"\353\224\255c\226\242\313\220\326\274\012",
|
||||||
"\360\252\354\202\363\201; \351\375m\235z\210o\012",
|
"\360\252\354\202\363\201; \351\375m\235z\210o\012",
|
||||||
"\266\303\335\200(nega\205ve\316z\210\371\255ou\202\304bo\217ds\232",
|
"\266\303\335\200(nega\205ve\316z\210\371\255ou\202\304bo\217ds\232",
|
||||||
"\266\273\255\233cl\333\214\012",
|
"\266\273\255\233cl\333\214\012",
|
||||||
"\266out\222d\200\366\314",
|
"\266out\222d\200\366\314",
|
||||||
"\266\273c\211l\316\242\252\261add\220s\314",
|
"\266\273c\211l\316\242\252\261add\220s\314",
|
||||||
"\221 \212tr\223po\203\202(\221 pu\236\332 \366s\232",
|
"\221 \212tr\223po\203\202(\221 pu\236\332 \366s\232",
|
||||||
"\266\315e\234t; \242\372s\362t\275\012",
|
"\266\315e\234t; \242\372s\362t\275\012",
|
||||||
"\042\302a\342t\330c\351\200\360\270\200l\351\202c\351\200\372s\362t\275 \315e\234t\012",
|
"\042\302a\342t\330c\351\200\360\270\200l\351\202c\351\200\372s\362t\275 \315e\234t\012",
|
||||||
"m\342\205p\352\302a\342t\207\372\042s\362t\275\042\012",
|
"m\342\205p\352\302a\342t\207\372\042s\362t\275\042\012",
|
||||||
"\217\326\235\277\012",
|
"\217\326\235\277\012",
|
||||||
"\203i\205\211iza\237d\224\252\271ce\274\207\233cl\204\235\335\322",
|
"\203i\205\211iza\237d\224\252\271ce\274\207\233cl\204\235\335\322",
|
||||||
"\242\252lab\341\347",
|
"\242\252lab\341\347",
|
||||||
"\266\250 nam\200\216\012",
|
"\266\250 nam\200\216\012",
|
||||||
"\250 \211\220ad\223\326\274\347",
|
"\250 \211\220ad\223\326\274\347",
|
||||||
"\360l\243u\200(n\201-\354t\232",
|
"\360l\243u\200(n\201-\354t\232",
|
||||||
"\303a\253gn\234\202\360\222\364\352a\253gn\234t\012",
|
"\303a\253gn\234\202\360\222\364\352a\253gn\234t\012",
|
||||||
"\042b\220ak\330\255\042\307t\203ue\330\272ou\202\304\307t\271t\012",
|
"\042b\220ak\330\255\042\307t\203ue\330\272ou\202\304\307t\271t\012",
|
||||||
"\273head\357\334ff\210\207from pro\306typ\322",
|
"\273head\357\334ff\210\207from pro\306typ\322",
|
||||||
"\221 \345\275\357\042#if...\042\012",
|
"\221 \345\275\357\042#if...\042\012",
|
||||||
"\266\275\333ct\264\354t\012",
|
"\266\275\333ct\264\354t\012",
|
||||||
"\266\375bscrip\202(\242\355\303\255\306\371m\226\223\375bscripts)\347",
|
"\266\375bscrip\202(\242\355\303\255\306\371m\226\223\375bscripts)\347",
|
||||||
"\266\363\201\316\351\375m\235z\210o\012",
|
"\266\363\201\316\351\375m\235z\210o\012",
|
||||||
"\343\364o\217\206\315e\234\202\242c\344s\235a\202\270\200\212\206\304\361\352(\231\204t\235a\202l\203\200%d\232",
|
"\343\364o\217\206\315e\234\202\242c\344s\235a\202\270\200\212\206\304\361\352(\231\204t\235a\202l\203\200%d\232",
|
||||||
"\217k\221w\336\334\220c\205v\322",
|
"\217k\221w\336\334\220c\205v\322",
|
||||||
"\303\203\233x ou\202\304bo\217d\207(\327\216\232",
|
"\303\203\233x ou\202\304bo\217d\207(\327\216\232",
|
||||||
"\303\360\203\233x\235(\327\216\232",
|
"\303\360\203\233x\235(\327\216\232",
|
||||||
"\312do\310\242\340\376\252\302a\342\202\243u\200(\312%d\232",
|
"\312do\310\242\340\376\252\302a\342\202\243u\200(\312%d\232",
|
||||||
"\312typ\200mis\345\275 (\312%d\232",
|
"\312typ\200mis\345\275 (\312%d\232",
|
||||||
"e\364t\223\315e\234t\012",
|
"e\364t\223\315e\234t\012",
|
||||||
"\266\231r\357(po\253\236\223n\201-\365m\203\224\235\231r\203g\232",
|
"\266\231r\357(po\253\236\223n\201-\365m\203\224\235\231r\203g\232",
|
||||||
"\271t\241 \275\333c\365\207\331l\203\322",
|
"\271t\241 \275\333c\365\207\331l\203\322",
|
||||||
"\354\202\250 \340\207\221 \335\322",
|
"\354\202\250 \340\207\221 \335\322",
|
||||||
"dupl\332\224\200\042c\351e\330lab\341 (\243u\200%d\232",
|
"dupl\332\224\200\042c\351e\330lab\341 (\243u\200%d\232",
|
||||||
"\266\341lip\222s\316\303\335\200\272\242k\221wn\012",
|
"\266\341lip\222s\316\303\335\200\272\242k\221wn\012",
|
||||||
"\266\343\230\203a\237\304cl\351\207speci\361\210\314",
|
"\266\343\230\203a\237\304cl\351\207speci\361\210\314",
|
||||||
"\275\333ct\264\354\202\271ce\274\207r\226g\200f\255pack\235\231r\203g\012",
|
"\275\333ct\264\354\202\271ce\274\207r\226g\200f\255pack\235\231r\203g\012",
|
||||||
"po\222\214\337p\333me\365\207\324\311c\274\200\211l nam\235p\333me\365\314",
|
"po\222\214\337p\333me\365\207\324\311c\274\200\211l nam\235p\333me\365\314",
|
||||||
"\306\371m\226\223\273\265t\314",
|
"\306\371m\226\223\273\265t\314",
|
||||||
"\217k\221w\336\303\335\200(\327\216\232",
|
"\217k\221w\336\303\335\200(\327\216\232",
|
||||||
"\303\335\310d\371\242\345\275\316\255\233\231\203a\237\303\272\306\371sm\211l\012",
|
"\303\335\310d\371\242\345\275\316\255\233\231\203a\237\303\272\306\371sm\211l\012",
|
||||||
"\303\334\234\222\201\207d\371\242\345\275\012",
|
"\303\334\234\222\201\207d\371\242\345\275\012",
|
||||||
"\266l\203\200\307t\203ua\214\012",
|
"\266l\203\200\307t\203ua\214\012",
|
||||||
"\266r\226g\322",
|
"\266r\226g\322",
|
||||||
"\266\375bscript\316\251\200\042[ ]\330\353\224\225\207\331\305j\255\334\234\222\201\314",
|
"\266\375bscript\316\251\200\042[ ]\330\353\224\225\207\331\305j\255\334\234\222\201\314",
|
||||||
"m\342\205-\334\234\222\201\337\256y\207\360f\342l\223\203i\205\211iz\274\012",
|
"m\342\205-\334\234\222\201\337\256y\207\360f\342l\223\203i\205\211iz\274\012",
|
||||||
"\271ce\274\357\305ximum \374\230\264\304\334\234\222\201\314",
|
"\271ce\274\357\305ximum \374\230\264\304\334\234\222\201\314",
|
||||||
"\217\345\275\235c\344s\357b\241c\200(\042}\042\232",
|
"\217\345\275\235c\344s\357b\241c\200(\042}\042\232",
|
||||||
"\231\204\202\304\273bod\223\362\270ou\202\273head\210\012",
|
"\231\204\202\304\273bod\223\362\270ou\202\273head\210\012",
|
||||||
"\256ys\316\344c\337\301\310\226\206\273\265t\207c\226\242\313pu\236\332 (\327\216\232",
|
"\256ys\316\344c\337\301\310\226\206\273\265t\207c\226\242\313pu\236\332 (\327\216\232",
|
||||||
"\217f\203ish\235\363\331be\370\200\343\364il\264\334\220c\205v\322",
|
"\217f\203ish\235\363\331be\370\200\343\364il\264\334\220c\205v\322",
|
||||||
"dupl\332\224\200\265t; sam\200\312\272p\351s\235tw\332\322",
|
"dupl\332\224\200\265t; sam\200\312\272p\351s\235tw\332\322",
|
||||||
"\273\312\367\242\340\376\252\302a\342\202\243u\200(\327\216\232",
|
"\273\312\367\242\340\376\252\302a\342\202\243u\200(\327\216\232",
|
||||||
"m\342\205p\352\042#\341se\330\334\220c\205v\310betwe\212 \042#if ... #\212\334f\042\012",
|
"m\342\205p\352\042#\341se\330\334\220c\205v\310betwe\212 \042#if ... #\212\334f\042\012",
|
||||||
"\042#\341seif\330\334\220c\205\376f\240\344w\207\355\042#\341se\330\334\220c\205v\322",
|
"\042#\341seif\330\334\220c\205\376f\240\344w\207\355\042#\341se\330\334\220c\205v\322",
|
||||||
"\374\230\264\304\353\226d\207do\310\242\361\202\270\200\353\224\225\012",
|
"\374\230\264\304\353\226d\207do\310\242\361\202\270\200\353\224\225\012",
|
||||||
"\273\220s\342\202\373\304\353\224\225\227 \360\216\012",
|
"\273\220s\342\202\373\304\353\224\225\227 \360\216\012",
|
||||||
"c\226\242\275\226g\200\311\326\235\353\224\225\314",
|
"c\226\242\275\226g\200\311\326\235\353\224\225\314",
|
||||||
"\273\312\367\201l\223\340\376\252s\203g\352\373(\312%d\232",
|
"\273\312\367\201l\223\340\376\252s\203g\352\373(\312%d\232",
|
||||||
"\273\312\367\242\313\252\220f\210\212c\200\312\255\355\303(\312\216\232",
|
"\273\312\367\242\313\252\220f\210\212c\200\312\255\355\303(\312\216\232",
|
||||||
"\327c\226\242\313bo\270 \252\220f\210\212c\200\226\206\355\303(\327\216\232",
|
"\327c\226\242\313bo\270 \252\220f\210\212c\200\226\206\355\303(\327\216\232",
|
||||||
"\266\241\214\337\374\230\264\311ci\222\331\372#p\241g\305\012",
|
"\266\241\214\337\374\230\264\311ci\222\331\372#p\241g\305\012",
|
||||||
"\241\214\337\374\230\264\370\305\202\211\220ad\223\326\274\012",
|
"\241\214\337\374\230\264\370\305\202\211\220ad\223\326\274\012",
|
||||||
"\241\214\337\374\230\264\375pp\225\202wa\207\242\212\254\274\012",
|
"\241\214\337\374\230\264\375pp\225\202wa\207\242\212\254\274\012",
|
||||||
"\251\210-\326\235\353\224\255\360\233cl\204\235be\370\200\251\200(\366\227\232",
|
"\251\210-\326\235\353\224\255\360\233cl\204\235be\370\200\251\200(\366\227\232",
|
||||||
"\042\335e\267\330\353\224\255\272\266\331\042\366\330\250\314",
|
"\042\335e\267\330\353\224\255\272\266\331\042\366\330\250\314",
|
||||||
"\273\312\360\355\303(\312\216\232",
|
"\273\312\360\355\303(\312\216\232",
|
||||||
"#\326\200p\224\365\336\324\231\204\202\362\270 \355\211p\340be\205c \275\333c\365\012",
|
"#\326\200p\224\365\336\324\231\204\202\362\270 \355\211p\340be\205c \275\333c\365\012",
|
||||||
"\203pu\202l\203\200\306\371l\201\260(aft\264\375bs\205tu\214s\232",
|
"\203pu\202l\203\200\306\371l\201\260(aft\264\375bs\205tu\214s\232",
|
||||||
"\246n\325x \210r\255\372\270\200\363\201\316\255\266\273c\211l\012",
|
"\246n\325x \210r\255\372\270\200\363\201\316\255\266\273c\211l\012",
|
||||||
"m\211\370m\235UTF-8 \212\343d\203g\316\255c\225rupt\235\361le: \213\012",
|
"m\211\370m\235UTF-8 \212\343d\203g\316\255c\225rupt\235\361le: \213\012",
|
||||||
"\273\251\310bo\270 \042\220turn\330\226\206\042\220tur\336<\243ue>\042\012",
|
"\273\251\310bo\270 \042\220turn\330\226\206\042\220tur\336<\243ue>\042\012",
|
||||||
"\203\307\222\231\212\202\220tur\336typ\310(\303& n\201-\256y\232",
|
"\203\307\222\231\212\202\220tur\336typ\310(\303& n\201-\256y\232",
|
||||||
"\217k\221w\336\250\316\255\242\252\354\202\250 \323",
|
"\217k\221w\336\250\316\255\242\252\354\202\250 \323",
|
||||||
"c\226\242\325k\200\252\373a\207\252\302a\342\202\243u\200f\255\355\203\233x\235\303p\333met\264\323",
|
"c\226\242\325k\200\252\373a\207\252\302a\342\202\243u\200f\255\355\203\233x\235\303p\333met\264\323",
|
||||||
"\251\210-\326\235\353\224\225\207\226\206na\205\376\366\207\367\242\340\376\315e\314",
|
"\251\210-\326\235\353\224\225\207\226\206na\205\376\366\207\367\242\340\376\315e\314",
|
||||||
"\252\273\255\327\367\201l\223b\341\201\260\306 \252s\203g\352au\306\345\331\323",
|
"\252\273\255\327\367\201l\223b\341\201\260\306 \252s\203g\352au\306\345\331\323",
|
||||||
"\315\200\307fl\332t: \201\200\304\270\200\315\310\272\211\220ad\223a\253gn\235\306 a\221\270\264i\364le\234\325\237\323",
|
"\315\200\307fl\332t: \201\200\304\270\200\315\310\272\211\220ad\223a\253gn\235\306 a\221\270\264i\364le\234\325\237\323",
|
||||||
"\221 \315\310\204\200\326\235f\255\277\012",
|
"\221 \315\310\204\200\326\235f\255\277\012",
|
||||||
"\217k\221w\336au\306\345\201\321",
|
"\217k\221w\336au\306\345\201\321",
|
||||||
"\217k\221w\336\315\200\216 f\255au\306\345\201\321",
|
"\217k\221w\336\315\200\216 f\255au\306\345\201\321",
|
||||||
"pu\236\332 \301\310\226\206\344c\337\301\310\367\242\340\376\315\310\323",
|
"pu\236\332 \301\310\226\206\344c\337\301\310\367\242\340\376\315\310\323",
|
||||||
"\315\200\301\310\367\242\313\203i\205\211iz\235\323",
|
"\315\200\301\310\367\242\313\203i\205\211iz\235\323",
|
||||||
"pu\236\332 \366\207\367\242\220tur\336\256y\207\323",
|
"pu\236\332 \366\207\367\242\220tur\336\256y\207\323",
|
||||||
"a\230i\262ou\207\354t; \373ov\210rid\200\272\220qui\220\206\323"
|
"a\230i\262ou\207\354t; \373ov\210rid\200\272\220qui\220\206\323"
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *fatalmsg[] = {
|
static char *fatalmsg[] = {
|
||||||
#ifdef SCPACK
|
#ifdef SCPACK
|
||||||
/*100*/ "cannot read from file: \"%s\"\n",
|
/*100*/ "cannot read from file: \"%s\"\n",
|
||||||
/*101*/ "cannot write to file: \"%s\"\n",
|
/*101*/ "cannot write to file: \"%s\"\n",
|
||||||
/*102*/ "table overflow: \"%s\"\n",
|
/*102*/ "table overflow: \"%s\"\n",
|
||||||
/* table can be: loop table
|
/* table can be: loop table
|
||||||
* literal table
|
* literal table
|
||||||
* staging buffer
|
* staging buffer
|
||||||
* option table (response file)
|
* option table (response file)
|
||||||
* peephole optimizer table
|
* peephole optimizer table
|
||||||
*/
|
*/
|
||||||
/*103*/ "insufficient memory\n",
|
/*103*/ "insufficient memory\n",
|
||||||
/*104*/ "invalid assembler instruction \"%s\"\n",
|
/*104*/ "invalid assembler instruction \"%s\"\n",
|
||||||
/*105*/ "numeric overflow, exceeding capacity\n",
|
/*105*/ "numeric overflow, exceeding capacity\n",
|
||||||
/*106*/ "compiled script exceeds the maximum memory size (%ld bytes)\n",
|
/*106*/ "compiled script exceeds the maximum memory size (%ld bytes)\n",
|
||||||
/*107*/ "too many error messages on one line\n",
|
/*107*/ "too many error messages on one line\n",
|
||||||
/*108*/ "codepage mapping file not found\n",
|
/*108*/ "codepage mapping file not found\n",
|
||||||
/*109*/ "invalid path: \"%s\"\n",
|
/*109*/ "invalid path: \"%s\"\n",
|
||||||
/*110*/ "assertion failed: %s\n",
|
/*110*/ "assertion failed: %s\n",
|
||||||
/*111*/ "user error: %s\n",
|
/*111*/ "user error: %s\n",
|
||||||
#else
|
#else
|
||||||
"c\226\242\220a\206from \361le\347",
|
"c\226\242\220a\206from \361le\347",
|
||||||
"c\226\242writ\200\306 \361le\347",
|
"c\226\242writ\200\306 \361le\347",
|
||||||
"t\254\200ov\210f\344w\347",
|
"t\254\200ov\210f\344w\347",
|
||||||
"\203\375ff\332i\212\202mem\225y\012",
|
"\203\375ff\332i\212\202mem\225y\012",
|
||||||
"\266\351se\230l\264\203\231ruc\214\321",
|
"\266\351se\230l\264\203\231ruc\214\321",
|
||||||
"\374m\210\332 ov\210f\344w\316\271ce\274\357capacity\012",
|
"\374m\210\332 ov\210f\344w\316\271ce\274\357capacity\012",
|
||||||
"\343\364il\235scrip\202\271ce\274\207\270\200\305ximum mem\225\223\335\200(%l\206bytes\232",
|
"\343\364il\235scrip\202\271ce\274\207\270\200\305ximum mem\225\223\335\200(%l\206bytes\232",
|
||||||
"\306\371m\226\223\210r\255messag\310\331\201\200l\203\322",
|
"\306\371m\226\223\210r\255messag\310\331\201\200l\203\322",
|
||||||
"\343\233pag\200\305pp\357\361\352\242fo\217d\012",
|
"\343\233pag\200\305pp\357\361\352\242fo\217d\012",
|
||||||
"\266p\224h\347",
|
"\266p\224h\347",
|
||||||
"\351s\210\237fail\274: \213\012",
|
"\351s\210\237fail\274: \213\012",
|
||||||
"\251\264\210r\225: \213\012"
|
"\251\264\210r\225: \213\012"
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *warnmsg[] = {
|
static char *warnmsg[] = {
|
||||||
#ifdef SCPACK
|
#ifdef SCPACK
|
||||||
/*200*/ "symbol \"%s\" is truncated to %d characters\n",
|
/*200*/ "symbol \"%s\" is truncated to %d characters\n",
|
||||||
/*201*/ "redefinition of constant/macro (symbol \"%s\")\n",
|
/*201*/ "redefinition of constant/macro (symbol \"%s\")\n",
|
||||||
/*202*/ "number of arguments does not match definition\n",
|
/*202*/ "number of arguments does not match definition\n",
|
||||||
/*203*/ "symbol is never used: \"%s\"\n",
|
/*203*/ "symbol is never used: \"%s\"\n",
|
||||||
/*204*/ "symbol is assigned a value that is never used: \"%s\"\n",
|
/*204*/ "symbol is assigned a value that is never used: \"%s\"\n",
|
||||||
/*205*/ "redundant code: constant expression is zero\n",
|
/*205*/ "redundant code: constant expression is zero\n",
|
||||||
/*206*/ "redundant test: constant expression is non-zero\n",
|
/*206*/ "redundant test: constant expression is non-zero\n",
|
||||||
/*207*/ "unknown #pragma\n",
|
/*207*/ "unknown #pragma\n",
|
||||||
/*208*/ "function with tag result used before definition, forcing reparse\n",
|
/*208*/ "function with tag result used before definition, forcing reparse\n",
|
||||||
/*209*/ "function \"%s\" should return a value\n",
|
/*209*/ "function \"%s\" should return a value\n",
|
||||||
/*210*/ "possible use of symbol before initialization: \"%s\"\n",
|
/*210*/ "possible use of symbol before initialization: \"%s\"\n",
|
||||||
/*211*/ "possibly unintended assignment\n",
|
/*211*/ "possibly unintended assignment\n",
|
||||||
/*212*/ "possibly unintended bitwise operation\n",
|
/*212*/ "possibly unintended bitwise operation\n",
|
||||||
/*213*/ "tag mismatch\n",
|
/*213*/ "tag mismatch\n",
|
||||||
/*214*/ "possibly a \"const\" array argument was intended: \"%s\"\n",
|
/*214*/ "possibly a \"const\" array argument was intended: \"%s\"\n",
|
||||||
/*215*/ "expression has no effect\n",
|
/*215*/ "expression has no effect\n",
|
||||||
/*216*/ "nested comment\n",
|
/*216*/ "nested comment\n",
|
||||||
/*217*/ "loose indentation\n",
|
/*217*/ "loose indentation\n",
|
||||||
/*218*/ "old style prototypes used with optional semicolumns\n",
|
/*218*/ "old style prototypes used with optional semicolumns\n",
|
||||||
/*219*/ "local variable \"%s\" shadows a variable at a preceding level\n",
|
/*219*/ "local variable \"%s\" shadows a variable at a preceding level\n",
|
||||||
/*220*/ "expression with tag override must appear between parentheses\n",
|
/*220*/ "expression with tag override must appear between parentheses\n",
|
||||||
/*221*/ "label name \"%s\" shadows tag name\n",
|
/*221*/ "label name \"%s\" shadows tag name\n",
|
||||||
/*222*/ "number of digits exceeds rational number precision\n",
|
/*222*/ "number of digits exceeds rational number precision\n",
|
||||||
/*223*/ "redundant \"sizeof\": argument size is always 1 (symbol \"%s\")\n",
|
/*223*/ "redundant \"sizeof\": argument size is always 1 (symbol \"%s\")\n",
|
||||||
/*224*/ "indeterminate array size in \"sizeof\" expression (symbol \"%s\")\n",
|
/*224*/ "indeterminate array size in \"sizeof\" expression (symbol \"%s\")\n",
|
||||||
/*225*/ "unreachable code\n",
|
/*225*/ "unreachable code\n",
|
||||||
/*226*/ "a variable is assigned to itself (symbol \"%s\")\n",
|
/*226*/ "a variable is assigned to itself (symbol \"%s\")\n",
|
||||||
/*227*/ "more initiallers than enum fields\n",
|
/*227*/ "more initiallers than enum fields\n",
|
||||||
/*228*/ "length of initialler exceeds size of the enum field\n",
|
/*228*/ "length of initialler exceeds size of the enum field\n",
|
||||||
/*229*/ "index tag mismatch (symbol \"%s\")\n",
|
/*229*/ "index tag mismatch (symbol \"%s\")\n",
|
||||||
/*230*/ "no implementation for state \"%s\" in function \"%s\", no fall-back\n",
|
/*230*/ "no implementation for state \"%s\" in function \"%s\", no fall-back\n",
|
||||||
/*231*/ "state specification on forward declaration is ignored\n",
|
/*231*/ "state specification on forward declaration is ignored\n",
|
||||||
/*232*/ "output file is written, but with compact encoding disabled\n",
|
/*232*/ "output file is written, but with compact encoding disabled\n",
|
||||||
/*233*/ "state variable \"%s\" shadows a global variable\n",
|
/*233*/ "state variable \"%s\" shadows a global variable\n",
|
||||||
/*234*/ "function is deprecated (symbol \"%s\") %s\n",
|
/*234*/ "function is deprecated (symbol \"%s\") %s\n",
|
||||||
/*235*/ "public function lacks forward declaration (symbol \"%s\")\n",
|
/*235*/ "public function lacks forward declaration (symbol \"%s\")\n",
|
||||||
/*236*/ "unknown parameter in substitution (incorrect #define pattern)\n"
|
/*236*/ "unknown parameter in substitution (incorrect #define pattern)\n"
|
||||||
#else
|
#else
|
||||||
"\277 \272tr\244\224\235\306 %\206\275\333c\365\314",
|
"\277 \272tr\244\224\235\306 %\206\275\333c\365\314",
|
||||||
"\220\326i\237\304\354t/\305cr\371\323",
|
"\220\326i\237\304\354t/\305cr\371\323",
|
||||||
"\374\230\264\304\265t\207do\310\242\345\275 \326i\214\012",
|
"\374\230\264\304\265t\207do\310\242\345\275 \326i\214\012",
|
||||||
"\250 \272nev\264\251\274\347",
|
"\250 \272nev\264\251\274\347",
|
||||||
"\250 \272a\253gn\235\252\243u\200\270a\202\272nev\264\251\274\347",
|
"\250 \272a\253gn\235\252\243u\200\270a\202\272nev\264\251\274\347",
|
||||||
"\220d\217d\226\202\343\233: \354\202\363\331\272z\210o\012",
|
"\220d\217d\226\202\343\233: \354\202\363\331\272z\210o\012",
|
||||||
"\220d\217d\226\202te\231: \354\202\363\331\272n\201-z\210o\012",
|
"\220d\217d\226\202te\231: \354\202\363\331\272n\201-z\210o\012",
|
||||||
"\217k\221w\336#p\241g\305\012",
|
"\217k\221w\336#p\241g\305\012",
|
||||||
"\273\362\270 \373\220s\342\202\251\235be\370\200\326i\214\316\370c\357\220p\204s\322",
|
"\273\362\270 \373\220s\342\202\251\235be\370\200\326i\214\316\370c\357\220p\204s\322",
|
||||||
"\366\227 sho\342\206\220tur\336\252\243u\322",
|
"\366\227 sho\342\206\220tur\336\252\243u\322",
|
||||||
"po\253\236\200\251\200\304\250 be\370\200\203i\205\211iza\214\347",
|
"po\253\236\200\251\200\304\250 be\370\200\203i\205\211iza\214\347",
|
||||||
"po\253\236\223\217\203t\212\233\206a\253gn\234t\012",
|
"po\253\236\223\217\203t\212\233\206a\253gn\234t\012",
|
||||||
"po\253\236\223\217\203t\212\233\206bit\362s\200\353a\214\012",
|
"po\253\236\223\217\203t\212\233\206bit\362s\200\353a\214\012",
|
||||||
"\373mis\345\275\012",
|
"\373mis\345\275\012",
|
||||||
"po\253\236\223\252\042\346\330\303\312wa\207\203t\212\233d\347",
|
"po\253\236\223\252\042\346\330\303\312wa\207\203t\212\233d\347",
|
||||||
"\363\331\340\207\221 effect\012",
|
"\363\331\340\207\221 effect\012",
|
||||||
"ne\231\235\343m\234t\012",
|
"ne\231\235\343m\234t\012",
|
||||||
"\344os\200\203d\212\325\214\012",
|
"\344os\200\203d\212\325\214\012",
|
||||||
"\240\206\231y\352pro\306typ\310\251\235\362\270 \350\214\337sem\332\240umn\314",
|
"\240\206\231y\352pro\306typ\310\251\235\362\270 \350\214\337sem\332\240umn\314",
|
||||||
"\344c\337\327\216 s\340dow\207\252\327a\202\252\311c\274\357lev\341\012",
|
"\344c\337\327\216 s\340dow\207\252\327a\202\252\311c\274\357lev\341\012",
|
||||||
"\363\331\362\270 \373ov\210rid\200\324appe\204 betwe\212 p\204\212\270ese\314",
|
"\363\331\362\270 \373ov\210rid\200\324appe\204 betwe\212 p\204\212\270ese\314",
|
||||||
"lab\341 nam\200\216 s\340dow\207\373nam\322",
|
"lab\341 nam\200\216 s\340dow\207\373nam\322",
|
||||||
"\374\230\264\304\334git\207\271ce\274\207\241\214\337\374\230\264\311ci\222\201\012",
|
"\374\230\264\304\334git\207\271ce\274\207\241\214\337\374\230\264\311ci\222\201\012",
|
||||||
"\220d\217d\226\202\042\335e\267\042: \312\335\200\272\211way\2071 \323",
|
"\220d\217d\226\202\042\335e\267\042: \312\335\200\272\211way\2071 \323",
|
||||||
"\203\233\365m\203\224\200\303\335\200\372\042\335e\267\330\363\331\323",
|
"\203\233\365m\203\224\200\303\335\200\372\042\335e\267\330\363\331\323",
|
||||||
"\217\220a\275\254\200\343\233\012",
|
"\217\220a\275\254\200\343\233\012",
|
||||||
"\252\327\272a\253gn\235\306 its\341f \323",
|
"\252\327\272a\253gn\235\306 its\341f \323",
|
||||||
"m\225\200\203i\205\211l\210\207\270\355\212um \361\341d\314",
|
"m\225\200\203i\205\211l\210\207\270\355\212um \361\341d\314",
|
||||||
"l\212g\270 \304\203i\205\211l\264\271ce\274\207\335\200\304\270\200\212um \361\341d\012",
|
"l\212g\270 \304\203i\205\211l\264\271ce\274\207\335\200\304\270\200\212um \361\341d\012",
|
||||||
"\203\233x \373mis\345\275 \323",
|
"\203\233x \373mis\345\275 \323",
|
||||||
"\221 i\364le\234\325\237f\255\315\200\216 \372\366\227\316\221 f\211l-back\012",
|
"\221 i\364le\234\325\237f\255\315\200\216 \372\366\227\316\221 f\211l-back\012",
|
||||||
"\315\200specif\332a\237\331\370w\204\206\233cl\333\237\272ig\221\220d\012",
|
"\315\200specif\332a\237\331\370w\204\206\233cl\333\237\272ig\221\220d\012",
|
||||||
"outpu\202\361\352\272writt\212\316bu\202\362\270 \343\364ac\202\212\343d\357\334s\254\274\012",
|
"outpu\202\361\352\272writt\212\316bu\202\362\270 \343\364ac\202\212\343d\357\334s\254\274\012",
|
||||||
"\315\200\327\216 s\340dow\207\252g\344b\337\301\322",
|
"\315\200\327\216 s\340dow\207\252g\344b\337\301\322",
|
||||||
"\273\272\233\311c\224\235\317) \213\012",
|
"\273\272\233\311c\224\235\317) \213\012",
|
||||||
"pu\236\332 \273lack\207\370w\204\206\233cl\333\237\323",
|
"pu\236\332 \273lack\207\370w\204\206\233cl\333\237\323",
|
||||||
"\217k\221w\336p\333met\264\372\375bs\205tu\237(\203c\225\220c\202#\326\200p\224\365n\232"
|
"\217k\221w\336p\333met\264\372\375bs\205tu\237(\203c\225\220c\202#\326\200p\224\365n\232"
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user