From 7d9376a64b87f98eaa274b985aab8b45e4f3148f Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 8 Feb 2013 00:38:35 -0800 Subject: [PATCH] Remove SCASM, which was pointless and buggy bloat. --- compiler/scasm/Makefile | 14 - compiler/scasm/Makefile.pl | 176 -- compiler/scasm/adminslots.asm | 240 --- compiler/scasm/amx.h | 432 ---- compiler/scasm/amx_compiler.cpp | 2392 ---------------------- compiler/scasm/amx_compiler.h | 110 - compiler/scasm/amx_data.cpp | 196 -- compiler/scasm/amx_data.h | 63 - compiler/scasm/amx_define.cpp | 90 - compiler/scasm/amx_define.h | 49 - compiler/scasm/amx_error.cpp | 198 -- compiler/scasm/amx_error.h | 109 - compiler/scasm/amx_label.cpp | 182 -- compiler/scasm/amx_label.h | 57 - compiler/scasm/amx_macro.cpp | 173 -- compiler/scasm/amx_macro.h | 58 - compiler/scasm/amx_nametable.h | 41 - compiler/scasm/amx_natives.cpp | 94 - compiler/scasm/amx_natives.h | 49 - compiler/scasm/amx_parser.cpp | 209 -- compiler/scasm/amx_parser.h | 36 - compiler/scasm/amx_proc.cpp | 159 -- compiler/scasm/amx_proc.h | 56 - compiler/scasm/amx_symbol.cpp | 140 -- compiler/scasm/amx_symbol.h | 65 - compiler/scasm/amxasm.cpp | 143 -- compiler/scasm/amxasm.h | 225 -- compiler/scasm/assembler.sln | 20 - compiler/scasm/assembler.vcxproj | 123 -- compiler/scasm/assembler.vcxproj.filters | 95 - compiler/scasm/cexpr.cpp | 545 ----- compiler/scasm/cexpr.h | 96 - compiler/scasm/plugin.asm | 80 - compiler/scasm/sasm | Bin 293840 -> 0 bytes compiler/scasm/sasm.exe | Bin 188416 -> 0 bytes installer/builder/CoreMod.cs | 3 - plugins/sasm | Bin 293840 -> 0 bytes plugins/sasm.exe | Bin 188416 -> 0 bytes 38 files changed, 6718 deletions(-) delete mode 100755 compiler/scasm/Makefile delete mode 100755 compiler/scasm/Makefile.pl delete mode 100755 compiler/scasm/adminslots.asm delete mode 100755 compiler/scasm/amx.h delete mode 100755 compiler/scasm/amx_compiler.cpp delete mode 100755 compiler/scasm/amx_compiler.h delete mode 100755 compiler/scasm/amx_data.cpp delete mode 100755 compiler/scasm/amx_data.h delete mode 100755 compiler/scasm/amx_define.cpp delete mode 100755 compiler/scasm/amx_define.h delete mode 100755 compiler/scasm/amx_error.cpp delete mode 100755 compiler/scasm/amx_error.h delete mode 100755 compiler/scasm/amx_label.cpp delete mode 100755 compiler/scasm/amx_label.h delete mode 100755 compiler/scasm/amx_macro.cpp delete mode 100755 compiler/scasm/amx_macro.h delete mode 100755 compiler/scasm/amx_nametable.h delete mode 100755 compiler/scasm/amx_natives.cpp delete mode 100755 compiler/scasm/amx_natives.h delete mode 100755 compiler/scasm/amx_parser.cpp delete mode 100755 compiler/scasm/amx_parser.h delete mode 100755 compiler/scasm/amx_proc.cpp delete mode 100755 compiler/scasm/amx_proc.h delete mode 100755 compiler/scasm/amx_symbol.cpp delete mode 100755 compiler/scasm/amx_symbol.h delete mode 100755 compiler/scasm/amxasm.cpp delete mode 100755 compiler/scasm/amxasm.h delete mode 100644 compiler/scasm/assembler.sln delete mode 100644 compiler/scasm/assembler.vcxproj delete mode 100644 compiler/scasm/assembler.vcxproj.filters delete mode 100755 compiler/scasm/cexpr.cpp delete mode 100755 compiler/scasm/cexpr.h delete mode 100755 compiler/scasm/plugin.asm delete mode 100755 compiler/scasm/sasm delete mode 100755 compiler/scasm/sasm.exe delete mode 100755 plugins/sasm delete mode 100755 plugins/sasm.exe diff --git a/compiler/scasm/Makefile b/compiler/scasm/Makefile deleted file mode 100755 index 919d6b70..00000000 --- a/compiler/scasm/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -CPPFILES = amxasm.cpp cexpr.cpp amx_symbol.cpp amx_proc.cpp \ -amx_parser.cpp amx_natives.cpp amx_macro.cpp amx_label.cpp \ -amx_error.cpp amx_define.cpp amx_data.cpp amx_compiler.cpp - -FLAGS = -march=i386 -m32 - -all: sasm - -sasm: - g++ $(FLAGS) -DHAVE_STDINT_H -Wall $(CPPFILES) -o sasm -s - -clean: - -rm *.o - -rm sasm diff --git a/compiler/scasm/Makefile.pl b/compiler/scasm/Makefile.pl deleted file mode 100755 index d732ecb4..00000000 --- a/compiler/scasm/Makefile.pl +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/perl -#(C)2004 AMX Mod X Development Team -# by David "BAILOPAN" Anderson - -# output will occur in bin.x.proc -# where x is debug or opt and proc is ix86 or amd64 -# You must use this script from the project src dir - -#options = -# debug - enable gdb debugging -# amd64 - compile for AMD64 -# proc=ix86 - assumed not amd64 -# clean - clean the specifications above - -$PROJECT = "sasm"; -$gccf = "gcc"; - -@CPP_SOURCE_FILES = ("amx_compiler.cpp", "amx_data.cpp", "amx_define.cpp", "amx_error.cpp", "amx_label.cpp", "amx_macro.cpp", "amx_natives.cpp", "amx_proc.cpp", "amx_parser.cpp", "amx_symbol.cpp", "amxasm.cpp", "cexpr.cpp"); - -@C_SOURCE_FILES = (); -my %OPTIONS, %OPT; - -$OPT{"debug"} = "-g -ggdb"; -$OPT{"opt"} = "-O2 -ffast-math -funroll-loops -fomit-frame-pointer -s -DHAVE_STDINT_H -DNDEBUG -Wall -Wno-unknown-pragmas -DOPT_TYPE=\"optimized\""; - -$OPTIONS{"include"} = ""; - -while ($cmd = shift) -{ - if ($cmd =~ /amd64/) { - $OPTIONS{"amd64"} = 1; - } elsif ($cmd =~ /debug/) { - $OPTIONS{"debug"} = 1; - } elsif ($cmd =~ /proc=i(\d)86/) { - $proc = $1; - if ($OPTIONS{"amd64"}) - { - die "You cannot compile for i".$proc."86 and AMD64.\n"; - } else { - $OPTIONS{"proc"} = "i".$proc."86"; - } - } elsif ($cmd =~ /clean/) { - $OPTIONS{"clean"} = 1; - } -} - -$gcc = `$gccf --version`; -if ($gcc =~ /2\.9/) -{ - $OPT{"opt"} .= " -malign-loops=2 -malign-jumps=2 -malign-functions=2"; -} else { - $OPT{"opt"} .= " -falign-loops=2 -falign-jumps=2 -falign-functions=2"; -} - -if ($OPTIONS{"debug"}) -{ - $cflags = $OPT{"debug"}; -} else { - if (!$OPTIONS{"amd64"}) - { - $proc = $OPTIONS{"proc"}; - if (!$proc) - { - $proc = 3; - } - $cflags = "-march=i".$proc."86 -m32 ".$OPT{"opt"}; - } else { - $cflags = $OPT{"opt"}; - } -} - -if ($OPTIONS{"amd64"}) -{ - $cflags .= " -m64 -DHAVE_I64 -DSMALL_CELL_SIZE=64 $cflags"; -} - -if ($OPTIONS{"debug"}) -{ - $outdir = "bin.debug"; -} else { - $outdir = "bin.opt"; -} - -if ($OPTIONS{"amd64"}) -{ - $outdir .= ".amd64"; - $bin = $PROJECT."_amd64.so"; -} else { - $proc = $OPTIONS{"proc"}; - if ($proc) - { - $outdir .= ".i".$proc."86"; - $bin = $PROJECT."_i".$proc."86.so"; - } else { - $outdir .= ".i386"; - $bin = $PROJECT."_i386.so"; - } -} - -unlink("$outdir/$bin"); -if ($OPTIONS{"clean"}) -{ - `rm $outdir/*.o`; - die("Project cleaned.\n"); -} - -#create the dirs -#build link list -my @LINK; -for ($i=0; $i<=$#CPP_SOURCE_FILES; $i++) -{ - $file = $CPP_SOURCE_FILES[$i]; - $file =~ s/\.cpp/\.o/; - push(@LINK, $outdir."/".$file); -} -for ($i=0; $i<=$#C_SOURCE_FILES; $i++) -{ - $file = $C_SOURCE_FILES[$i]; - $file =~ s/\.c/\.o/; - push(@LINK, $outdir."/".$file); -} - -if (!(-d $outdir)) -{ - mkdir($outdir); -} - -$inc = $OPTIONS{"include"}; - -for ($i=0; $i<=$#CPP_SOURCE_FILES; $i++) -{ - $file = $CPP_SOURCE_FILES[$i]; - $ofile = $file; - $ofile =~ s/\.cpp/\.o/; - $ofile = "$outdir/$ofile"; - $gcc = "$gccf $cflags -Dstrcmpi=strcasecmp $inc -c $file -o $ofile"; - if (-e $ofile) - { - $file_time = (stat($file))[9]; - $ofile_time = (stat($ofile))[9]; - if ($file_time > $ofile_time) - { - print "$gcc\n"; - `$gcc`; - } - } else { - print "$gcc\n"; - `$gcc`; - } -} - -for ($i=0; $i<=$#CPP_SOURCE_FILES; $i++) -{ - $file = $C_SOURCE_FILES[$i]; - $ofile = $file; - $ofile =~ s/\.c/\.o/; - $ofile = "$outdir/$ofile"; - $gcc = "cc $cflags -Dstrcmpi=strcasecmp $inc -c $file -o $ofile"; - if (-e $ofile) - { - $file_time = (stat($file))[9]; - $ofile_time = (stat($file))[9]; - if ($file_time > $ofile_time) - { - print "$gcc\n"; - `$gcc`; - } - } else { - print "$gcc\n"; - `$gcc`; - } -} - -$gcc = "$gccf $cflags -shared -lstdc++ -ldl -lm @LINK -o $outdir/$bin"; -print "$gcc\n"; -`$gcc`; diff --git a/compiler/scasm/adminslots.asm b/compiler/scasm/adminslots.asm deleted file mode 100755 index 2966301c..00000000 --- a/compiler/scasm/adminslots.asm +++ /dev/null @@ -1,240 +0,0 @@ -;(C)2004 David "BAILOPAN" Anderson -; Assembler version of Anti-Flood -#define VERSION "0.20-A" -#define PLUGIN_HANDLED -#macro ARGN(argc) (12+(argc*CELL)) - -.CODE - halt 0 ;Return point for end - -.NATIVE - register_plugin - register_cvar - random_num - register_clcmd - server_cmd - get_maxplayers - get_playersnum - get_cvar_num - set_cvar_num - get_user_flags - client_cmd - get_user_userid - -.DATA - Plugin db "Slots Reservation" - Version db VERSION - Author db "AMXX Dev Team" - Cvar db "amx_reservation" - CvarVal db "1" - Callback db "ackSignal" - loopBack db "amxres0000" - -.CODE -PROC plugin_init - push.c Author ;push author - push.c Version ;push version - push.c Plugin ;push name - push.c CELL*3 ;push 3 args - sysreq.c register_plugin ;call register_plugin - stack CELL*4 ;clean-up - - push.c CvarVal ;push Cvar initial value - push.c Cvar ;push Cvar - push.c CELL*2 ;push 2 args - sysreq.c register_cvar ;call register_cvar - stack CELL*3 ;clean-up - - push.c 90 ;push max range - push.c 65 ;push min range - push.c CELL*2 ;push 2 args - sysreq.c random_num ;call random_num - stack CELL*3 ;clean-up - stor.pri loopBack+CELL*6 ;store pri in loopBack[6] - - push.c 90 ;push max range - push.c 65 ;push min range - push.c CELL*2 ;push 2 args - sysreq.c random_num ;call random_num - stack CELL*3 ;clean-up - stor.pri loopBack+CELL*7 ;store pri in loopBack[7] - - push.c 90 ;push max range - push.c 65 ;push min range - push.c CELL*2 ;push 2 args - sysreq.c random_num ;call random_num - stack CELL*3 ;clean-up - stor.pri loopBack+CELL*8 ;store pri in loopBack[8] - - push.c 90 ;push max range - push.c 65 ;push min range - push.c CELL*2 ;push 2 args - sysreq.c random_num ;call random_num - stack CELL*3 ;clean-up - stor.pri loopBack+CELL*9 ;store pri in loopBack[9] - - push.c Callback ;push callback - push.c loopBack ;push loopback - push.c CELL*2 - sysreq.c register_clcmd ;call register_clcmd - stack CELL*3 ;clean-up - - zero.pri ;return 0 - retn ;final cleanup -ENDP - -.DATA - KickMsg db "kick #%d \"Dropped due to slot reservation\"" - -.CODE -PROC ackSignal - push.s ARGN(0) ;push the first argument - push.c CELL*1 ;push one argument - sysreq.c get_user_userid ;call get_user_userid - stack CELL*2 ;clean-up - - push.pri ;push the result of the last call - push.c KickMsg ;push the kick message - push.c CELL*2 ;push 2 args - sysreq.c server_cmd ;call server_cmd - stack CELL*3 ;clean-up - - zero.pri ;return 0 - retn ;final cleanup -ENDP - -.DATA - VisCvar db "sv_visiblemaxplayers" - -.CODE -;players, maxplayrs, limit -PROC setVisibleSlots - stack -CELL ;new variable - - load.s.pri ARGN(0) ;get first parameter into [PRI] - add.c 1 ;[PRI] += 1 - stor.s.pri -CELL ;[var] = [PRI] - - load.s.pri ARGN(0) ;Reset [PRI] to first param - load.s.alt ARGN(1) ;get second parameter into [ALT] - jeq setMax ;does players == maxplayers? - jump setLimitCheck ; -- no, jump to next check -setMax: ; -- yes - stor.s.alt -CELL ; store the maxplayers into [var] - jump endSetIf ; we're done, jump to the end -setLimitCheck: - load.s.alt ARGN(2) ;load the third param into [ALT] - jless setLimit ;is playres < limit? - jump endSetIf ; -- no, jump to end -setLimit: ; -- yes - stor.s.alt -CELL ;store limit into [var] -endSetIf: - - push.s -CELL ;push [var] onto stack - push.c VisCvar ;push cvar onto stack - push.c CELL*2 ;push 2 args - sysreq.c set_cvar_num ;call set_cvar_num - stack CELL*3 ;clean-up - - stack CELL ;restore stack - zero.pri ;return 0 - retn ;final cleanup -ENDP - -PROC client_authorized - push.c 0 ;push 0 args - sysreq.c get_maxplayers ;call get_maxplayers - stack CELL ;clean-up - push.pri ;store the result - maxplayers - - push.c 1 ;push 1 - push.c CELL ;push 1 args - sysreq.c get_playersnum ;call get_playersnum - stack CELL*2 ;clean-up - push.pri ;store the result - players - - push.c Cvar ;push cvar - push.c CELL ;push 1 arg - sysreq.c get_cvar_num ;call get_cvar_num - stack CELL*2 ;clean-up - xchg ;last result is now in alt - - load.s.pri -CELL ;load the first result into pri - sub ;pri = maxplayers - cvar - push.pri ;store the result - limit - - push.s ARGN(0) ;push the id - push.c CELL ;push 1 arg - sysreq.c get_user_flags ;call get_user_flags - stack CELL*2 ;clean-up - const.alt 2 ;2 = ADMIN_RESERVATION - and ;flags & 2 - - jeq setVis ;if (flags & 2) == 2, short circuit - ;otherwise check this condition - load.s.pri -CELL*2 ;load players into pri - load.s.alt -CELL*3 ;load limit into alt - jleq setVis ;if players <= limit, jump - jump setVisSkip ;otherwise skip -setVis: - push.s -CELL*3 ;push limit - push.s -CELL ;push maxplayers - push.s -CELL*2 ;push players - push.c CELL*3 ;push 3 args - call setVisibleSlots ;call setVisibleSlots - stack CELL*3 ;restore stack - zero.pri ;return 0 - retn ;finalize -setVisSkip: - - push.c loopBack ;push loopback cmd - push.s ARGN(0) ;push the id passed - push.c CELL*2 ;push 2 args - sysreq.c client_cmd ;call client_cmd - stack CELL*3 ;clean-up - - stack CELL*3 ;restore stack - const.pri PLUGIN_HANDLED ;return - retn ;finalize -ENDP - -PROC client_disconnect - push.c 0 ;push 0 args - sysreq.c get_maxplayers ;call get_maxplayers - stack CELL ;clean-up - push.pri ;store the result - maxplayers - - push.c 1 ;push 1 - push.c CELL ;push 1 args - sysreq.c get_playersnum ;call get_playersnum - stack CELL*2 ;clean-up - push.pri ;store the result - players - dec.s -CELL*2 ;players-- - - push.c Cvar ;push cvar - push.c CELL ;push 1 arg - sysreq.c get_cvar_num ;call get_cvar_num - stack CELL*2 ;clean-up - xchg ;last result is now in alt - load.s.pri -CELL ;[pri] = maxplayers - sub ;[pri] = maxplayers - cvar - push.pri ;store the result - limit - - push.s -CELL*3 ;push limit - push.s -CELL ;push maxplayers - push.s -CELL*2 ;push playersnum-1 - push.c CELL*3 ;push 3 args - call setVisibleSlots ;call - - stack 3*CELL ;clean up 3 vars - - zero.pri ;return 0 - retn ;finalize -ENDP - - -.PUBLIC - ackSignal - plugin_init - client_authorized - client_disconnect \ No newline at end of file diff --git a/compiler/scasm/amx.h b/compiler/scasm/amx.h deleted file mode 100755 index f237b537..00000000 --- a/compiler/scasm/amx.h +++ /dev/null @@ -1,432 +0,0 @@ -/* Pawn Abstract Machine (for the Pawn language) - * - * Copyright (c) ITB CompuPhase, 1997-2005 - * - * 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 - * the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 - * a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx.h 3736 2008-08-16 20:13:12Z damagedsoul $ - */ - -#if defined FREEBSD && !defined __FreeBSD__ - #define __FreeBSD__ -#endif -#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ - #include -#endif - -#ifndef AMX_H_INCLUDED -#define AMX_H_INCLUDED - -#if defined HAVE_STDINT_H - #include -#else - #if defined __LCC__ || defined __DMC__ || defined LINUX - #if defined HAVE_INTTYPES_H - #include - #else - #include - #endif - #elif !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L - /* The ISO C99 defines the int16_t and int_32t types. If the compiler got - * here, these types are probably undefined. - */ - #if defined __MACH__ - #include - typedef unsigned short int uint16_t; - typedef unsigned long int uint32_t; - #elif defined __FreeBSD__ - #include - #else - typedef short int int16_t; - typedef unsigned short int uint16_t; - #if defined SN_TARGET_PS2 - typedef int int32_t; - typedef unsigned int uint32_t; - #else - typedef long int int32_t; - typedef unsigned long int uint32_t; - #endif - #if defined __WIN32__ || defined _WIN32 || defined WIN32 - typedef __int64 int64_t; - typedef unsigned __int64 uint64_t; - #define HAVE_I64 - #elif defined __GNUC__ - typedef long long int64_t; - typedef unsigned long long uint64_t; - #define HAVE_I64 - #endif - #endif - #endif - #define HAVE_STDINT_H -#endif -#if defined _LP64 || defined WIN64 || defined _WIN64 - #if !defined __64BIT__ - #define __64BIT__ - #endif -#endif - -#if HAVE_ALLOCA_H - #include -#endif -#if defined __WIN32__ || defined _WIN32 || defined WIN32 /* || defined __MSDOS__ */ - #if !defined alloca - #define alloca(n) _alloca(n) - #endif -#endif - -#if !defined arraysize - #define arraysize(array) (sizeof(array) / sizeof((array)[0])) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined PAWN_DLL - #if !defined AMX_NATIVE_CALL - #define AMX_NATIVE_CALL __stdcall - #endif - #if !defined AMXAPI - #define AMXAPI __stdcall - #endif -#endif - -/* calling convention for native functions */ -#if !defined AMX_NATIVE_CALL - #define AMX_NATIVE_CALL -#endif -/* calling convention for all interface functions and callback functions */ -#if !defined AMXAPI - #if defined STDECL - #define AMXAPI __stdcall - #elif defined CDECL - #define AMXAPI __cdecl - #elif defined GCC_HASCLASSVISIBILITY - #define AMXAPI __attribute__ ((visibility("default"))) - #else - #define AMXAPI - #endif -#endif -#if !defined AMXEXPORT - #define AMXEXPORT -#endif - -/* File format version Required AMX version - * 0 (original version) 0 - * 1 (opcodes JUMP.pri, SWITCH and CASETBL) 1 - * 2 (compressed files) 2 - * 3 (public variables) 2 - * 4 (opcodes SWAP.pri/alt and PUSHADDR) 4 - * 5 (tagnames table) 4 - * 6 (reformatted header) 6 - * 7 (name table, opcodes SYMTAG & SYSREQ.D) 7 - * 8 (opcode STMT, renewed debug interface) 8 - */ -#define CUR_FILE_VERSION 8 /* current file version; also the current AMX version */ -#define MIN_FILE_VERSION 6 /* lowest supported file format version for the current AMX version */ -#define MIN_AMX_VERSION 8 /* minimum AMX version needed to support the current file format */ - -#if !defined PAWN_CELL_SIZE - #define PAWN_CELL_SIZE 32 /* by default, use 32-bit cells */ -#endif -#if PAWN_CELL_SIZE==16 - typedef uint16_t ucell; - typedef int16_t cell; -#elif PAWN_CELL_SIZE==32 - typedef uint32_t ucell; - typedef int32_t cell; -#elif PAWN_CELL_SIZE==64 - typedef uint64_t ucell; - typedef int64_t cell; -#else - #error Unsupported cell size (PAWN_CELL_SIZE) -#endif - -#define UNPACKEDMAX ((1L << (sizeof(cell)-1)*8) - 1) -#define UNLIMITED (~1u >> 1) - -struct tagAMX; -typedef cell (AMX_NATIVE_CALL *AMX_NATIVE)(struct tagAMX *amx, cell *params); -typedef int (AMXAPI *AMX_CALLBACK)(struct tagAMX *amx, cell index, - cell *result, cell *params); -typedef int (AMXAPI *AMX_DEBUG)(struct tagAMX *amx); -#if !defined _FAR - #define _FAR -#endif - -#if defined _MSC_VER - #pragma warning(disable:4103) /* disable warning message 4103 that complains - * about pragma pack in a header file */ - #pragma warning(disable:4100) /* "'%$S' : unreferenced formal parameter" */ -#endif - -/* Some compilers do not support the #pragma align, which should be fine. Some - * compilers give a warning on unknown #pragmas, which is not so fine... - */ -#if (defined SN_TARGET_PS2 || defined __GNUC__) && !defined AMX_NO_ALIGN - #define AMX_NO_ALIGN -#endif - -#if defined __GNUC__ - #define PACKED __attribute__((packed)) -#else - #define PACKED -#endif - -#if !defined AMX_NO_ALIGN - #if defined LINUX || defined __FreeBSD__ - #pragma pack(1) /* structures must be packed (byte-aligned) */ - #elif defined MACOS && defined __MWERKS__ - #pragma options align=mac68k - #else - #pragma pack(push) - #pragma pack(1) /* structures must be packed (byte-aligned) */ - #if defined __TURBOC__ - #pragma option -a- /* "pack" pragma for older Borland compilers */ - #endif - #endif -#endif - -typedef struct tagAMX_NATIVE_INFO { - const char _FAR *name PACKED; - AMX_NATIVE func PACKED; -} PACKED AMX_NATIVE_INFO; - -#define AMX_USERNUM 4 -#define sEXPMAX 19 /* maximum name length for file version <= 6 */ -#define sNAMEMAX 31 /* maximum name length of symbol name */ - -typedef struct tagAMX_FUNCSTUB { - ucell address PACKED; - char name[sEXPMAX+1]; -} PACKED AMX_FUNCSTUB; - -typedef struct tagFUNCSTUBNT { - ucell address PACKED; - ucell nameofs PACKED; //we need this for amxx to be backwards comaptible -} PACKED AMX_FUNCSTUBNT; - -/* The AMX structure is the internal structure for many functions. Not all - * fields are valid at all times; many fields are cached in local variables. - */ -typedef struct tagAMX { - unsigned char _FAR *base PACKED; /* points to the AMX header plus the code, optionally also the data */ - unsigned char _FAR *data PACKED; /* points to separate data+stack+heap, may be NULL */ - AMX_CALLBACK callback PACKED; - AMX_DEBUG debug PACKED; /* debug callback */ - /* for external functions a few registers must be accessible from the outside */ - cell cip PACKED; /* instruction pointer: relative to base + amxhdr->cod */ - cell frm PACKED; /* stack frame base: relative to base + amxhdr->dat */ - cell hea PACKED; /* top of the heap: relative to base + amxhdr->dat */ - cell hlw PACKED; /* bottom of the heap: relative to base + amxhdr->dat */ - cell stk PACKED; /* stack pointer: relative to base + amxhdr->dat */ - cell stp PACKED; /* top of the stack: relative to base + amxhdr->dat */ - int flags PACKED; /* current status, see amx_Flags() */ - /* user data */ - long usertags[AMX_USERNUM] PACKED; - void _FAR *userdata[AMX_USERNUM] PACKED; - /* native functions can raise an error */ - int error PACKED; - /* passing parameters requires a "count" field */ - int paramcount; - /* the sleep opcode needs to store the full AMX status */ - cell pri PACKED; - cell alt PACKED; - cell reset_stk PACKED; - cell reset_hea PACKED; - cell sysreq_d PACKED; /* relocated address/value for the SYSREQ.D opcode */ - /* support variables for the JIT */ - int reloc_size PACKED; /* required temporary buffer for relocations */ - long code_size PACKED; /* estimated memory footprint of the native code */ -} PACKED AMX; - -/* The AMX_HEADER structure is both the memory format as the file format. The - * structure is used internaly. - */ -typedef struct tagAMX_HEADER { - int32_t size PACKED; /* size of the "file" */ - uint16_t magic PACKED; /* signature */ - char file_version; /* file format version */ - char amx_version; /* required version of the AMX */ - int16_t flags PACKED; - int16_t defsize PACKED; /* size of a definition record */ - int32_t cod PACKED; /* initial value of COD - code block */ - int32_t dat PACKED; /* initial value of DAT - data block */ - int32_t hea PACKED; /* initial value of HEA - start of the heap */ - int32_t stp PACKED; /* initial value of STP - stack top */ - int32_t cip PACKED; /* initial value of CIP - the instruction pointer */ - int32_t publics PACKED; /* offset to the "public functions" table */ - int32_t natives PACKED; /* offset to the "native functions" table */ - int32_t libraries PACKED; /* offset to the table of libraries */ - int32_t pubvars PACKED; /* the "public variables" table */ - int32_t tags PACKED; /* the "public tagnames" table */ - int32_t nametable PACKED; /* name table */ -} PACKED AMX_HEADER; - -//This is always the same for us -#define AMX_MAGIC 0xf1e0 - -enum { - AMX_ERR_NONE, - /* reserve the first 15 error codes for exit codes of the abstract machine */ - AMX_ERR_EXIT, /* forced exit */ - AMX_ERR_ASSERT, /* assertion failed */ - AMX_ERR_STACKERR, /* stack/heap collision */ - AMX_ERR_BOUNDS, /* index out of bounds */ - AMX_ERR_MEMACCESS, /* invalid memory access */ - AMX_ERR_INVINSTR, /* invalid instruction */ - AMX_ERR_STACKLOW, /* stack underflow */ - AMX_ERR_HEAPLOW, /* heap underflow */ - AMX_ERR_CALLBACK, /* no callback, or invalid callback */ - AMX_ERR_NATIVE, /* native function failed */ - AMX_ERR_DIVIDE, /* divide by zero */ - AMX_ERR_SLEEP, /* go into sleepmode - code can be restarted */ - AMX_ERR_INVSTATE, /* invalid state for this access */ - - AMX_ERR_MEMORY = 16, /* out of memory */ - AMX_ERR_FORMAT, /* invalid file format */ - AMX_ERR_VERSION, /* file is for a newer version of the AMX */ - AMX_ERR_NOTFOUND, /* function not found */ - AMX_ERR_INDEX, /* invalid index parameter (bad entry point) */ - AMX_ERR_DEBUG, /* debugger cannot run */ - AMX_ERR_INIT, /* AMX not initialized (or doubly initialized) */ - AMX_ERR_USERDATA, /* unable to set user data field (table full) */ - AMX_ERR_INIT_JIT, /* cannot initialize the JIT */ - AMX_ERR_PARAMS, /* parameter error */ - AMX_ERR_DOMAIN, /* domain error, expression result does not fit in range */ - AMX_ERR_GENERAL, /* general error (unknown or unspecific error) */ -}; - -/* AMX_FLAG_CHAR16 0x01 no longer used */ -#define AMX_FLAG_DEBUG 0x02 /* symbolic info. available */ -#define AMX_FLAG_COMPACT 0x04 /* compact encoding */ -#define AMX_FLAG_BYTEOPC 0x08 /* opcode is a byte (not a cell) */ -#define AMX_FLAG_NOCHECKS 0x10 /* no array bounds checking; no STMT opcode */ -#define AMX_FLAG_NTVREG 0x1000 /* all native functions are registered */ -#define AMX_FLAG_JITC 0x2000 /* abstract machine is JIT compiled */ -#define AMX_FLAG_BROWSE 0x4000 /* busy browsing */ -#define AMX_FLAG_RELOC 0x8000 /* jump/call addresses relocated */ - -#define AMX_EXEC_MAIN -1 /* start at program entry point */ -#define AMX_EXEC_CONT -2 /* continue from last address */ - -#define AMX_USERTAG(a,b,c,d) ((a) | ((b)<<8) | ((long)(c)<<16) | ((long)(d)<<24)) - -#if !defined AMX_COMPACTMARGIN - #define AMX_COMPACTMARGIN 64 -#endif - -/* for native functions that use floating point parameters, the following - * two macros are convenient for casting a "cell" into a "float" type _without_ - * changing the bit pattern - */ -#if PAWN_CELL_SIZE==32 - #define amx_ftoc(f) ( * ((cell*)&f) ) /* float to cell */ - #define amx_ctof(c) ( * ((float*)&c) ) /* cell to float */ -#elif PAWN_CELL_SIZE==64 - #define amx_ftoc(f) ( * ((cell*)&f) ) /* float to cell */ - #define amx_ctof(c) ( * ((double*)&c) ) /* cell to float */ -#else - #error Unsupported cell size -#endif - -#define amx_StrParam(amx,param,result) \ - do { \ - cell *amx_cstr_; int amx_length_; \ - amx_GetAddr((amx), (param), &amx_cstr_); \ - amx_StrLen(amx_cstr_, &amx_length_); \ - if (amx_length_ > 0 && \ - ((result) = (void*)alloca((amx_length_ + 1) * sizeof(*(result)))) != NULL) \ - amx_GetString((char*)(result), amx_cstr_, sizeof(*(result))>1, amx_length_); \ - else (result) = NULL; \ - } while (0) - -uint16_t * AMXAPI amx_Align16(uint16_t *v); -uint32_t * AMXAPI amx_Align32(uint32_t *v); -#if defined _I64_MAX || defined HAVE_I64 - uint64_t * AMXAPI amx_Align64(uint64_t *v); -#endif -int AMXAPI amx_Allot(AMX *amx, int cells, cell *amx_addr, cell **phys_addr); -int AMXAPI amx_Callback(AMX *amx, cell index, cell *result, cell *params); -int AMXAPI amx_Cleanup(AMX *amx); -int AMXAPI amx_Clone(AMX *amxClone, AMX *amxSource, void *data); -int AMXAPI amx_Exec(AMX *amx, cell *retval, int index); -int AMXAPI amx_FindNative(AMX *amx, const char *name, int *index); -int AMXAPI amx_FindPublic(AMX *amx, const char *funcname, int *index); -int AMXAPI amx_FindPubVar(AMX *amx, const char *varname, cell *amx_addr); -int AMXAPI amx_FindTagId(AMX *amx, cell tag_id, char *tagname); -int AMXAPI amx_Flags(AMX *amx,uint16_t *flags); -int AMXAPI amx_GetAddr(AMX *amx,cell amx_addr,cell **phys_addr); -int AMXAPI amx_GetNative(AMX *amx, int index, char *funcname); -int AMXAPI amx_GetPublic(AMX *amx, int index, char *funcname); -int AMXAPI amx_GetPubVar(AMX *amx, int index, char *varname, cell *amx_addr); -int AMXAPI amx_GetString(char *dest,const cell *source, int use_wchar, size_t size); -int AMXAPI amx_GetTag(AMX *amx, int index, char *tagname, cell *tag_id); -int AMXAPI amx_GetUserData(AMX *amx, long tag, void **ptr); -int AMXAPI amx_Init(AMX *amx, void *program); -int AMXAPI amx_InitJIT(AMX *amx, void *reloc_table, void *native_code); -int AMXAPI amx_MemInfo(AMX *amx, long *codesize, long *datasize, long *stackheap); -int AMXAPI amx_NameLength(AMX *amx, int *length); -AMX_NATIVE_INFO * AMXAPI amx_NativeInfo(const char *name, AMX_NATIVE func); -int AMXAPI amx_NumNatives(AMX *amx, int *number); -int AMXAPI amx_NumPublics(AMX *amx, int *number); -int AMXAPI amx_NumPubVars(AMX *amx, int *number); -int AMXAPI amx_NumTags(AMX *amx, int *number); -int AMXAPI amx_Push(AMX *amx, cell value); -int AMXAPI amx_PushArray(AMX *amx, cell *amx_addr, cell **phys_addr, const cell array[], int numcells); -int AMXAPI amx_PushString(AMX *amx, cell *amx_addr, cell **phys_addr, const char *string, int pack, int use_wchar); -int AMXAPI amx_RaiseError(AMX *amx, int error); -int AMXAPI amx_Register(AMX *amx, const AMX_NATIVE_INFO *nativelist, int number); -int AMXAPI amx_Release(AMX *amx, cell amx_addr); -int AMXAPI amx_SetCallback(AMX *amx, AMX_CALLBACK callback); -int AMXAPI amx_SetDebugHook(AMX *amx, AMX_DEBUG debug); -int AMXAPI amx_SetString(cell *dest, const char *source, int pack, int use_wchar, size_t size); -int AMXAPI amx_SetUserData(AMX *amx, long tag, void *ptr); -int AMXAPI amx_StrLen(const cell *cstring, int *length); -int AMXAPI amx_UTF8Check(const char *string, int *length); -int AMXAPI amx_UTF8Get(const char *string, const char **endptr, cell *value); -int AMXAPI amx_UTF8Len(const cell *cstr, int *length); -int AMXAPI amx_UTF8Put(char *string, char **endptr, int maxchars, cell value); - -#if PAWN_CELL_SIZE==16 - #define amx_AlignCell(v) amx_Align16(v) -#elif PAWN_CELL_SIZE==32 - #define amx_AlignCell(v) amx_Align32(v) -#elif PAWN_CELL_SIZE==64 && (defined _I64_MAX || defined HAVE_I64) - #define amx_AlignCell(v) amx_Align64(v) -#else - #error Unsupported cell size -#endif - -#define amx_RegisterFunc(amx, name, func) \ - amx_Register((amx), amx_NativeInfo((name),(func)), 1); - -#if !defined AMX_NO_ALIGN - #if defined LINUX || defined __FreeBSD__ - #pragma pack() /* reset default packing */ - #elif defined MACOS && defined __MWERKS__ - #pragma options align=reset - #else - #pragma pack(pop) /* reset previous packing */ - #endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* AMX_H_INCLUDED */ diff --git a/compiler/scasm/amx_compiler.cpp b/compiler/scasm/amx_compiler.cpp deleted file mode 100755 index c537d3c0..00000000 --- a/compiler/scasm/amx_compiler.cpp +++ /dev/null @@ -1,2392 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_compiler.cpp 921 2004-08-21 06:20:27Z dvander $ - */ - -#include "amxasm.h" - -Compiler::Compiler() -{ - curLine = -1; - cellsize = 4; - Output = 0; - stacksize = cellsize * 4096; - debug = false; - pack = false; - dopt = false; - Init(); -} - -Compiler::~Compiler() -{ - Clear(); - delete CDefines; - delete CError; - delete CLabels; - delete CMacros; - delete CNatives; - delete CSymbols; - delete PROC; - delete DAT; -} - -Compiler::Compiler(std::string &f) -{ - curLine = -1; - cellsize = 4; - Output = 0; - filename.assign(f); - stacksize = cellsize * 4096; - debug = false; - pack = false; - dopt = false; - Init(); -} - -bool Compiler::SetDOpt() -{ - bool state = dopt; - - dopt = dopt ? false : true; - - return state; -} - -bool Compiler::SetDebug() -{ - bool state = debug; - - debug = debug ? false : true; - - return state; -} - -bool Compiler::SetPack() -{ - bool state = pack; - - pack = pack ? false : true; - - return state; -} - -void Compiler::Load(std::string &f) -{ - filename.assign(f); -} - -void Compiler::Init() -{ - Compiler *c = this; - /* Load error handling */ - CError = new ErrorMngr(c); - /* Load symbol management */ - CSymbols = new SymbolList; - /* Load constant management */ - CDefines = new DefineMngr; - /* Load macro management */ - CMacros = new MacroList(this); - /* Load DAT management */ - DAT = new DataMngr(cellsize); - /* Load Proc management */ - PROC = new ProcMngr(CError); - /* Load Label management */ - CLabels = new LabelMngr(CError); - /* Load Native management */ - CNatives = new NativeMngr; - /* Load the default symbols + opcodes */ - InitOpcodes(); -} - -int Compiler::CipCount() -{ - std::vector::iterator i; - std::vector::iterator j; - int cipc = 0; - - for (i=CodeList.begin(); i!=CodeList.end(); i++) - { - cipc+=cellsize; - for (j=(*i)->params.begin(); j!=(*i)->params.end(); j++) - { - cipc+=cellsize; - } - } - - return cipc; -} - -void Compiler::WriteCell(FILE *fp, ucell *c, int repeat) -{ - unsigned char T[5] = {0,0,0,0,0}; - unsigned char code = 0; - int index = 0; - ucell p = (*c); - int i = 0; - - for (i=1; i<=repeat; i++) - { - if (pack) - { - for (index=0;index<5;index++) - { - T[index]=(unsigned char)(p & 0x7f); - p>>=7; - } - while (index>1 && T[index-1]==0 && (T[index-2] & 0x40)==0) - { - index--; - } - if (index==5 && T[index-1]==0x0f && (T[index-2] & 0x40)!=0) - { - index--; - } - while (index>1 && T[index-1]==0x7f && (T[index-2] & 0x40)!=0) - { - index--; - } - assert(index>0); - while (index-->0) - { - code=(unsigned char)((index==0)?T[index]:(T[index]|0x80)); - fwrite((void*)&code, sizeof(unsigned char), 1, fp); - bitsOut += sizeof(unsigned char); - } - } else { - fwrite((void*)c, sizeof(ucell), 1, fp); - bitsOut += sizeof(ucell); - } - } -} - -bool Compiler::Compile(std::string &out) -{ - if (CodeList.size() < 1 || !CError || CError->GetStatus() >= Err_Error) - { - return false; - } - - bitsOut = 0; - int32_t fileSize = 0; - int16_t magic = (int16_t)AMX_MAGIC; - char file_version = CUR_FILE_VERSION; - char amx_version = MIN_AMX_VERSION; - int16_t flags = 0; - int16_t defsize = 8; - int32_t cod, dat, hea, stp, cip, publics, natives, libraries; - int32_t pubvars, tags, names; - int hdrEnd = sizeof(AMX_HEADER); - - if (debug) - { - flags |= AMX_FLAG_DEBUG; - } - if (pack) - { - flags |= AMX_FLAG_COMPACT; - } - - std::vector ProcList; - std::vector::iterator pl; - std::vector NativeList; - std::vector::iterator nl; - std::map NameMap; - - /* Tables */ - std::vector Nametbl; - std::vector PublicsTable; - std::vector NativesTable; - std::vector::iterator ai; - std::vector::iterator nt; - - PROC->GetPublics(ProcList); - CNatives->GetNatives(NativeList); - - /* The only way I see to do this is to build the nametable first. - */ - - /* Public table starts right after the header */ - publics = hdrEnd; - for (pl = ProcList.begin(); pl != ProcList.end(); pl++) - { - NameRecord n; - AddrTable a; - n.Name = (*pl)->Symbol->sym.c_str(); - a.addr = (*pl)->ASM->cip; - a.offset = (int)Nametbl.size(); - Nametbl.push_back(n); - PublicsTable.push_back(a); - } - - natives = publics + (int)(PublicsTable.size() * (sizeof(int32_t) * 2)); - for (nl = NativeList.begin(); nl != NativeList.end(); nl++) - { - NameRecord n; - AddrTable a; - n.Name = (*nl)->S->sym.c_str(); - a.addr = 0; - a.offset = (int)Nametbl.size(); - Nametbl.push_back(n); - NativesTable.push_back(a); - } - - libraries = natives + (int)(NativesTable.size() * (sizeof(int32_t) * 2)); - pubvars = libraries; - tags = pubvars; - names = tags; - - /* Fill out the tables */ - int cOffset = names + sizeof(int16_t); - int16_t nameHdr = 0x1F; - for (ai = PublicsTable.begin(); ai != PublicsTable.end(); ai++) - { - int off = (*ai).offset; - NameMap[cOffset] = off; - (*ai).offset = cOffset; - cOffset += (int)strlen(Nametbl.at(off).Name) + 1; - } - for (ai = NativesTable.begin(); ai != NativesTable.end(); ai++) - { - int off = (*ai).offset; - NameMap[cOffset] = off; - (*ai).offset = cOffset; - cOffset += (int)strlen(Nametbl.at(off).Name) + 1; - } - - bitsOut = cOffset; - cod = cOffset; - dat = cod + CipCount(); - hea = dat + DAT->GetSize(); - stp = hea + stacksize; - cip = -1; - fileSize = hea; - - std::string amxname; - amxname.assign(out); - size_t pos = amxname.find(".asm"); - if (pos != std::string::npos) - { - amxname.replace(pos, 4, ".amx"); - } else { - amxname.append(".amx"); - } - - FILE *fp = fopen(amxname.c_str(), "wb"); - - fwrite((void*)&fileSize, sizeof(int32_t), 1, fp); - fwrite((void*)&magic, sizeof(int16_t), 1, fp); - fwrite((void*)&file_version, sizeof(char), 1, fp); - fwrite((void*)&amx_version, sizeof(char), 1, fp); - fwrite((void*)&flags, sizeof(int16_t), 1, fp); - fwrite((void*)&defsize, sizeof(int16_t), 1, fp); - - fwrite((void*)&cod, sizeof(int32_t), 1, fp); - fwrite((void*)&dat, sizeof(int32_t), 1, fp); - fwrite((void*)&hea, sizeof(int32_t), 1, fp); - fwrite((void*)&stp, sizeof(int32_t), 1, fp); - fwrite((void*)&cip, sizeof(int32_t), 1, fp); - fwrite((void*)&publics, sizeof(int32_t), 1, fp); - fwrite((void*)&natives, sizeof(int32_t), 1, fp); - fwrite((void*)&libraries, sizeof(int32_t), 1, fp); - fwrite((void*)&pubvars, sizeof(int32_t), 1, fp); - fwrite((void*)&tags, sizeof(int32_t), 1, fp); - fwrite((void*)&names, sizeof(int32_t), 1, fp); - - for (ai = PublicsTable.begin(); ai != PublicsTable.end(); ai++) - { - fwrite((void*)&((*ai).addr), sizeof(int32_t), 1, fp); - fwrite((void*)&((*ai).offset), sizeof(int32_t), 1, fp); - } - - for (ai = NativesTable.begin(); ai != NativesTable.end(); ai++) - { - fwrite((void*)&((*ai).addr), sizeof(int32_t), 1, fp); - fwrite((void*)&((*ai).offset), sizeof(int32_t), 1, fp); - } - - fwrite((void*)&(nameHdr), sizeof(int16_t), 1, fp); - - for (ai = PublicsTable.begin(); ai != PublicsTable.end(); ai++) - { - int off = (*ai).offset; - int offs = NameMap[off]; - const char *s = Nametbl.at(offs).Name; - fwrite(s, sizeof(char), strlen(s)+1, fp); - } - - for (ai = NativesTable.begin(); ai != NativesTable.end(); ai++) - { - int off = (*ai).offset; - int offs = NameMap[off]; - const char *s = Nametbl.at(offs).Name; - fwrite(s, sizeof(char), strlen(s)+1, fp); - } - - /* Write the code */ - - std::vector::iterator ci; - std::vector::iterator di; - ucell cop = 0; - for (ci = CodeList.begin(); ci != CodeList.end(); ci++) - { - cop = (*ci)->op; - WriteCell(fp, &cop, 1); - for (di = (*ci)->params.begin(); di != (*ci)->params.end(); di++) - { - cop = (*di); - WriteCell(fp, &cop, 1); - } - } - - std::vector dm; - std::vector::iterator dmi; - DAT->GetData(dm); - - ucell val = 0; - const char *s = 0; - for (dmi = dm.begin(); dmi != dm.end(); dmi++) - { - if ( (*dmi)->db ) - { - if ( (*dmi)->e.GetType() == Val_Number ) - { - val = (*dmi)->e.GetNumber(); - fwrite((void *)&val, sizeof(int32_t), 1, fp); - } else { - s = (*dmi)->e.GetString(); - for (int q = 0; q < (*dmi)->e.Size(); q++) - { - val = s[q]; - WriteCell(fp, &val, 1); - } - } - } else { - if (DAT->IsOptimized()) - break; - ucell c = (*dmi)->fill; - WriteCell(fp, &c, (*dmi)->e.GetNumber()); - } - } - - /* Was packing enabled? Re-output the actual size */ - if (pack) - { - fseek(fp, 0, SEEK_SET); - fwrite((void *)&bitsOut, sizeof(int32_t), 1, fp); - fseek(fp, 0, SEEK_END); - } - - fclose(fp); - - return true; -} - -void Compiler::Clear() -{ - DAT->Clear(); - CDefines->Clear(); - CMacros->Clear(); - CLabels->Clear(); - CNatives->Clear(); - PROC->Clear(); - CSymbols->Clear(); -} - -/* Two pass parser. - * The first pass applies macros + defines + directives - * natives, and data. - * The second pass eats up everything else (code, publics) - */ -bool Compiler::Parse() -{ - FILE *fp = 0; - char buffer[256] = {0}; - std::stack DefStack; - curLine = 0; - AsmSection sec = Asm_None; - lastCip = 0-cellsize; - int pass = 0; -Start: - fp = fopen(filename.c_str(), "rt"); - curLine = 0; - sec = Asm_None; - lastCip = 0-cellsize; - - if (!fp) - { - CError->ErrorMsg(Err_FileOpen, filename.c_str()); - return false; - } - - while (!feof(fp)) - { - fgets(buffer, 255, fp); - curLine+=1; - - /* Check for preprocessor directives */ - if (buffer[0] == '#') - { - std::string procline(buffer); - if (procline.substr(0, 6).compare("#ifdef") == 0) - { - std::string def; - std::string temp; - std::string comp; - StringBreak(procline, def, temp); - StringBreak(temp, def, comp); - DefineMngr::Define *D = 0; - if ( (D = CDefines->FindDefine(def)) == NULL) - { - DefStack.push(0); - } else { - if (D->GetDefine()->compare("0") == 0) - { - DefStack.push(0); - } else { - DefStack.push(1); - } - } - } else if (procline.substr(0, 7).compare("#ifndef") == 0) { - std::string def; - std::string temp; - std::string comp; - StringBreak(procline, def, temp); - StringBreak(temp, def, comp); - DefineMngr::Define *D = 0; - if ( (D = CDefines->FindDefine(def)) == NULL) - { - DefStack.push(1); - } else { - if (D->GetDefine()->compare("0") == 0) - { - DefStack.push(1); - } else { - DefStack.push(0); - } - } - } else if (procline.substr(0, 5).compare("#else") == 0) { - if (!DefStack.empty()) - { - if (DefStack.top() == 1) - { - DefStack.pop(); - DefStack.push(0); - } else if (DefStack.top() == 0) { - DefStack.pop(); - DefStack.push(1); - } - } else { - CError->ErrorMsg(Err_Misplaced_Directive); - } - continue; - } else if (procline.substr(0, 6).compare("#endif") == 0) { - if (!DefStack.empty()) - { - DefStack.pop(); - } else { - CError->ErrorMsg(Err_Misplaced_Directive); - } - continue; - } else { - /* Check for previous operations */ - if (DefStack.size()) - { - if (DefStack.top() < 1) - { - continue; - } - } - // only process directives on pass one - if (pass == 0) - { - ProcessDirective(procline); - } - } - continue; - } - - /* Check for previous operations */ - if (DefStack.size()) - { - if (DefStack.top() < 1) - { - continue; - } - } - - /* Strip the line */ - std::string line(buffer); - - StripComments(line); - Strip(line); - - if (line.size() < 1) - continue; - - /* Check for section state changes */ - if (line[0] == '.') - { - if (line.compare(".DATA") == 0) - { - sec = Asm_Data; - } else if (line.compare(".CODE") == 0) {; - sec = Asm_Code; - } else if (line.compare(".PUBLIC") == 0) { - sec = Asm_Public; - } else if (line.compare(".NATIVE") == 0) { - sec = Asm_Native; - } else { - sec = Asm_Invalid; - CError->ErrorMsg(Err_Invalid_Section, buffer); - } - if (pass == 1) - { - /* Update the labels */ - CLabels->CompleteQueue(true); - while (!LabelStack.empty()) - { - CLabels->EraseLabel(LabelStack.top()); - CSymbols->EraseSymbol(LabelStack.top()); - LabelStack.pop(); - } - } - } else { - /* Do pre-processing */ - CMacros->SearchAndReplace(line); - CDefines->SearchAndReplace(line); - - /* See if we're not in a section */ - if (sec == Asm_None) - { - if (line.size() > 0) - { - CError->ErrorMsg(Err_Wandering_Stuff); - } - } else if (sec == Asm_Invalid) { - /* Just ignore it */ - } else if (sec == Asm_Data) { - if (pass == 1) - continue; - /* Format is Symbol, [db|stat], Data */ - std::string symbol; - std::string data; - std::string buf; - std::string fmt; - - /* Do two splits - line into symbol into data */ - StringBreak(line, symbol, buf); - StringBreak(buf, fmt, data); - - /* Check if the symbol is already defined */ - SymbolList::Symbol *S = NULL; - if ((S = CSymbols->FindSymbol(symbol)) != NULL) - { - CError->ErrorMsg(Err_Symbol_Reuse, symbol.c_str(), S->line); - continue; - } - - if (fmt.compare("db") && fmt.compare("stat")) - { - CError->ErrorMsg(Err_Invalid_Stor, fmt.c_str()); - continue; - } - - if (fmt.compare("db") == 0) - { - /* Add and evaluate the expression */ - CExpr e(CError); - e.Set(data); - e.Evaluate(); - - /* Add into the DAT section */ - DAT->Add(symbol, e, true); - } else if (fmt.compare("stat") == 0) { - CExpr e(CError); - - if (data.find("fill") != std::string::npos) - { - std::string fill, amt; - StringBreak(data, amt, buf); - StringBreak(buf, data, fill); - CExpr t(CError); - t.Set(fill); - t.Evaluate(); - e = EvalE(amt, Sym_None); - DAT->Add(symbol, e, false, t.GetNumber()); - } else { - e = EvalE(data, Sym_None); - DAT->Add(symbol, e, false, 0); - } - } - CSymbols->AddSymbol(symbol, Sym_Dat, CurLine()); - } else if (sec == Asm_Public) { - if (pass == 0) - continue; - if (!IsValidSymbol(line)) - { - CError->ErrorMsg(Err_Invalid_Symbol); - continue; - } - SymbolList::Symbol *S = NULL; - if ( (S = CSymbols->FindSymbol(line)) == NULL) - { - CError->ErrorMsg(Err_Unknown_Symbol, line.c_str()); - continue; - } - if ( (S->type != Sym_Proc) ) - { - CError->ErrorMsg(Err_Symbol_Type, Sym_Proc, S->type); - continue; - } - if (!PROC->SetPublic(line)) - { - CError->ErrorMsg(Err_Unknown_Symbol, line.c_str()); - continue; - } - } else if (sec == Asm_Native) { - if (pass == 1) - continue; - if (!IsValidSymbol(line)) - { - CError->ErrorMsg(Err_Invalid_Symbol); - continue; - } - SymbolList::Symbol *S = NULL; - if ( (S = CSymbols->FindSymbol(line)) != NULL) - { - CError->ErrorMsg(Err_Invalid_Symbol, line.c_str(), S->line); - continue; - } - S = CSymbols->AddSymbol(line, Sym_Native, CurLine()); - CNatives->AddNative(S); - } else if (sec == Asm_Code) { - if (pass == 0) - continue; - std::string code; - std::string params; - SymbolList::Symbol *S; - - StringBreak(line, code, params); - - if (code.compare("PROC") == 0 || code.compare("proc") == 0) - { - /* Check if symbol is valid */ - if (!IsValidSymbol(params)) - { - CError->ErrorMsg(Err_Invalid_Symbol); - continue; - } - /* Check if the symbol is already used */ - if ( (S = CSymbols->FindSymbol(params)) != NULL) - { - if (S->type != Sym_Proc) - { - CError->ErrorMsg(Err_Symbol_Reuse, params.c_str(), S->line); - continue; - } - } - /* Create instruction */ - Asm *ASM = new Asm; - ASM->cip = lastCip + cellsize; - ASM->op = OpCodes["proc"]; - ASM->line = curLine; - lastCip += cellsize; - if (S == NULL) - { - /* Add symbol */ - S = CSymbols->AddSymbol(params, Sym_Proc, CurLine()); - /* Add to PROC list */ - PROC->AddProc(S, ASM); - } else { - ProcMngr::AsmProc *p = 0; - p = PROC->FindProc(params); - - if (p == NULL || p->ASM != NULL) - { - CError->ErrorMsg(Err_Symbol_Reuse, params.c_str(), S->line); - continue; - } else { - p->ASM = ASM; - } - } - /* Add to code list */ - CodeList.push_back(ASM); - } else if (code.compare("ENDP") == 0) { - /* This is, in theory, not needed - * Nonetheless, we check labels here - */ - CLabels->CompleteQueue(true); - while (!LabelStack.empty()) - { - CLabels->EraseLabel(LabelStack.top()); - CSymbols->EraseSymbol(LabelStack.top()); - LabelStack.pop(); - } - } else if (params.size() < 1 && code[code.size()-1] == ':') { - /* Label! */ - /* Check if symbol is valid */ - code.erase(code.size()-1, 1); - if (!IsValidSymbol(code)) - { - CError->ErrorMsg(Err_Invalid_Symbol); - continue; - } - /* Check if the symbol is already used */ - if ( (S = CSymbols->FindSymbol(code)) != NULL) - { - if (S->type == Sym_Label) - { - LabelMngr::Label *p = CLabels->FindLabel(code); - if (p == NULL) - { - CError->ErrorMsg(Err_Invalid_Symbol); - } else { - p->cip = lastCip+cellsize; - p->sym->line = CurLine(); - } - } else { - CError->ErrorMsg(Err_Symbol_Reuse, code.c_str(), S->line); - } - continue; - } else { - if (code[0] == '_') - { - LabelStack.push(code); - } - S = CSymbols->AddSymbol(code, Sym_Label, CurLine()); - CLabels->AddLabel(S, lastCip+cellsize); - } - } else { - /* Check if there is a valid opcode */ - int op = OpCodes[code]; - int argPos; - if (op == OP_NONE) - { - CError->ErrorMsg(Err_Opcode); - continue; - } - - Asm *ASM = 0; - - if (debug) - { - ASM = new Asm; - ASM->cip = lastCip+cellsize; - ASM->op = OP_LINE; - ASM->line = curLine; - ASM->params.push_back(curLine); - ASM->params.push_back(0); - CodeList.push_back(ASM); - lastCip+=cellsize*3; - } - - ASM = new Asm; - - curAsm = ASM; - - std::vector paramList; - - if (params.size() > 0) - { - FindArguments(params, paramList, argPos, true); - if (argPos != (int)(params.size()-1)) - { - assert(0); - CError->ErrorMsg(Err_Unexpected_Char, params[argPos]); - continue; - } - } - - ASM->cip = (lastCip+cellsize); - ASM->op = op; - ASM->line = curLine; - lastCip += cellsize; - - switch (op) - { - case OP_LOAD_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LOAD_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LOAD_S_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LOAD_S_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LREF_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LREF_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LREF_S_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LREF_S_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LOAD_I: - { - CHK_PARAMS(0); - break; - } - case OP_LODB_I: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_CONST_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_CONST_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_ADDR_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_ADDR_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_STOR_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_STOR_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_STOR_S_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_STOR_S_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SREF_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SREF_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SREF_S_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SREF_S_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_STOR_I: - { - CHK_PARAMS(0); - break; - } - case OP_STRB_I: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LIDX: - { - CHK_PARAMS(0); - break; - } - case OP_LIDX_B: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_IDXADDR: - { - CHK_PARAMS(0); - break; - } - case OP_IDXADDR_B: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_ALIGN_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_ALIGN_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_LCTRL: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SCTRL: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_MOVE_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_MOVE_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_XCHG: - { - CHK_PARAMS(0); - break; - } - case OP_PUSH_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_PUSH_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_PUSH_R: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_PUSH_C: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_PUSH: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_PUSH_S: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_POP_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_POP_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_STACK: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_HEAP: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_PROC: - { - CHK_PARAMS(0); - break; - } - case OP_RET: - { - CHK_PARAMS(0); - break; - } - case OP_RETN: - { - CHK_PARAMS(0); - break; - } - case OP_CALL: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Proc); - break; - } - case OP_CALL_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_JUMP: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JREL: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JZER: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JNZ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JEQ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JNEQ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JLESS: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JLEQ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JGRTR: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JGEQ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JSLESS: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JSLEQ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JSGRTR: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_JSGEQ: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_SHL: - { - CHK_PARAMS(0); - break; - } - case OP_SHR: - { - CHK_PARAMS(0); - break; - } - case OP_SSHR: - { - CHK_PARAMS(0); - break; - } - case OP_SHL_C_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SHL_C_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SHR_C_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SHR_C_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SMUL: - { - CHK_PARAMS(0); - break; - } - case OP_SDIV: - { - CHK_PARAMS(0); - break; - } - case OP_SDIV_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_UMUL: - { - CHK_PARAMS(0); - break; - } - case OP_UDIV: - { - CHK_PARAMS(0); - break; - } - case OP_UDIV_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_ADD: - { - CHK_PARAMS(0); - break; - } - case OP_SUB: - { - CHK_PARAMS(0); - break; - } - case OP_SUB_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_AND: - { - CHK_PARAMS(0); - break; - } - case OP_OR: - { - CHK_PARAMS(0); - break; - } - case OP_XOR: - { - CHK_PARAMS(0); - break; - } - case OP_NOT: - { - CHK_PARAMS(0); - break; - } - case OP_NEG: - { - CHK_PARAMS(0); - break; - } - case OP_INVERT: - { - CHK_PARAMS(0); - break; - } - case OP_ADD_C: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SMUL_C: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_ZERO_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_ZERO_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_ZERO: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_ZERO_S: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SIGN_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_SIGN_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_EQ: - { - CHK_PARAMS(0); - break; - } - case OP_NEQ: - { - CHK_PARAMS(0); - break; - } - case OP_LESS: - { - CHK_PARAMS(0); - break; - } - case OP_LEQ: - { - CHK_PARAMS(0); - break; - } - case OP_GRTR: - { - CHK_PARAMS(0); - break; - } - case OP_GEQ: - { - CHK_PARAMS(0); - break; - } - case OP_SLESS: - { - CHK_PARAMS(0); - break; - } - case OP_SLEQ: - { - CHK_PARAMS(0); - break; - } - case OP_SGRTR: - { - CHK_PARAMS(0); - break; - } - case OP_SGEQ: - { - CHK_PARAMS(0); - break; - } - case OP_EQ_C_PRI: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_EQ_C_ALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_INC_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_INC_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_INC: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_INC_S: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_INC_I: - { - CHK_PARAMS(0); - break; - } - case OP_DEC_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_DEC_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_DEC: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_DEC_S: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_DEC_I: - { - CHK_PARAMS(0); - break; - } - case OP_MOVS: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_CMPS: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_FILL: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_HALT: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_BOUNDS: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SYSREQ_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_SYSREQ_C: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Native); - break; - } - case OP_FILE: - { - /* Not yet implemented */ - assert(0); - /*CHK_PARAMS(3); - PUSH_PARAM(1, Sym_Dat); - PUSH_PARAM(1, Sym_Dat); - PUSH_PARAM(1, Sym_Dat);*/ - break; - } - case OP_LINE: - { - CHK_PARAMS(2); - PUSH_PARAM(1, Sym_Dat); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SYMBOL: - { - /* Not yet implemented */ - assert(0); - /*CHK_PARAMS(3); - PUSH_PARAM(1, Sym_Dat); - PUSH_PARAM(1, Sym_Dat); - PUSH_PARAM(1, Sym_Dat);*/ - break; - } - case OP_SRANGE: - { - CHK_PARAMS(2); - PUSH_PARAM(1, Sym_Dat); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_JUMP_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_SWITCH: - { - /* Not yet implemented */ - assert(0); - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Label); - break; - } - case OP_CASETBL: - { - /* Not yet implemented */ - assert(0); - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Native); - break; - } - case OP_SWAP_PRI: - { - CHK_PARAMS(0); - break; - } - case OP_SWAP_ALT: - { - CHK_PARAMS(0); - break; - } - case OP_PUSHADDR: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_NOP: - { - CHK_PARAMS(0); - break; - } - case OP_SYSREQ_D: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - case OP_SYMTAG: - { - CHK_PARAMS(1); - PUSH_PARAM(1, Sym_Dat); - break; - } - } /* Switch */ - CodeList.push_back(ASM); - } /* Asm_Code */ - } /* Section If */ - } /* Line processing */ - } /* While */ - - // go for second pass - if (pass == 0) - { - pass = 1; - fclose(fp); - if (dopt) - DAT->Optimize(); - goto Start; - } - - /* We're not done! Check the label Queue */ - CLabels->CompleteQueue(); - - /* and the procedure queue ... */ - PROC->CompleteQueue(); - - CError->PrintReport(); - - if (CError->GetStatus() >= Err_Error) - { - return false; - } - - return true; -} - -void Compiler::InitOpcodes() -{ - OpCodes["nop"] = 0; - OpCodes["load.pri"] = 1; - OpCodes["load.alt"] = 2; - OpCodes["load.s.pri"] = 3; - OpCodes["load.s.alt"] = 4; - OpCodes["lref.pri"] = 5; - OpCodes["lref.alt"] = 6; - OpCodes["lref.s.pri"] = 7; - OpCodes["lref.s.alt"] = 8; - OpCodes["load.i"] = 9; - OpCodes["lodb.i"] = 10; - OpCodes["const.pri"] = 11; - OpCodes["const.alt"] = 12; - OpCodes["addr.pri"] = 13; - OpCodes["addr.alt"] = 14; - OpCodes["stor.pri"] = 15; - OpCodes["stor.alt"] = 16; - OpCodes["stor.s.pri"] = 17; - OpCodes["stor.s.alt"] = 18; - OpCodes["sref.pri"] = 19; - OpCodes["sref.alt"] = 20; - OpCodes["sref.s.pri"] = 21; - OpCodes["sref.s.alt"] = 22; - OpCodes["stor.i"] = 23; - OpCodes["strb.i"] = 24; - OpCodes["lidx"] = 25; - OpCodes["lidx.b"] = 26; - OpCodes["idxaddr"] = 27; - OpCodes["idxaddr.b"] = 28; - OpCodes["align.pri"] = 29; - OpCodes["align.alt"] = 30; - OpCodes["lctrl"] = 31; - OpCodes["sctrl"] = 32; - OpCodes["move.pri"] = 33; - OpCodes["move.alt"] = 34; - OpCodes["xchg"] = 35; - OpCodes["push.pri"] = 36; - OpCodes["push.alt"] = 37; - OpCodes["push.r"] = 38; - OpCodes["push.c"] = 39; - OpCodes["push"] = 40; - OpCodes["push.s"] = 41; - OpCodes["pop.pri"] = 42; - OpCodes["pop.alt"] = 43; - OpCodes["stack"] = 44; - OpCodes["heap"] = 45; - OpCodes["proc"] = 46; - OpCodes["ret"] = 47; - OpCodes["retn"] = 48; - OpCodes["call"] = 49; - OpCodes["call.pri"] = 50; - OpCodes["jump"] = 51; - OpCodes["jrel"] = 52; - OpCodes["jzer"] = 53; - OpCodes["jnz"] = 54; - OpCodes["jeq"] = 55; - OpCodes["jneq"] = 56; - OpCodes["jless"] = 57; - OpCodes["jleq"] = 58; - OpCodes["jgrtr"] = 59; - OpCodes["jgeq"] = 60; - OpCodes["jsless"] = 61; - OpCodes["jsleq"] = 62; - OpCodes["jsgrtr"] = 63; - OpCodes["jsgeq"] = 64; - OpCodes["shl"] = 65; - OpCodes["shr"] = 66; - OpCodes["sshr"] = 67; - OpCodes["shl.c.pri"] = 68; - OpCodes["shl.c.alt"] = 69; - OpCodes["shr.c.pri"] = 70; - OpCodes["shr.c.alt"] = 71; - OpCodes["smul"] = 72; - OpCodes["sdiv"] = 73; - OpCodes["sdiv.alt"] = 74; - OpCodes["umul"] = 75; - OpCodes["udiv"] = 76; - OpCodes["udiv.alt"] = 77; - OpCodes["add"] = 78; - OpCodes["sub"] = 79; - OpCodes["sub.alt"] = 80; - OpCodes["and"] = 81; - OpCodes["or"] = 82; - OpCodes["xor"] = 83; - OpCodes["not"] = 84; - OpCodes["neg"] = 85; - OpCodes["invert"] = 86; - OpCodes["add.c"] = 87; - OpCodes["smul.c"] = 88; - OpCodes["zero.pri"] = 89; - OpCodes["zero.alt"] = 90; - OpCodes["zero"] = 91; - OpCodes["zero.s"] = 92; - OpCodes["sign.pri"] = 93; - OpCodes["sign.alt"] = 94; - OpCodes["eq"] = 95; - OpCodes["neq"] = 96; - OpCodes["less"] = 97; - OpCodes["leq"] = 98; - OpCodes["grtr"] = 99; - OpCodes["geq"] = 100; - OpCodes["sless"] = 101; - OpCodes["sleq"] = 102; - OpCodes["sgrtr"] = 103; - OpCodes["sgeq"] = 104; - OpCodes["eq.c.pri"] = 105; - OpCodes["eq.c.alt"] = 106; - OpCodes["inc.pri"] = 107; - OpCodes["inc.alt"] = 108; - OpCodes["inc"] = 109; - OpCodes["inc.s"] = 110; - OpCodes["inc.i"] = 111; - OpCodes["dec.pri"] = 112; - OpCodes["dec.alt"] = 113; - OpCodes["dec"] = 114; - OpCodes["dec.s"] = 115; - OpCodes["dec.i"] = 116; - OpCodes["movs"] = 117; - OpCodes["cmps"] = 118; - OpCodes["fill"] = 119; - OpCodes["halt"] = 120; - OpCodes["bounds"] = 121; - OpCodes["sysreq.pri"] = 122; - OpCodes["sysreq.c"] = 123; - OpCodes["file"] = 124; - OpCodes["line"] = 125; - OpCodes["symbol"] = 126; - OpCodes["srange"] = 127; - OpCodes["jump.pri"] = 128; - OpCodes["switch"] = 129; - OpCodes["casetbl"] = 130; - OpCodes["swap.pri"] = 131; - OpCodes["swap.alt"] = 132; - OpCodes["pushaddr"] = 133; - OpCodes["nop"] = 134; - OpCodes["sysreq.d"] = 135; - OpCodes["symtag"] = 136; - - std::map::iterator i; - for (i=OpCodes.begin(); i!=OpCodes.end(); i++) - { - CSymbols->AddSymbol((*i).first.c_str(), Sym_Reserved, 0); - } - - CSymbols->AddSymbol("db", Sym_Reserved, 0); - CSymbols->AddSymbol("PROC", Sym_Reserved, 0); - CSymbols->AddSymbol("ENDP", Sym_Reserved, 0); - CSymbols->AddSymbol("stat", Sym_Reserved, 0); - - char buf[24]; - sprintf(buf, "%d", cellsize?cellsize:4); - std::string CellDef("CELL"); - std::string Cell(buf); - CDefines->AddDefine(CellDef, Cell); - CSymbols->AddSymbol("CELL", Sym_Define, 0); -} - -char Compiler::OperChar(OpToken c) -{ - switch (c) - { - case Token_Or: - return '|'; - break; - case Token_Xor: - return '^'; - break; - case Token_And: - return '&'; - break; - case Token_Shr: - return '>'; - break; - case Token_Shl: - return '<'; - break; - case Token_Mod: - return '%'; - break; - case Token_Div: - return '/'; - break; - case Token_Mul: - return '*'; - break; - case Token_Sub: - return '-'; - break; - case Token_Add: - return '+'; - break; - case Token_Not: - return '~'; - break; - default: - return Token_None; - break; - } -} - -OpToken Compiler::OperToken(char c) -{ - switch (c) - { - case '|': - return Token_Or; - break; - case '^': - return Token_Xor; - break; - case '&': - return Token_And; - break; - case '>': - return Token_Shr; - break; - case '<': - return Token_Shl; - break; - case '%': - return Token_Mod; - break; - case '/': - return Token_Div; - break; - case '*': - return Token_Mul; - break; - case '-': - return Token_Sub; - break; - case '+': - return Token_Add; - break; - case '~': - return Token_Not; - break; - default: - return Token_None; - break; - } -} - char OperToken(OpToken c); - -/* Returns all the arguments in a list - * This takes literals and expressions into account - * In non-simple mode, It is assumed that the first ( is stripped! - */ -int Compiler::FindArguments(std::string &text, std::vector &List, int &end, bool simple) -{ - unsigned int i = 0, pos = 0; - char c = 0, d = 0, l = 0, size = 0; - std::stack Stack; - end = -1; - - for (i=0; iassign(text.substr(pos, - (i==text.size()-1 && text[i]!=')')? - (i-pos+1):(i-pos))); - } else { - p->assign(text.substr(pos, i-pos+1)); - } - Strip(*p); - pos = i+1; - if (p->size() < 1) - { - delete p; - } else { - List.push_back(p); - size++; - } - end = i; - if (text[i] == ')') - break; - } - } - } - - c = d; - } - - if (!Stack.empty()) - { - CError->ErrorMsg(Err_FatalTokenError); - } - - return size; -} - -void Compiler::ProcessDirective(std::string &text) -{ - Strip(text); - if (text[0] == '#') - text.erase(0, 1); - std::string directive; - std::string definition; - /* Split the directive */ - StringBreak(text, directive, definition); - if (!directive.compare("macro")) - { - Strip(definition); - size_t argPos = definition.find('(', 0); - if (argPos == std::string::npos) - { - CError->ErrorMsg(Err_InvalidMacro, curLine); - } else { - /* Store the symbol, which is read up to the occurrence of ( */ - std::string symbol; - symbol.assign(definition.substr(0, argPos-1)); - /* Check if the symbol is already defined */ - SymbolList::Symbol *S; - if ((S = CSymbols->FindSymbol(symbol)) != NULL) - { - CError->ErrorMsg(Err_SymbolRedef, S->sym.c_str(), S->line); - } - /* Store the argstring, which is the rest of the data */ - std::string argstring; - argstring.assign(definition.substr(argPos+1, definition.size()-argPos+1)); - /* Parse the arg string, storing the results and the offset to the end */ - int bPos; - std::vector ArgList; - FindArguments(argstring, ArgList, bPos); - /* Store the rest in a function string (macro definition) */ - std::string funcstring; - funcstring.assign(argstring.substr(bPos+1, argstring.size()-bPos+1)); - /* Push the macro onto the Macro List */ - Strip(funcstring); - Strip(symbol); - MacroList::Macro *m = CMacros->AddMacroBegin(symbol, funcstring); - std::vector::iterator i; - for (i=ArgList.begin(); i!=ArgList.end(); i++) - { - CMacros->AddMacroArgument(m, *(*i)); - } - CMacros->AddMacroEnd(m); - /* Make sure to add the symbol */ - CSymbols->AddSymbol(symbol, Sym_Macro, curLine); - //TODO: ClearList(ArgList); - } - } else if (!directive.compare("pragma")) { - std::string pragma; - std::string entry; - StringBreak(definition, pragma, entry); - if (pragma.compare("stacksize") == 0) - { - int stksz = atoi(entry.c_str()); - if (stksz < 100) - { - CError->ErrorMsg(Err_Invalid_Pragma); - } else { - stacksize = stksz; - } - } else { - CError->ErrorMsg(Err_Invalid_Pragma); - } - } else if (!directive.compare("define")) { - std::string symbol; - std::string def; - StringBreak(definition, symbol, def); - SymbolList::Symbol *S; - if ((S = CSymbols->FindSymbol(symbol)) != NULL) - { - CError->ErrorMsg(Err_SymbolRedef, S->sym.c_str(), S->line); - } - if (def.size() < 1) - def.assign("1"); - CSymbols->AddSymbol(symbol, Sym_Define, curLine); - CDefines->AddDefine(symbol, def); - } -} - -int Compiler::Eval(std::string &str, SymbolType sym) -{ - CExpr e(CError); - - e = EvalE(str, sym); - - return e.GetNumber(); -} - -/* The evaluator works by storing expressions on a stack. - Each expression is an RPN-ordered pair of lists for ops and values - Every time the stack is popped, the expression is evaluated by searching - for the highest operators and evaluating them. - Note that string literals are not allowed here yet. - */ -CExpr Compiler::EvalE(std::string &str, SymbolType sym) -{ - std::stack Stack; - std::string bpstr; - int i = 0; - rpn *r = new rpn; - int pos = 0; - - Stack.push(r); - - for (i=0; i<(int)str.size(); i++) - { - if (OperToken(str[i]) != Token_None) - { - if ((i == (int)(str.size() - 1)) - || ((OperToken(str[i]) != Token_Not && OperToken(str[i]) != Token_Sub) - && i == 0)) - { - CError->ErrorMsg(Err_Unexpected_Char, str[i]); - return 0; - } - if (str[i] == '<' && str[i+1] != '<') - { - CError->ErrorMsg(Err_Unexpected_Char, str[i]); - return 0; - } - if (str[i] == '>' && str[i+1] != '>') - { - CError->ErrorMsg(Err_Unexpected_Char, str[i]); - return 0; - } - /* Check to see if there are extra tokens */ - if (pos < i || (pos == i && (OperToken(str[i]) == Token_Sub))) - { - bpstr.assign(str.substr(pos, i-pos)); - Strip(bpstr); - CExpr e(CError); - e.Set(bpstr); - e.Evaluate(sym); - r->vals.push_back(e); - } - r->ops.push_back((char)str[i]); - if (str[i] == '>' || str[i] == '<') - { - i++; - } - pos = i+1; - continue; - } else { - if (str[i] == '(') - { - if (pos < i) - { - bpstr.assign(str.substr(pos, i-pos)); - Strip(bpstr); - CExpr e(CError); - e.Set(bpstr); - e.Evaluate(sym); - r->vals.push_back(e); - } - r = new rpn; - Stack.push(r); - pos = i+1; - continue; - } else if (str[i] == ')') { - if (pos < i) - { - bpstr.assign(str.substr(pos, i-pos)); - Strip(bpstr); - CExpr e(CError); - e.Set(bpstr); - e.Evaluate(sym); - r->vals.push_back(e); - } - if (Stack.size() < 2) - { - while (!Stack.empty()) - { - rpn *t = Stack.top(); - if (t) - delete t; - t = 0; - Stack.pop(); - } - CError->ErrorMsg(Err_Unmatched_Token, str[i]); - return 0; - } else { - CExpr t; - t = EvalRpn(r, sym); - delete r; - r = 0; - Stack.pop(); - r = Stack.top(); - r->vals.push_back(t); - pos = i + 1; - } - } else if (i == (int)(str.size() - 1)) { - if (pos < i) - { - bpstr.assign(str.substr(pos)); - } else if (pos == i) { - bpstr.assign(str.substr(pos, 1)); - } - if (pos < i || pos == i) - { - Strip(bpstr); - CExpr e(CError); - e.Set(bpstr); - e.Evaluate(sym); - r->vals.push_back(e); - } - } - } - } - - if (Stack.size() != 1) - { - rpn *t = 0; - while (!Stack.empty()) - { - t = Stack.top(); - if (t) - delete t; - t = 0; - Stack.pop(); - } - CError->ErrorMsg(Err_Unmatched_Token, '('); - return 0; - } - - Stack.pop(); - CExpr final; - final = EvalRpn(r, sym); - - delete r; - r = 0; - - return final; -} - -CExpr Compiler::EvalRpn(rpn *r, SymbolType sym) -{ - int i = 0, j = 0; - CExpr er, el; - std::vector::iterator Q; - std::vector::iterator R; - - while (r->ops.size()) - { - for (i=1; iops.size(); j++) - { - if (r->ops[j] == c) - { - if ((int)r->vals.size() <= j) - assert(0);// Can't have more ops than values - el = r->vals[j]; - if (i != Token_Not) - { - if ((int)r->vals.size() <= j+1) - { - assert(0); - } - er = r->vals[j+1]; - el.Oper((OpToken)i, er); - } else { - el.Not(); - } - R = r->ops.begin(); - Q = r->vals.begin(); - if (i != Token_Not) - { - R += j; - Q += j; - r->ops.erase(R); - r->vals[j+1] = el; - r->vals.erase(Q); - j--; - } else { - R += j; - r->ops.erase(R); - r->vals[j] = el; - } - } - } - } - } - - return r->vals[0]; -} - -void DestroyArgList(std::vector &List) -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -void Compiler::PrintCodeList() -{ - std::vector::iterator i; - std::vector::iterator j; - - for (i=CodeList.begin(); i!=CodeList.end(); i++) - { - printf("OP: %d [%d]\n", (*i)->op, (*i)->cip); - for (j=(*i)->params.begin(); j!=(*i)->params.end(); j++) - { - printf("\tParameter: %d\n", (*j)); - } - } -} - -int Compiler::DerefSymbol(std::string &str, SymbolType sym) -{ - int val = 0; - - SymbolList::Symbol *S = NULL; - if ( ((S = CSymbols->FindSymbol(str)) == NULL) ) - { - if (sym == Sym_Label) - { - S = CSymbols->AddSymbol(str, Sym_Label, -1); - } else if (sym == Sym_Proc) { - S = CSymbols->AddSymbol(str, Sym_Proc, -1); - } else { - CError->ErrorMsg(Err_Unknown_Symbol, str.c_str()); - return 0; - } - } - if (sym != Sym_Dat && S->type != sym) - { - CError->ErrorMsg(Err_Invalid_Symbol); - return 0; - } - switch (S->type) - { - case Sym_Proc: - { - ProcMngr::AsmProc *p = 0; - - if ( ((p = PROC->FindProc(str)) == NULL) ) - { - /* Labels we handle differently. - Add it to the label queue - */ - p = PROC->AddProc(S, NULL); - PROC->QueueProc(str, CurAsm()); - val = ProcMngr::ncip; - } else if (p->ASM == NULL) { - PROC->QueueProc(str, CurAsm()); - val = ProcMngr::ncip; - } else { - val = p->ASM->cip; - } - break; - } - case Sym_Native: - { - val = CNatives->GetNativeId(str); - if (val == NativeMngr::ncip) - { - CError->ErrorMsg(Err_Invalid_Symbol); - return 0; - } - break; - } - case Sym_Dat: - { - val = DAT->GetOffset(str); - if (val == DataMngr::nof) - { - CError->ErrorMsg(Err_Invalid_Symbol); - return 0; - } - break; - } - case Sym_Label: - { - LabelMngr::Label *L = 0; - - if ( (L = CLabels->FindLabel(str)) == NULL ) - { - /* Labels we handle differently. - Add it to the label queue - */ - L = CLabels->AddLabel(S, LabelMngr::ncip); - CLabels->QueueLabel(str, CurAsm()); - LabelStack.push(str); - } else if (L->cip == LabelMngr::ncip) { - //if we don't queue the label the jump won't be resolved! - CLabels->QueueLabel(str, CurAsm()); - } - - val = L->cip; - break; - } - default: - { - CError->ErrorMsg(Err_Invalid_Symbol); - return 0; - break; - } - } - - return val; -} - -bool Compiler::IsSymbol(std::string &str) -{ - SymbolList::Symbol *S = 0; - - if ( (S = CSymbols->FindSymbol(str)) == NULL ) - return false; - - return true; -} - -rpn::~rpn() -{ -// ops.clear(); -// vals.clear(); -} diff --git a/compiler/scasm/amx_compiler.h b/compiler/scasm/amx_compiler.h deleted file mode 100755 index d919d030..00000000 --- a/compiler/scasm/amx_compiler.h +++ /dev/null @@ -1,110 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_compiler.h 835 2004-08-12 16:31:50Z dvander $ - */ - -#ifndef _INCLUDE_AMXCOMPILER_H -#define _INCLUDE_AMXCOMPILER_H - -#define CHK_PARAMS(d) \ - if (paramList.size() > d) \ - { \ - CError->ErrorMsg(Warning_Param_Count, paramList.size(), d); \ - } else if (paramList.size() < d) { \ - CError->ErrorMsg(Err_Param_Count, paramList.size(), d); \ - delete ASM; \ - ASM = 0; \ - } - -#define PUSH_PARAM(n,sym) \ - if (paramList.size() >= n) \ - { \ - ASM->params.push_back(Eval(*(paramList[n-1]), sym)); \ - lastCip+=cellsize; \ - } - -class rpn -{ -public: - ~rpn(); - //TODO: use linked lists, but not std::list - std::vector ops; - std::vector vals; -}; - -class Compiler -{ -public: - Compiler(); - ~Compiler(); - Compiler(std::string &f); - void Load(std::string &f); - bool Parse(); - bool Compile(std::string &out); - int CurLine() { return curLine; } - ErrorMngr *ErrorHandler() { return CError; } - void PrintCodeList(); -public: - int FindArguments(std::string &text, std::vector &List, int &end, bool simple = false); - void Clear(); - int CipCount(); - int CurCip() { return lastCip; } - Asm *CurAsm() { return curAsm; } - bool SetDebug(); - bool SetPack(); - bool SetDOpt(); - int DerefSymbol(std::string &str, SymbolType sym = Sym_None); - bool IsSymbol(std::string &str); -private: - void ProcessDirective(std::string &text); - void Init(); - void InitOpcodes(); - int Eval(std::string &str, SymbolType sym = Sym_None); - CExpr EvalE(std::string &str, SymbolType sym = Sym_None); - CExpr EvalRpn(rpn *r, SymbolType sym); - OpToken OperToken(char c); - char OperChar(OpToken c); - void WriteCell(FILE *fp, ucell *c, int repeat); -private: - std::vector CodeList; - std::map OpCodes; - std::stack LabelStack; - char *Output; - ErrorMngr *CError; - SymbolList *CSymbols; - DefineMngr *CDefines; - MacroList *CMacros; - DataMngr *DAT; - ProcMngr *PROC; - LabelMngr *CLabels; - NativeMngr *CNatives; - std::string filename; - int curLine; - int lastCip; - int cellsize; - int stacksize; - bool debug; - bool pack; - bool dopt; - int bitsOut; - Asm *curAsm; -}; - -#endif //_INCLUDE_AMXCOMPILER_H diff --git a/compiler/scasm/amx_data.cpp b/compiler/scasm/amx_data.cpp deleted file mode 100755 index 48758c35..00000000 --- a/compiler/scasm/amx_data.cpp +++ /dev/null @@ -1,196 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_data.cpp 828 2004-08-11 14:31:26Z dvander $ - */ - -#include "amxasm.h" - -DataMngr::~DataMngr() -{ - Clear(); -} - -void DataMngr::Clear() -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -DataMngr::Datum::Datum() -{ - db = false; - offset = -1; - fill = 0; - zeroed = false; -} - -void DataMngr::Add(std::string &s, CExpr &expr, bool db, int fill) -{ - DataMngr::Datum *D = new DataMngr::Datum(); - - D->symbol.assign(s); - D->e = expr; - D->fill = fill; - D->db = db; - - int size = 0; - - if (db) - { - size = ((D->e.GetType() == Val_Number) ? - cellsize : D->e.Size() * cellsize); - } else { - size = (D->e.GetNumber() * cellsize); - } - - if (List.size() == 0) - { - D->offset = 0; - } else { - DataMngr::Datum *p = List[List.size()-1]; - if (p->db) - { - D->offset = p->offset + - ((p->e.GetType() == Val_Number) ? - cellsize : p->e.Size() * cellsize); - } else { - D->offset = p->offset + (p->e.GetNumber() * cellsize); - } - } - - cursize += size; - - List.push_back(D); -} - -DataMngr::Datum *DataMngr::FindData(std::string &sym) -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ((*i)->symbol.compare(sym) == 0) - { - return (*i); - } - } - - return NULL; -} - -int DataMngr::GetOffset(std::string &sym) -{ - DataMngr::Datum *D = NULL; - - D = FindData(sym); - - if (D == NULL) - return DataMngr::nof; - - return D->offset; -} - -int DataMngr::GetSize() -{ - return cursize; -} - -void DataMngr::GetData(std::vector &dList) -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - dList.push_back( (*i) ); - } -} - -void DataMngr::PrintTable() -{ - std::vector::iterator i; - DataMngr::Datum *p = 0; - - printf("Symbol\tSize\n"); - for (i=List.begin(); i!=List.end(); i++) - { - p = (*i); - printf("%s\t%d\n", p->symbol.c_str(), p->offset); - } -} - -//Rewrite the DAT section so empties are at the end -void DataMngr::Optimize() -{ - std::vector DbList; - std::vector MtList; - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i)->db ) - { - DbList.push_back( (*i) ); - } else if ( (*i)->fill == 0 ) { - MtList.push_back( (*i) ); - } else { - DbList.push_back( (*i) ); - } - } - - List.clear(); - - lastOffset = 0; - cursize = 0; - int size = 0; - - for (i=DbList.begin(); i!=DbList.end(); i++) - { - size = (( (*i)->e.GetType() == Val_Number - || (*i)->e.GetType() == Val_Float ) ? - cellsize : (*i)->e.Size() * cellsize); - (*i)->offset = lastOffset; - lastOffset += size; - (*i)->zeroed = false; - List.push_back( (*i) ); - } - - cursize = lastOffset; - DbList.clear(); - - for (i=MtList.begin(); i!=MtList.end(); i++) - { - size = ( (*i)->e.GetNumber() * cellsize ); - (*i)->offset = lastOffset; - lastOffset += size; - (*i)->zeroed = true; - List.push_back( (*i) ); - } - - MtList.clear(); - - optimized = true; -} diff --git a/compiler/scasm/amx_data.h b/compiler/scasm/amx_data.h deleted file mode 100755 index 3281a1e4..00000000 --- a/compiler/scasm/amx_data.h +++ /dev/null @@ -1,63 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_data.h 828 2004-08-11 14:31:26Z dvander $ - */ - -#ifndef _INCLUDE_AMXDATA_H -#define _INCLUDE_AMXDATA_H - -class DataMngr -{ -public: - class Datum - { - public: - Datum(); - std::string symbol; - CExpr e; - bool db; - int offset; - int fill; - bool zeroed; - }; -public: - ~DataMngr(); - DataMngr() { cellsize = 4; lastOffset = 0; cursize = 0; optimized = false; } - DataMngr(int cell) { lastOffset = 0; cellsize = cell; cursize = 0; optimized = false; } - void Add(std::string &s, CExpr &expr, bool db = false, int fill = 0); - DataMngr::Datum *FindData(std::string &sym); - void GetData(std::vector &dList); - int GetOffset(std::string &sym); - int GetSize(); - void Clear(); - void PrintTable(); - void Optimize(); - bool IsOptimized() { return optimized; } -private: - std::vector List; - int lastOffset; - int cellsize; - int cursize; - bool optimized; -public: - static const int nof = -1; -}; - -#endif //_INCLUDE_AMXDATA_H diff --git a/compiler/scasm/amx_define.cpp b/compiler/scasm/amx_define.cpp deleted file mode 100755 index dabe1767..00000000 --- a/compiler/scasm/amx_define.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_define.cpp 826 2004-08-11 10:01:56Z dvander $ - */ - -#include "amxasm.h" - -DefineMngr::~DefineMngr() -{ - Clear(); -} - -void DefineMngr::Clear() -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -void DefineMngr::Define::Set(std::string &s, std::string &d) -{ - sym.assign(s); - def.assign(d); -} - -DefineMngr::Define *DefineMngr::AddDefine(std::string &sym, std::string &def) -{ - DefineMngr::Define *D = new DefineMngr::Define; - - D->Set(sym, def); - - List.push_back(D); - - return D; -} - -DefineMngr::Define *DefineMngr::FindDefine(std::string &sym) -{ - std::vector::iterator i; - for (i=List.begin(); i!=List.end(); i++) - { - if ((*i)->GetSymbol()->compare(sym)==0) - { - return (*i); - } - } - return NULL; -} - -void DefineMngr::SearchAndReplace(std::string &text) -{ - std::vector::iterator i; - DefineMngr::Define *D = NULL; - int pos; - - for (i=List.begin(); i!=List.end(); i++) - { - D = (*i); - pos = FindSymbol(text, *(D->GetSymbol()), 0); - if (pos != -1) - { - text.replace(pos, D->GetSymbol()->size(), *(D->GetDefine())); - i = List.begin(); - } - } -} - diff --git a/compiler/scasm/amx_define.h b/compiler/scasm/amx_define.h deleted file mode 100755 index 6a543f99..00000000 --- a/compiler/scasm/amx_define.h +++ /dev/null @@ -1,49 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_define.h 821 2004-08-11 08:18:14Z dvander $ - */ - -#ifndef _INCLUDE_DEFINE_H -#define _INCLUDE_DEFINE_H - -class DefineMngr -{ -public: - class Define - { - public: - void Set(std::string &s, std::string &d); - const std::string *GetSymbol() { return &sym; } - const std::string *GetDefine() { return &def; } - private: - std::string sym; - std::string def; - }; -private: - std::vector List; -public: - ~DefineMngr(); - void Clear(); - DefineMngr::Define *AddDefine(std::string &sym, std::string &def); - DefineMngr::Define *FindDefine(std::string &sym); - void SearchAndReplace(std::string &text); -}; - -#endif //_INCLUDE_DEFINE_H diff --git a/compiler/scasm/amx_error.cpp b/compiler/scasm/amx_error.cpp deleted file mode 100755 index 5b145536..00000000 --- a/compiler/scasm/amx_error.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_error.cpp 835 2004-08-12 16:31:50Z dvander $ - */ - -#include "amxasm.h" - -ErrorMngr::ErrorMngr() -{ - printf("Not instantiated with a compiler."); - Cmp = NULL; - line = -1; - assert(Cmp); -} - -void ErrorMngr::Clear() -{ - Totals[0] = 0; - Totals[1] = 0; - Totals[2] = 0; - Totals[3] = 0; - HighestError = Err_None; -} - -int ErrorMngr::CurLine() -{ - return ((Compiler *)Cmp)->CurLine(); -} - -int ErrorMngr::CurCip() -{ - return ((Compiler *)Cmp)->CurCip(); -} - -ErrorMngr::ErrorMngr(void *c) -{ - Cmp = c; - DefineErrors(); - Totals[0] = 0; - Totals[1] = 0; - Totals[2] = 0; - Totals[3] = 0; - line = -1; - HighestError = Err_None; -} - -ErrorType ErrorMngr::GetErrorType(ErrorCode id) -{ - if (id > fatals_start && id < fatals_end) - return Err_Fatal; - if (id > warnings_start && id < warnings_end) - return Err_Warning; - if (id > notices_start && id < notices_end) - return Err_Notice; - if (id > errors_start && id < errors_end) - return Err_Error; - return Err_None; -} - -void ErrorMngr::DefineErrors() -{ - List.resize(fatals_end+1); - - List.at(Warning_Hex_Start) = "Hexadecimal notation is 0xN, 0 missing"; - List.at(Warning_Null_Expression) = "Bad expression will evaluate to 0"; - List.at(Warning_Param_Count) = "Expected %d parameters, found %d"; - - List.at(Err_String_Terminate) = "String not terminated properly"; - List.at(Err_String_Extra) = "Unexpected characters after string end (character '%c')"; - List.at(Err_Unexpected_Char) = "Unexpected character found (character '%c')"; - List.at(Err_Wandering_Stuff) = "Unknown directive placed outside of a section"; - List.at(Err_Symbol_Reuse) = "Symbol \"%s\" already defined on line %d"; - List.at(Err_Invalid_Stor) = "Invalid DAT storage identifier \"%s\""; - List.at(Err_Unknown_Symbol) = "Unknown symbol \"%s\""; - List.at(Err_Symbol_Type) = "Expected symbol type %d, got %d (bad symbol)"; - List.at(Err_Invalid_Symbol) = "Invalid symbol"; - List.at(Err_Opcode) = "Invalid or unrecognized opcode"; - List.at(Err_Unmatched_Token) = "Unmatched token '%c'"; - List.at(Err_Param_Count) = "Expected %d parameters, found %d"; - List.at(Err_Unknown_Define) = "Unknown define referenced"; - List.at(Err_Misplaced_Directive) = "Misplaced preprocessor directive"; - List.at(Err_Bad_Label) = "Label referenced without being created"; - List.at(Err_Bad_Not) = "Wrong type argument to bit-complement"; - List.at(Err_Invalid_Operator) = "Operator used on bad type"; - List.at(Err_Invalid_Pragma) = "Invalid pragma"; - List.at(Err_Invalid_Proc) = "Procedure referenced that does not exist"; - - List.at(Err_FileNone) = "No file specified"; - List.at(Err_FileOpen) = "Could not open file \"%s\""; - List.at(Err_NoMemory) = "Ran out of memory"; - List.at(Err_PragmaStacksize) = "Invalid stacksize on #pragma stacksize"; - List.at(Err_InvalidMacro) = "Invalid or empty macro definition"; - List.at(Err_SymbolRedef) = "Symbol \"%s\" already defined on line %d"; - List.at(Err_Reserved) = "Symbol assigned to a reserved token"; - List.at(Err_MacroParamCount) = "Parameter count for macro \"%s\" incorrect"; - List.at(Err_FatalTokenError) = "Fatal token error encountered"; - List.at(Err_Invalid_Section) = "Section identifier \"%s\" is not valid, ignoring section."; -} - -void ErrorMngr::PrintReport() -{ - static char *ErrorSwi[4] = {"Notice", "Warning", "Error", "Fatal Error"}; - int i = 0; - - printf("+---------------------------+\n"); - - for (i=0; i<4; i++) - { - printf("| %ss: %s%d |\n", ErrorSwi[i], (i!=3)?"\t\t":"\t", Totals[i]); - } - - printf("+---------------------------+\n"); -} - -void ErrorMngr::ErrorMsg(ErrorCode error, ...) -{ - static char *ErrorSwi[4] = {"Notice", "Warning", "Error", "Fatal Error"}; - static char errbuf[1024]; - ErrorType type = GetErrorType(error); - if (type == -1) - return; - - int curLine = 0; - - if (line == -1) - { - curLine = ((Compiler *)Cmp)->CurLine(); - } else { - curLine = line; - line = -1; - } - - va_list argptr; - va_start(argptr, error); - - if (((Compiler *)Cmp)->CurLine() == -1) - sprintf(errbuf, "%s(%d): %s\n", ErrorSwi[type], error, GetError(error)); - else - sprintf(errbuf, "%s(%d) on line %d: %s\n", ErrorSwi[type], error, curLine, GetError(error)); - vprintf(errbuf, argptr); - - va_end(argptr); - - Totals[type]++; - - if (type == Err_Fatal) - exit(0); - if (type > HighestError) - HighestError = type; -} - -const char *ErrorMngr::GetError(ErrorCode id) -{ - if (id == fatals_start || id == fatals_end) - return NULL; - if (id == warnings_start || id == warnings_end) - return NULL; - if (id == notices_start || id == notices_end) - return NULL; - if (id == errors_start || id == errors_end) - return NULL; - if (id < notices_start || id > fatals_end) - return NULL; - return List.at(id); -} - -int ErrorMngr::DerefSymbol(std::string &str, int sym) -{ - return ((Compiler *)Cmp)->DerefSymbol(str, (SymbolType)sym); -} - -bool ErrorMngr::IsSymbol(std::string &str) -{ - return ((Compiler *)Cmp)->IsSymbol(str); -} - -void ErrorMngr::SetLine(int ln) -{ - line = ln; -} - diff --git a/compiler/scasm/amx_error.h b/compiler/scasm/amx_error.h deleted file mode 100755 index 83a0d8f1..00000000 --- a/compiler/scasm/amx_error.h +++ /dev/null @@ -1,109 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_error.h 835 2004-08-12 16:31:50Z dvander $ - */ - -#ifndef _INCLUDE_AMX_ERROR -#define _INCLUDE_AMX_ERROR - -typedef enum -{ - Err_None=-1, - Err_Notice, - Err_Warning, - Err_Error, - Err_Fatal, -} ErrorType; - -typedef enum -{ - notices_start, - notices_end, - - warnings_start, - Warning_Hex_Start, - Warning_Null_Expression, - Warning_Param_Count, - warnings_end, - - errors_start, - Err_String_Terminate, - Err_String_Extra, - Err_Unexpected_Char, - Err_Invalid_Section, - Err_Wandering_Stuff, - Err_Symbol_Reuse, /* Non-fatal version of Redef */ - Err_Invalid_Stor, - Err_Unknown_Symbol, - Err_Symbol_Type, - Err_Invalid_Symbol, - Err_Opcode, - Err_Unmatched_Token, - Err_Param_Count, - Err_Unknown_Define, - Err_Misplaced_Directive, - Err_Bad_Label, - Err_Bad_Not, - Err_Invalid_Operator, - Err_Invalid_Pragma, - Err_Invalid_Proc, - errors_end, - - fatals_start, - Err_FileNone, - Err_FileOpen, - Err_NoMemory, - Err_PragmaStacksize, - Err_InvalidMacro, - Err_SymbolRedef, - Err_Reserved, - Err_MacroParamCount, - Err_FatalTokenError, - fatals_end, - -} ErrorCode; - -class ErrorMngr -{ -private: - void DefineErrors(); - const char *GetError(ErrorCode id); - ErrorType GetErrorType(ErrorCode id); -private: - std::vector List; - ErrorType HighestError; - void *Cmp; - int Totals[4]; - int line; -public: - ErrorMngr(); - ErrorMngr(void *c); - void Clear(); - void ErrorMsg(ErrorCode error, ...); - ErrorType GetStatus() { return HighestError; } - void PrintReport(); - int CurLine(); - int CurCip(); - void SetLine(int ln); - int DerefSymbol(std::string &str, int sym = 0); - bool IsSymbol(std::string &str); -}; - -#endif //_INCLUDE_AMX_ERROR diff --git a/compiler/scasm/amx_label.cpp b/compiler/scasm/amx_label.cpp deleted file mode 100755 index 20882acd..00000000 --- a/compiler/scasm/amx_label.cpp +++ /dev/null @@ -1,182 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_label.cpp 926 2004-08-21 18:57:47Z dvander $ - */ - -#include "amxasm.h" - -LabelMngr::~LabelMngr() -{ - Clear(); -} - -LabelMngr::Label::Label() -{ - cip = -1; - sym = 0; -} - -void LabelMngr::Clear() -{ - std::list::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -LabelMngr::Label *LabelMngr::AddLabel(SymbolList::Symbol *sym, int cip) -{ - LabelMngr::Label *p = new LabelMngr::Label; - - p->sym = sym; - p->cip = cip; - - List.push_back(p); - - return p; -} - -LabelMngr::Label *LabelMngr::FindLabel(std::string &sym) -{ - std::list::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i)->sym->IsEqual(sym) ) - { - return (*i); - } - } - - return NULL; -} - -bool LabelMngr::SetCip(std::string &sym, int cip) -{ - LabelMngr::Label *p = NULL; - - p = FindLabel(sym); - - if (p == NULL) - return false; - - p->cip = cip; - - return true; -} - -void LabelMngr::QueueLabel(std::string &sym, Asm *ASM) -{ - std::string d(sym); - LQ[d].push(ASM); -} - -void LabelMngr::CompleteQueue(bool isLocal) -{ - std::map >::iterator i; - std::stack *stk = 0; - std::stack >::iterator> DeleteStack; - std::string search; - Asm *ASM = 0; - LabelMngr::Label *p = 0; - - for (i=LQ.begin(); i!=LQ.end(); i++) - { - search.assign( (*i).first ); - p = FindLabel(search); - stk = &((*i).second); - if (p == NULL || p->cip == LabelMngr::ncip) - { - if ((!isLocal || (isLocal && search[0]=='_')) && CError) - { - while (!stk->empty()) - { - CError->SetLine(stk->top()->line); - CError->ErrorMsg(Err_Bad_Label); - stk->pop(); - } - DeleteStack.push( i ); - } - } else { - while (!stk->empty()) - { - ASM = stk->top(); - ASM->params[0] = p->cip; - stk->pop(); - } - DeleteStack.push( i ); - } - } - - while (!DeleteStack.empty()) - { - LQ.erase(DeleteStack.top()); - DeleteStack.pop(); - } -} - -int LabelMngr::GetCip(std::string &sym) -{ - LabelMngr::Label *p = NULL; - - p = FindLabel(sym); - - if (p == NULL) - return ncip; - - return p->cip; -} - -bool LabelMngr::EraseLabel(std::string &sym) -{ - std::list::iterator i; - LabelMngr::Label *L = 0; - - for (i=List.begin(); i!=List.end(); i++) - { - L = (*i); - if ( L->sym->IsEqual(sym) ) - { - i = List.erase(i); - L->sym = 0; - delete L; - L = 0; - return true; - } - } - - return false; -} - -void LabelMngr::PrintList() -{ - std::list::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - printf("Label:\t%s\t%d\t%d\n", (*i)->sym->sym.c_str(), (*i)->cip, (*i)->sym->line); - } -} - diff --git a/compiler/scasm/amx_label.h b/compiler/scasm/amx_label.h deleted file mode 100755 index 6cc5a245..00000000 --- a/compiler/scasm/amx_label.h +++ /dev/null @@ -1,57 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_label.h 835 2004-08-12 16:31:50Z dvander $ - */ - -#ifndef _INCLUDE_AMXLABEL_H -#define _INCLUDE_AMXLABEL_H - -class LabelMngr -{ -public: - class Label - { - public: - Label(); - SymbolList::Symbol *sym; - int cip; - }; -public: - ~LabelMngr(); - LabelMngr() { CError = NULL; assert(CError!=NULL); } - LabelMngr(ErrorMngr *e) { CError = e; } - LabelMngr::Label *AddLabel(SymbolList::Symbol *sym, int cip); - LabelMngr::Label *FindLabel(std::string &sym); - int GetCip(std::string &sym); - void Clear(); - bool SetCip(std::string &sym, int cip); - void QueueLabel(std::string &sym, Asm *ASM); - void CompleteQueue(bool isLocal = false); - bool EraseLabel(std::string &sym); - void PrintList(); -private: - std::list List; - std::map > LQ; - ErrorMngr *CError; -public: - static const int ncip = -1; -}; - -#endif //_INCLUDE_AMXLABEL_H diff --git a/compiler/scasm/amx_macro.cpp b/compiler/scasm/amx_macro.cpp deleted file mode 100755 index fdec1348..00000000 --- a/compiler/scasm/amx_macro.cpp +++ /dev/null @@ -1,173 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_macro.cpp 826 2004-08-11 10:01:56Z dvander $ - */ - -#include "amxasm.h" - -MacroList::~MacroList() -{ - Clear(); -} - -void MacroList::Clear() -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -MacroList::Macro::~Macro() -{ - std::vector::iterator i; - - for (i=argList.begin(); i!=argList.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - argList.clear(); -} - -MacroList::MacroList() -{ - printf("Not instantiated with a compiler\n"); - exit(0); -} - -MacroList::MacroList(void *c) -{ - CError = ((Compiler *)c)->ErrorHandler(); - Cmp = c; -} - -std::string *MacroList::BeginReplacement(MacroList::Macro *macro) -{ - std::string *mstring = new std::string(macro->macro); - - macro->arg = macro->argList.begin(); - macro->argpos = 0; - - return mstring; -} - -int MacroList::ReplaceArgument(MacroList::Macro *m, std::string *macro, std::string &arg, int pos = 0) -{ - int bPos = 0; - - bPos = FindSymbol(*macro, *(*m->arg), pos); - - if (bPos != -1) - { - macro->replace(bPos, (*m->arg)->size(), arg); - bPos += (int)arg.size(); - } - - m->arg++; - m->argpos++; - - return bPos; -} - -void MacroList::EndReplacement(MacroList::Macro *m, std::string *macro) -{ - if (m->arg != m->argList.end()) - { - CError->ErrorMsg(Err_MacroParamCount, m->symbol.c_str()); - } - - m->arg = m->argList.begin(); - m->argpos = 0; -} - -MacroList::Macro *MacroList::AddMacroBegin(std::string &symbol, std::string &mac) -{ - Macro *macro = new Macro; - macro->macro.assign(mac); - macro->symbol.assign(symbol); - return macro; -} - -void MacroList::AddMacroArgument(MacroList::Macro *m, std::string &arg) -{ - std::string *sArg = new std::string(arg); - m->argList.push_back(sArg); -} - -void MacroList::AddMacroEnd(MacroList::Macro *m) -{ - List.push_back(m); -} - -MacroList::Macro *MacroList::FindMacro(std::string &sym) -{ - std::vector::iterator i; - for (i=List.begin(); i!=List.end(); i++) - { - if ((*i)->macro.compare(sym) == 0) - return (*i); - } - - return NULL; -} - -void MacroList::SearchAndReplace(std::string &text) -{ - std::vector::iterator i; - MacroList::Macro *m = NULL; - int pos=0, symPos=0, bPos=0, argPos=0; - - for (i=List.begin(); i!=List.end(); i++) - { - m = (*i); - pos = FindSymbol(text, m->symbol, 0); - if (pos != -1) - { - /* Strip the arguments */ - std::string argstring; - symPos = pos + (int)m->symbol.size(); - argstring.assign(text.substr(symPos+1, text.size()-symPos)); - std::vector argList; - ((Compiler *)Cmp)->FindArguments(argstring, argList, bPos, true); - /* Build the macro */ - std::string *ms; - ms = BeginReplacement(m); - std::vector::iterator j; - for (j=argList.begin(); j!=argList.end(); j++) - { - argPos = ReplaceArgument(m, ms, *(*j), argPos); - } - EndReplacement(m, ms); - /* Search and replace */ - text.replace(pos, bPos-pos, *ms); - /* Cleanup */ - delete ms; - i = List.begin(); - } - } -} - diff --git a/compiler/scasm/amx_macro.h b/compiler/scasm/amx_macro.h deleted file mode 100755 index e8445f27..00000000 --- a/compiler/scasm/amx_macro.h +++ /dev/null @@ -1,58 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_macro.h 821 2004-08-11 08:18:14Z dvander $ - */ - -#ifndef _INCLUDE_MACRO_H -#define _INCLUDE_MACRO_H - -class MacroList -{ -public: - class Macro - { - public: - ~Macro(); - std::vector::iterator arg; - std::vector argList; - std::string symbol; - std::string macro; - int argpos; - }; -public: - MacroList(); - MacroList(void *c); - ~MacroList(); - void Clear(); - MacroList::Macro *AddMacroBegin(std::string &symbol, std::string &mac); - void AddMacroArgument(MacroList::Macro *m, std::string &arg); - void AddMacroEnd(MacroList::Macro *m); - MacroList::Macro *FindMacro(std::string &sym); - std::string *BeginReplacement(MacroList::Macro *macro); - int ReplaceArgument(MacroList::Macro *m, std::string *macro, std::string &arg, int pos); - void EndReplacement(MacroList::Macro *m, std::string *macro); - void SearchAndReplace(std::string &text); -private: - std::vector List; - ErrorMngr *CError; - void *Cmp; -}; - -#endif //_INCLUDE_MACRO_H diff --git a/compiler/scasm/amx_nametable.h b/compiler/scasm/amx_nametable.h deleted file mode 100755 index 80df9f7c..00000000 --- a/compiler/scasm/amx_nametable.h +++ /dev/null @@ -1,41 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_nametable.h 826 2004-08-11 10:01:56Z dvander $ - */ - -#ifndef _INCLUDE_NAMETABLE_H -#define _INCLUDE_NAMETABLE_H - -class NameRecord -{ -public: - const char *Name; - int32_t offset; -}; - -class AddrTable -{ -public: - int32_t addr; - int32_t offset; -}; - -#endif //_INCLUDE_NAMETABLE_H - diff --git a/compiler/scasm/amx_natives.cpp b/compiler/scasm/amx_natives.cpp deleted file mode 100755 index 710e1129..00000000 --- a/compiler/scasm/amx_natives.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_natives.cpp 826 2004-08-11 10:01:56Z dvander $ - */ - -#include "amxasm.h" - -NativeMngr::~NativeMngr() -{ - Clear(); -} - -void NativeMngr::Clear() -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -void NativeMngr::AddNative(SymbolList::Symbol *S) -{ - NativeMngr::Native *N = new NativeMngr::Native; - - N->S = S; - N->used = false; - - List.push_back(N); -} - -int NativeMngr::GetNativeId(std::string &sym) -{ - int pos = 0; - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i)->S->IsEqual(sym) ) - { - return pos; - } - pos++; - } - - return ncip; -} - -NativeMngr::Native *NativeMngr::FindNative(std::string &sym) -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i)->S->IsEqual(sym) ) - { - return (*i); - } - } - - return NULL; -} - -void NativeMngr::GetNatives(std::vector &nList) -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - nList.push_back( (*i) ); - } -} - diff --git a/compiler/scasm/amx_natives.h b/compiler/scasm/amx_natives.h deleted file mode 100755 index d570ee1f..00000000 --- a/compiler/scasm/amx_natives.h +++ /dev/null @@ -1,49 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_natives.h 821 2004-08-11 08:18:14Z dvander $ - */ - -#ifndef _INCLUDE_NATIVES_H -#define _INCLUDE_NATIVES_H - -class NativeMngr -{ -public: - class Native - { - public: - Native() { used = false; S = NULL; } - SymbolList::Symbol *S; - bool used; - }; -public: - ~NativeMngr(); - void AddNative(SymbolList::Symbol *S); - void Clear(); - NativeMngr::Native *FindNative(std::string &sym); - int GetNativeId(std::string &sym); - void GetNatives(std::vector &nList); -public: - static const int ncip = -1; -private: - std::vector List; -}; - -#endif //_INCLUDE_NATIVES_H diff --git a/compiler/scasm/amx_parser.cpp b/compiler/scasm/amx_parser.cpp deleted file mode 100755 index 7ed81a96..00000000 --- a/compiler/scasm/amx_parser.cpp +++ /dev/null @@ -1,209 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_parser.cpp 826 2004-08-11 10:01:56Z dvander $ - */ - -#include "amxasm.h" - -char isletter(char c) -{ - if (c >= 65 && c <= 90) - return c; - if (c >= 97 && c <= 122) - return c; - if (c == '_') - return c; - return 0; -} - -char expr(char c) -{ - if (c == '(') - return ')'; - if (c == ')') - return '('; - return 0; -} - -char literal(char c) -{ - if (c == '"') - return '"'; - if (c == '\'') - return '\''; - return 0; -} - -void StripComments(std::string &text) -{ - size_t i = 0; - char c = 0, l = 0; - - for (i=0; i=0; i--) - { - if (!isspace(text[i]) - || (isspace(text[i]) && (i==0))) - { - text.erase(i+1, text.size()-1-i); - break; - } - } - } - - if (text.size() == 1) - { - if (isspace(text[0])) - { - text.clear(); - return; - } - } -} - -/* This is a very simple symbol searcher - * It only restricts the pattern location to outside of - * string literals and other symbols. - */ -int FindSymbol(std::string &text, const std::string &sym, int startPos = 0) -{ - unsigned int i = 0; - char c = 0, d = 0, l = 0; - - for (i=startPos; i text.size() - i) - break; - - /* Skip literal strings */ - if (l) - { - if (d == l) - l = 0; - c = d; - continue; - } else { - l = literal(d); - if (l) - { - c = d; - continue; - } - } - - /* If the last character was a letter, we're in a symbol already */ - if (isletter(c)) - { - c = d; - continue; - } - - /* If the current character is a letter, test for a symbol */ - if (text.compare(i, sym.size(), sym) == 0) - return i; - - c = d; - } - - return -1; -} - diff --git a/compiler/scasm/amx_parser.h b/compiler/scasm/amx_parser.h deleted file mode 100755 index 512e3e34..00000000 --- a/compiler/scasm/amx_parser.h +++ /dev/null @@ -1,36 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_parser.h 821 2004-08-11 08:18:14Z dvander $ - */ - -#ifndef _INCLUDE_PARSER_H -#define _INCLUDE_PARSER_H - -void StringBreak(std::string &Source, std::string &Left, std::string &Right); -int FindArguments(std::string &text, std::vector &List, int &end); -int FindSymbol(std::string &text, const std::string &sym, int startPos); -void ProcessDirective(std::string &text); -void StripComments(std::string &text); -void Strip(std::string &text); -char isletter(char c); -char literal(char c); -char expr(char c); - -#endif //_INCLUDE_PARSER_H diff --git a/compiler/scasm/amx_proc.cpp b/compiler/scasm/amx_proc.cpp deleted file mode 100755 index 6dfb1f73..00000000 --- a/compiler/scasm/amx_proc.cpp +++ /dev/null @@ -1,159 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_proc.cpp 926 2004-08-21 18:57:47Z dvander $ - */ - -#include "amxasm.h" - -ProcMngr::ProcMngr() -{ - CError = 0; - printf("Instantiated without a compiler!\n"); - assert(CError); -} - -ProcMngr::ProcMngr(ErrorMngr *e) -{ - CError = e; -} - -ProcMngr::~ProcMngr() -{ - Clear(); -} - -void ProcMngr::Clear() -{ - std::vector::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -ProcMngr::AsmProc *ProcMngr::AddProc(SymbolList::Symbol *Symbol, Asm *ASM) -{ - ProcMngr::AsmProc *a = new ProcMngr::AsmProc; - - a->ASM = ASM; - a->Symbol = Symbol; - a->pb = false; - - List.push_back(a); - - return a; -} - -bool ProcMngr::SetPublic(std::string &sym) -{ - ProcMngr::AsmProc *a = NULL; - - a = FindProc(sym); - - if (a == NULL) - return false; - - a->pb = true; - - return true; -} - -void ProcMngr::GetPublics(std::vector &pbList) -{ - std::vector::reverse_iterator i; - - for (i=List.rbegin(); i!=List.rend(); i++) - { - if ((*i)->pb == true) - { - pbList.push_back( (*i) ); - } - } -} - -ProcMngr::AsmProc *ProcMngr::FindProc(std::string &sym) -{ - std::vector::iterator i; - - for (i = List.begin(); i != List.end(); i++) - { - if ( (*i)->Symbol->IsEqual(sym) ) - { - return (*i); - } - } - - return NULL; -} - -int ProcMngr::GetCip(std::string &sym) -{ - ProcMngr::AsmProc *p = NULL; - - p = FindProc(sym); - - if (p == NULL || p->ASM == NULL) - return ncip; - - return p->ASM->cip; -} - -void ProcMngr::QueueProc(std::string &sym, Asm *ASM) -{ - std::string d(sym); - PQ[d].push(ASM); -} - -void ProcMngr::CompleteQueue() -{ - std::map >::iterator i; - std::string search; - ProcMngr::AsmProc *p = 0; - std::stack *stk = 0; - - for (i=PQ.begin(); i!=PQ.end(); i++) - { - search.assign( (*i).first ); - p = FindProc(search); - stk = &((*i).second); - - if (p == NULL || p->ASM == NULL) - { - while (!stk->empty()) - { - CError->SetLine(stk->top()->line); - CError->ErrorMsg(Err_Invalid_Proc); - stk->pop(); - } - } else { - while (!stk->empty()) - { - stk->top()->cip = p->ASM->cip; - stk->top()->params[0] = p->ASM->cip; - stk->pop(); - } - } - } -} - diff --git a/compiler/scasm/amx_proc.h b/compiler/scasm/amx_proc.h deleted file mode 100755 index 4bf2a35a..00000000 --- a/compiler/scasm/amx_proc.h +++ /dev/null @@ -1,56 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_proc.h 835 2004-08-12 16:31:50Z dvander $ - */ - -#ifndef _INCLUDE_AMXPROC_H -#define _INCLUDE_AMXPROC_H - -class ProcMngr -{ -public: - class AsmProc - { - public: - SymbolList::Symbol *Symbol; - Asm *ASM; - bool pb; - }; -public: - ~ProcMngr(); - ProcMngr(); - ProcMngr(ErrorMngr *e); - ProcMngr::AsmProc *AddProc(SymbolList::Symbol *Symbol, Asm *ASM); - ProcMngr::AsmProc *FindProc(std::string &sym); - int GetCip(std::string &sym); - bool SetPublic(std::string &sym); - void GetPublics(std::vector &pbList); - void QueueProc(std::string &sym, Asm *ASM); - void CompleteQueue(); - void Clear(); -private: - std::vector List; - std::map > PQ; - ErrorMngr *CError; -public: - static const int ncip = -1; -}; - -#endif //_INCLUDE_AMXPROC_H diff --git a/compiler/scasm/amx_symbol.cpp b/compiler/scasm/amx_symbol.cpp deleted file mode 100755 index 871cbdba..00000000 --- a/compiler/scasm/amx_symbol.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_symbol.cpp 835 2004-08-12 16:31:50Z dvander $ - */ - -#include "amxasm.h" - -bool is_valid_symbol_marker(char c) -{ - if (c >= '0' && c <= '9') - return true; - if (isletter(c)) - return true; - return false; -} - -bool IsValidSymbol(std::string &text) -{ - size_t i = 0; - - if (!text.size() || !isletter(text[0])) - { - return false; - } - - for (i=0; i::iterator i; - - for (i=List.begin(); i!=List.end(); i++) - { - if ( (*i) ) - delete (*i); - } - - List.clear(); -} - -SymbolList::~SymbolList() -{ - Clear(); -} - -bool SymbolList::Symbol::IsEqual(std::string &s) -{ - return (sym.compare(s)==0); -} - -SymbolList::Symbol* SymbolList::AddSymbol(const char *szSym, SymbolType type, int line) -{ - SymbolList::Symbol *S = new SymbolList::Symbol; - - S->line = line; - S->type = type; - S->sym.assign(szSym); - - List.push_back(S); - return S; -} - -SymbolList::Symbol *SymbolList::AddSymbol(std::string &sym, SymbolType type, int line) -{ - SymbolList::Symbol *S = new SymbolList::Symbol; - - S->line = line; - S->type = type; - S->sym.assign(sym); - - List.push_back(S); - return S; -} - -SymbolList::Symbol* SymbolList::FindSymbol(std::string &sym) -{ - std::list::iterator i; - for (i=List.begin(); i!=List.end(); i++) - { - if ((*i)->IsEqual(sym)) - return (*i); - } - - return NULL; -} - -void SymbolList::PrintTable() -{ - std::list::iterator i; - for (i=List.begin(); i!=List.end(); i++) - { - printf("Symbol \"%s\" defined on line %d\n", (*i)->sym.c_str(), (*i)->line); - } -} - -bool SymbolList::EraseSymbol(std::string &sym) -{ - std::list::iterator i; - SymbolList::Symbol *S = 0; - - for (i=List.begin(); i!=List.end(); i++) - { - S = (*i); - if ( S && S->IsEqual(sym) ) - { - delete S; - i = List.erase(i); - S = 0; - return true; - } - } - - return false; -} diff --git a/compiler/scasm/amx_symbol.h b/compiler/scasm/amx_symbol.h deleted file mode 100755 index caa6f206..00000000 --- a/compiler/scasm/amx_symbol.h +++ /dev/null @@ -1,65 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amx_symbol.h 835 2004-08-12 16:31:50Z dvander $ - */ - -#ifndef _INCLUDE_SYMBOL_H -#define _INCLUDE_SYMBOL_H - -bool IsValidSymbol(std::string &text); - -typedef enum -{ - Sym_None, - Sym_Define, - Sym_Macro, - Sym_Proc, - Sym_Dat, - Sym_Reserved, - Sym_Label, - Sym_Native, -} SymbolType; - -class SymbolList -{ -public: - class Symbol - { - public: - bool IsEqual(std::string &s); - SymbolType type; - std::string sym; - int line; - }; - -public: - ~SymbolList(); - SymbolList::Symbol* AddSymbol(std::string &sym, SymbolType type, int line); - SymbolList::Symbol* AddSymbol(const char *szSym, SymbolType type, int line); - SymbolList::Symbol* FindSymbol(std::string &sym); - bool EraseSymbol(std::string &sym); - void PrintTable(); - void Clear(); -private: - std::list List; -}; - - -#endif //_INCLUDE_SYMBOL_H diff --git a/compiler/scasm/amxasm.cpp b/compiler/scasm/amxasm.cpp deleted file mode 100755 index c1793406..00000000 --- a/compiler/scasm/amxasm.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amxasm.cpp 921 2004-08-21 06:20:27Z dvander $ - */ - -#include "amxasm.h" - -std::string filename; -std::string output_name; -Compiler Program; - -int main(int argc, char **argv) -{ - get_options(argc, argv, Program); - - if (filename.size() < 1) - { - print_version(); - print_options(); - exit(0); - } - - Program.Load(filename); - if (Program.Parse()) - { - if (Program.Compile(output_name.size() ? output_name : filename)) - printf("Done.\n"); - else - printf("Compile build failed.\n"); - } else { - printf("Compile failed.\n"); - } - - exit(0); -} - -void get_options(int argc, char **argv, Compiler &Prog) -{ - int i = 0; /* index */ - char opt_flag = 0; /* flag for option detection */ - char *option = 0; /* option pointer */ - for (i=1; i 2) - { - output_name.assign(&(argv[i][2])); - } else { - opt_flag = 'o'; - } - break; - } - case 'c': - { - Program.SetPack(); - opt_flag = 0; - break; - } - case 'v': - { - opt_flag = 0; /* no options expected */ - print_version(); - exit(0); - break; - } /* case */ - case 'd': - { - opt_flag = 0; - Prog.SetDebug(); - break; - } - case 'h': - { - opt_flag = 0; - Prog.SetDOpt(); - break; - } - case 'f': - { - opt_flag = 0; - Prog.SetDOpt(); - Prog.SetPack(); - } - } /* switch */ - } else { /* - */ - if (!opt_flag) - { - filename.assign(argv[i]); - } else { - switch (opt_flag) - { - case 'o': - { - output_name.assign(argv[i]); - break; - } - } - } - } /* if */ - } -} - -void print_version() -{ - printf("Small/AMX Assembler 1.02\n"); - printf("(C)2004 David 'BAILOPAN' Anderson\n"); -} - -void print_options() -{ - printf("\nOptions:\n"); - printf("\t-d\t\t- Add debug opcodes (will double file size)\n"); - printf("\t-v\t\t- Output version and exit\n"); - printf("\t-o\t\t- Specify file to write\n"); - printf("\t-c\t\t- Enable compact encoding\n"); - printf("\t-h\t\t- Optimize DAT section\n"); - printf("\t-f\t\t- Optimal Build\n"); - printf("\n"); -} diff --git a/compiler/scasm/amxasm.h b/compiler/scasm/amxasm.h deleted file mode 100755 index 287a26f7..00000000 --- a/compiler/scasm/amxasm.h +++ /dev/null @@ -1,225 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: amxasm.h 824 2004-08-11 09:32:24Z dvander $ - */ - -#ifndef _INCLUDE_AMXASM_H -#define _INCLUDE_AMXASM_H - -//C includes -#include -#include -#include -#include -#include -//C++ includes -#include -#include -#include -#include -#include -#include -#include - -class Asm -{ -public: - int op; - std::vector params; - int cip; - int line; -}; - -#include "amx.h" -#include "amx_error.h" -#include "cexpr.h" -#include "amx_parser.h" -#include "amx_symbol.h" -#include "amx_macro.h" -#include "amx_define.h" -#include "amx_data.h" -#include "amx_proc.h" -#include "amx_label.h" -#include "amx_natives.h" -#include "amx_nametable.h" -#include "amx_compiler.h" //This should be last! - -#define SMALL_CELL_SIZE 32 - -typedef enum -{ - Asm_Invalid = -1, - Asm_None, - Asm_Data, - Asm_Code, - Asm_Public, - Asm_Native, -} AsmSection; - -/* From amx.c */ -typedef enum { - OP_NONE, /* invalid opcode */ - OP_LOAD_PRI, - OP_LOAD_ALT, - OP_LOAD_S_PRI, - OP_LOAD_S_ALT, - OP_LREF_PRI, - OP_LREF_ALT, - OP_LREF_S_PRI, - OP_LREF_S_ALT, - OP_LOAD_I, - OP_LODB_I, - OP_CONST_PRI, - OP_CONST_ALT, - OP_ADDR_PRI, - OP_ADDR_ALT, - OP_STOR_PRI, - OP_STOR_ALT, - OP_STOR_S_PRI, - OP_STOR_S_ALT, - OP_SREF_PRI, - OP_SREF_ALT, - OP_SREF_S_PRI, - OP_SREF_S_ALT, - OP_STOR_I, - OP_STRB_I, - OP_LIDX, - OP_LIDX_B, - OP_IDXADDR, - OP_IDXADDR_B, - OP_ALIGN_PRI, - OP_ALIGN_ALT, - OP_LCTRL, - OP_SCTRL, - OP_MOVE_PRI, - OP_MOVE_ALT, - OP_XCHG, - OP_PUSH_PRI, - OP_PUSH_ALT, - OP_PUSH_R, - OP_PUSH_C, - OP_PUSH, - OP_PUSH_S, - OP_POP_PRI, - OP_POP_ALT, - OP_STACK, - OP_HEAP, - OP_PROC, - OP_RET, - OP_RETN, - OP_CALL, - OP_CALL_PRI, - OP_JUMP, - OP_JREL, - OP_JZER, - OP_JNZ, - OP_JEQ, - OP_JNEQ, - OP_JLESS, - OP_JLEQ, - OP_JGRTR, - OP_JGEQ, - OP_JSLESS, - OP_JSLEQ, - OP_JSGRTR, - OP_JSGEQ, - OP_SHL, - OP_SHR, - OP_SSHR, - OP_SHL_C_PRI, - OP_SHL_C_ALT, - OP_SHR_C_PRI, - OP_SHR_C_ALT, - OP_SMUL, - OP_SDIV, - OP_SDIV_ALT, - OP_UMUL, - OP_UDIV, - OP_UDIV_ALT, - OP_ADD, - OP_SUB, - OP_SUB_ALT, - OP_AND, - OP_OR, - OP_XOR, - OP_NOT, - OP_NEG, - OP_INVERT, - OP_ADD_C, - OP_SMUL_C, - OP_ZERO_PRI, - OP_ZERO_ALT, - OP_ZERO, - OP_ZERO_S, - OP_SIGN_PRI, - OP_SIGN_ALT, - OP_EQ, - OP_NEQ, - OP_LESS, - OP_LEQ, - OP_GRTR, - OP_GEQ, - OP_SLESS, - OP_SLEQ, - OP_SGRTR, - OP_SGEQ, - OP_EQ_C_PRI, - OP_EQ_C_ALT, - OP_INC_PRI, - OP_INC_ALT, - OP_INC, - OP_INC_S, - OP_INC_I, - OP_DEC_PRI, - OP_DEC_ALT, - OP_DEC, - OP_DEC_S, - OP_DEC_I, - OP_MOVS, - OP_CMPS, - OP_FILL, - OP_HALT, - OP_BOUNDS, - OP_SYSREQ_PRI, - OP_SYSREQ_C, - OP_FILE, - OP_LINE, - OP_SYMBOL, - OP_SRANGE, - OP_JUMP_PRI, - OP_SWITCH, - OP_CASETBL, - OP_SWAP_PRI, - OP_SWAP_ALT, - OP_PUSHADDR, - OP_NOP, - OP_SYSREQ_D, - OP_SYMTAG, - /* ----- */ - OP_NUM_OPCODES -} OPCODE; - -void get_options(int argc, char **argv, Compiler &Prog); -void InitOpcodes(); -void DestroyArgList(std::vector &List); -void print_version(); -void print_options(); - -#endif //_INCLUDE_AMXASM_H diff --git a/compiler/scasm/assembler.sln b/compiler/scasm/assembler.sln deleted file mode 100644 index 8eb48566..00000000 --- a/compiler/scasm/assembler.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "assembler", "assembler.vcxproj", "{FFFC86BE-94E7-458A-A61B-4D0F3B45658B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {FFFC86BE-94E7-458A-A61B-4D0F3B45658B}.Debug|Win32.ActiveCfg = Debug|Win32 - {FFFC86BE-94E7-458A-A61B-4D0F3B45658B}.Debug|Win32.Build.0 = Debug|Win32 - {FFFC86BE-94E7-458A-A61B-4D0F3B45658B}.Release|Win32.ActiveCfg = Release|Win32 - {FFFC86BE-94E7-458A-A61B-4D0F3B45658B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/compiler/scasm/assembler.vcxproj b/compiler/scasm/assembler.vcxproj deleted file mode 100644 index e2fe94b7..00000000 --- a/compiler/scasm/assembler.vcxproj +++ /dev/null @@ -1,123 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {FFFC86BE-94E7-458A-A61B-4D0F3B45658B} - assembler - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - true - false - AllRules.ruleset - - - AllRules.ruleset - - - sasm - sasm - - - - Disabled - WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - false - - - Level3 - EditAndContinue - - - true - $(OutDir)assembler.pdb - Console - MachineX86 - - - - - WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) - MultiThreaded - false - - - Level3 - ProgramDatabase - - - true - Console - true - true - MachineX86 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/compiler/scasm/assembler.vcxproj.filters b/compiler/scasm/assembler.vcxproj.filters deleted file mode 100644 index 570fae74..00000000 --- a/compiler/scasm/assembler.vcxproj.filters +++ /dev/null @@ -1,95 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/compiler/scasm/cexpr.cpp b/compiler/scasm/cexpr.cpp deleted file mode 100755 index 5a3efaab..00000000 --- a/compiler/scasm/cexpr.cpp +++ /dev/null @@ -1,545 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: cexpr.cpp 921 2004-08-21 06:20:27Z dvander $ - */ - -#include -#include "amxasm.h" - -CExpr::CExpr() -{ - numVal = 0; - type = Val_None; - block = 0; - bDone = false; - CError = NULL; -} - -CExpr::CExpr(ErrorMngr *e) -{ - numVal = 0; - type = Val_None; - block = 0; - bDone = false; - CError = e; -} - -CExpr::CExpr(ErrorMngr *e, std::string &text) -{ - numVal = 0; - type = Val_None; - block = 0; - CError = e; - bDone = false; - data.assign(text); -} - -void CExpr::Clear() -{ - if (type == Val_Block && block) - delete [] block; - numVal = 0; - type = Val_None; - block = 0; -} - -CExpr::~CExpr() -{ - if (block && type == Val_Block) - delete [] block; -} - -char CExpr::IsLiteral(char c) -{ - if (c == '"') - return '"'; - if (c == '\'') - return '\''; - return 0; -} - -char CExpr::IsHex(char c) -{ - if (c >= '0' && c <= '9') - return c; - if (c >= 'A' && c <= 'F') - return c; - if (c >= 'a' && c <= 'f') - return c; - return 0; -} - -cExprType CExpr::GetType() -{ - return type; -} - -void CExpr::Set(std::string &text) -{ - data.assign(text); -} - -int CExpr::DeHex(std::string blk) -{ - size_t pos = 0, xc = 0, xpos = 0, ms = 0; - /* run through the characters */ - for (pos = 0; pos < blk.size(); pos++) - { - if (blk[pos] == 'x') - { - xc++; - if (xc > 1) - break; - xpos = pos; - } else if (blk[pos] == '-') { - if (pos != 0) - ms = 1; - } else if (blk[pos] != ' ' - && (blk[pos] < '0' || blk[pos] > '9') - && (!xc || (xc && !IsHex(blk[pos])))) { - CError->ErrorMsg(Err_Unexpected_Char, blk[pos]); - return 0; - } - } - if (xc > 1) - { - CError->ErrorMsg(Err_Unexpected_Char, 'x'); - return 0; - } - if (ms) - { - CError->ErrorMsg(Err_Unexpected_Char, '-'); - return 0; - } - if (xc) - { - if (xpos == 0 || blk[xpos-1] != '0') - { - if (CError) - CError->ErrorMsg(Warning_Hex_Start); - } - blk.erase(0, xpos+1); - pos = 0; - int j = 0; - while (blk[pos]) - { - blk[pos] -= 48; - if (blk[pos] > 16) - blk[pos] -= 7; - if (blk[pos] >= 16) - blk[pos] -= 32; - if (blk[pos] >= 16 || blk[pos] < 0) - { - if (CError) - { - CError->ErrorMsg(Err_Unexpected_Char, blk[pos]); - } - return 0; - } - j *= 16; - j += blk[pos]; - pos++; - } - - return j; - } - - return atoi(blk.c_str()); -} - -int CExpr::Size() -{ - if (type == Val_String || type == Val_Block) - return numVal; - if (type == Val_Number) - return (SMALL_CELL_SIZE/8); - return 0; -} - -const char *CExpr::GetString(int *d) -{ - const char *ret = 0; - - if (type == Val_String) - { - ret = data.c_str(); - if (d != NULL) - *d = numVal; - } else if (type == Val_Block) { - ret = block; - if (d != NULL) - *d = numVal; - } - - return ret; -} - -int CExpr::GetNumber() -{ - if (type == Val_Float) - { - memcpy((void*)&numVal, (void*)&fData, sizeof(float)); - } - return numVal; -} - -/* Returns true if the expr can be evaluated */ -int CExpr::Analyze() -{ - size_t pos = 0, xc = 0, xpos = 0, fd = 0; - /* run through the characters */ - if (data.compare("$") == 0) - { - return 1; - } - for (pos = 0; pos < data.size(); pos++) - { - if (data[pos] == '.') - { - fd++; - if (fd > 1 || xc) - return 0; - } else if (data[pos] == 'x') { - xc++; - if (xc > 1 || fd) - return 0; - xpos = pos; - } else if (data[pos] != ' ' - && (data[pos] < '0' || data[pos] > '9') - && (!xc || (xc && !IsHex(data[pos])))) { - return 0; - } - } - - return 1; -} - -cExprType CExpr::Evaluate(int symNum) -{ - size_t i = 0; - char litc = 0, c = 0; - cExprType t = Val_None; - std::string num; - - block = new char[2]; - bDone = true; - - if (data.compare("$") == 0) - { - type = Val_Number; - numVal = CError->CurCip(); - Update(); - return t; - } else { - if (CError->IsSymbol(data) - || (IsValidSymbol(data) && symNum == Sym_Label || symNum == Sym_Proc)) - { - type = Val_Number; - numVal = CError->DerefSymbol(data, symNum); - Update(); - return t; - } - } - - if (data.find('\'', 0) != std::string::npos || data.find('"', 0) != std::string::npos) - { - /* STRESS TEST */ - for (i=0; iErrorMsg(Err_String_Terminate); - t = Val_Error; - } else { - char cp = data[i+1]; - char *nc = 0; - if (cp == 't') - nc = "\t"; - else if (cp == 'n') - nc = "\n"; - else if (cp == '\\') - nc = "\\"; - else if (cp == '"') - nc = "\""; - else if (cp == '\'') - nc = "'"; - if (nc) - { - data.replace(i, 2, nc); - continue; - } - } - } - if (IsLiteral(c) != 0) - { - if (litc == IsLiteral(c)) - { - litc = 0; - /* The literal has terminated. Expect no more. */ - if (i != data.size() - 1) - { - t = Val_Error; - if (CError) - CError->ErrorMsg(Err_String_Extra, data[i+1]); - } else { - /* STRING DISCOVERED */ - t = Val_String; - /* Erase literals */ - data.erase(0, 1); - data.erase(data.size()-1, 1); - numVal = (int)(data.size()+1); - break; - } - } else { - litc = IsLiteral(c); - } - } - } - } else if (data.find(' ', 0) != std::string::npos) { - /* Build a mem block from values, store length in numVal */ - t = Val_Block; - size_t pos = 0, npos = 0; - numVal = 0; - pos = data.find(' ', 0); - block[numVal++] = DeHex(data.substr(0, pos)); - while ((pos = data.find(' ', pos)) != std::string::npos) - { - npos = data.find(' ', pos+1); - block = (char *)realloc(block, numVal+2); - if (npos != std::string::npos) - { - block[numVal] = (char)DeHex(data.substr(pos, npos-pos)); - } else { - block[numVal] = (char)DeHex(data.substr(pos)); - } - pos++; - numVal++; - } - } else { - if (data.find('.', 0) != std::string::npos) - { - /* Get as a float */ - fData = (float)atof(data.c_str()); - t = Val_Float; - memcpy((void*)&numVal, (void*)&fData, sizeof(float)); - } else { - /* Just get the number */ - t = Val_Number; - numVal = DeHex(data); - char buf[32]; - sprintf(buf, "%d", numVal); - data.assign(buf); - } - } - - if (litc) - { - if (CError) - CError->ErrorMsg(Err_String_Terminate); - } - - type = t; - - return t; -} - -void CExpr::Not() -{ - if (type != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Bad_Not); - } - numVal = ~numVal; -} - -void CExpr::Oper(OpToken op, CExpr &e) -{ - switch (op) - { - case Token_Xor: - { - if (e.GetType() != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Invalid_Operator); - } - numVal = numVal ^ e.GetNumber(); - break; - } - case Token_Shr: - { - if (e.GetType() != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Invalid_Operator); - } - numVal >>= e.GetNumber(); - break; - } - case Token_Sub: - { - if (GetType() == Val_Number) - { - if (e.GetType() == Val_Number) - { - numVal -= e.GetNumber(); - } else if (e.GetType() == Val_Float) { - numVal -= (int)e.GetFloat(); - } - } else if (GetType() == Val_Float) { - if (e.GetType() == Val_Number) - { - fData -= (float)e.GetNumber(); - } else if (e.GetType() == Val_Float) { - fData -= e.GetFloat(); - } - } - break; - } - case Token_Mod: - { - if (e.GetType() != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Invalid_Operator); - } - numVal = numVal % e.GetNumber(); - break; - } - case Token_Mul: - { - if (GetType() == Val_Number) - { - if (e.GetType() == Val_Number) - { - numVal *= e.GetNumber(); - } else if (e.GetType() == Val_Float) { - numVal *= (int)e.GetFloat(); - } - } else if (GetType() == Val_Float) { - if (e.GetType() == Val_Number) - { - fData *= (float)e.GetNumber(); - } else if (e.GetType() == Val_Float) { - fData *= e.GetFloat(); - } - } - break; - } - case Token_Div: - { - if (GetType() == Val_Number) - { - if (e.GetType() == Val_Number) - { - numVal /= e.GetNumber(); - } else if (e.GetType() == Val_Float) { - numVal /= (int)e.GetFloat(); - } - } else if (GetType() == Val_Float) { - if (e.GetType() == Val_Number) - { - fData /= (float)e.GetNumber(); - } else if (e.GetType() == Val_Float) { - fData /= e.GetFloat(); - } - } - break; - } - case Token_Shl: - { - if (e.GetType() != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Invalid_Operator); - } - numVal <<= e.GetNumber(); - break; - } - case Token_And: - { - if (e.GetType() != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Invalid_Operator); - } - numVal &= e.GetNumber(); - break; - } - case Token_Or: - { - if (e.GetType() != Val_Number) - { - if (CError) - CError->ErrorMsg(Err_Invalid_Operator); - } - numVal |= e.GetNumber(); - break; - } - case Token_Add: - { - if (GetType() == Val_Number) - { - if (e.GetType() == Val_Number) - { - numVal += e.GetNumber(); - } else if (e.GetType() == Val_Float) { - numVal += (int)e.GetFloat(); - } - } else if (GetType() == Val_Float) { - if (e.GetType() == Val_Number) - { - fData += (float)e.GetNumber(); - } else if (e.GetType() == Val_Float) { - fData += e.GetFloat(); - } - } - break; - } - default: - { - numVal = 0; - break; - } - } - - Update(); -} - -void CExpr::Update() -{ - if (type == Val_Float) - { - numVal = (int)fData; - } else if (type == Val_Number) { - fData = (float)numVal; - } - if (type != Val_String && type != Val_Block) - { - char buf[24]; - sprintf(buf, "%d", numVal); - data.assign(buf); - } -} diff --git a/compiler/scasm/cexpr.h b/compiler/scasm/cexpr.h deleted file mode 100755 index 97047513..00000000 --- a/compiler/scasm/cexpr.h +++ /dev/null @@ -1,96 +0,0 @@ -/* AMX Assembler - * Copyright (C)2004 David "BAILOPAN" Anderson - * - * 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 the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 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 a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - * - * Version: $Id: cexpr.h 821 2004-08-11 08:18:14Z dvander $ - */ - -#ifndef _INCLUDE_CEXPR_H -#define _INCLUDE_CEXPR_H - -/* This class is used for a single expression element - * It reads in a symbol and evaluates it. - */ - -typedef enum -{ - Token_None, - Token_Or, - Token_Xor, - Token_And, - Token_Shr, - Token_Shl, - Token_Mod, - Token_Div, - Token_Mul, - Token_Sub, - Token_Add, - Token_Not, - /* End */ - Tokens_Total, -} OpToken; - -typedef enum -{ - Val_None, - Val_Error, - Val_String, - Val_String_Hex, - Val_String_Number, - Val_Number_Hex, - Val_Number, - Val_Block, - Val_Hex, - Val_Float, -} cExprType; - -class CExpr -{ -public: - CExpr(); - CExpr(ErrorMngr *e); - CExpr(ErrorMngr *e, std::string &text); - void Set(std::string &text); - const char *GetString(int *d=NULL); - int Analyze(); - cExprType Evaluate(int symNum = 0); - cExprType GetType(); - int GetNumber(); - float GetFloat() { return fData; } - int Size(); - void Clear(); - void Not(); - void Oper(OpToken op, CExpr &e); - ~CExpr(); -private: - void Update(); - char IsHex(char c); - char IsLiteral(char c); - int DeHex(std::string blk); -private: - char *block; - std::string data; - cExprType type; - float fData; - int numVal; - bool bDone; -private: - ErrorMngr *CError; -}; - -#endif //_INCLUDE_CEXPR_H diff --git a/compiler/scasm/plugin.asm b/compiler/scasm/plugin.asm deleted file mode 100755 index d5c50d9d..00000000 --- a/compiler/scasm/plugin.asm +++ /dev/null @@ -1,80 +0,0 @@ -;(C)2004 David "BAILOPAN" Anderson -; Demonstration of AMX Mod X plugin writing in assembly. -#define VERSION "1.00" -#define AUTHOR "BAILOPAN" -#define PLUGIN "Asm Test" -#define CELL 4 -#macro ARGN(argc) (12+(argc*CELL)) - -.CODE - halt 0 ;Return point for end - -.NATIVE - get_user_name ;id, buffer[], maxLen - register_plugin ;name[], version[], author[] - register_concmd ;cmd[], callback[], access, descr[] - server_print ;fmt[], ... - -.DATA -Plugin db PLUGIN -Version db VERSION -Author db AUTHOR -Cmd db "amx_asmtest" -Callback db "cmdCallback" -Descr db "Test" - -.DATA -HELLO db "Hello, %s!" - -.CODE -PROC cmdCallback - stack -128*CELL - zero.pri - addr.alt -128*CELL - fill 128*CELL - push.c 127 - pushaddr -128*CELL - push.s ARG(0) - push.c CELL*3 - sysreq.c get_user_name - stack CELL*4 - pushaddr -128*CELL - push.c HELLO - push.c CELL*2 - sysreq.c server_print - stack CELL*3 - stack 128*CELL - zero.pri - retn -ENDP - -.CODE -;Technically PROC could simply be "proc" -; this is more for reasons of readability. -; feel free to use "proc" and omit ENDP -; if you would like to code one huge list of instructions. -PROC plugin_init - push.c Author ;push the plugin name - push.c Version ;push the plugin version - push.c Plugin ;push the plugin author - push.c CELL*3 ;push 3 arguments - sysreq.c register_plugin ;call register_plugin - stack CELL*4 ;clean up the stack - push.c Callback ;push string - push.c CELL ;push one argument - sysreq.c server_print ;call server_print - stack CELL*2 ;clean up the stack - push.c Descr ;push the description - push.c 0 ;push the access level - push.c Callback ;push callback - push.c Cmd ;push the command - push.c CELL*4 ;push 4 arguments - sysreq.c register_concmd ;call register_concmd - stack CELL*5 ;cleanup - zero.pri ;zero pri - retn ;return + cleanup -ENDP - -.PUBLIC - plugin_init - cmdCallback \ No newline at end of file diff --git a/compiler/scasm/sasm b/compiler/scasm/sasm deleted file mode 100755 index 4bcc84d8a0f3beaa1d6c75b713173e286fd07219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293840 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΍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

m7 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

Ip>Y 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

MU;)vYGk>|wFTl?Vi(oWYO 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%0AF`&?JFRC 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΍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

m7 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

Ip>Y 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

MU;)vYGk>|wFTl?Vi(oWYO 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%0AF`&?JFRC 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