diff options
Diffstat (limited to 'misc')
201 files changed, 3964 insertions, 3964 deletions
diff --git a/misc/buildroot/ChangeLog b/misc/buildroot/ChangeLog index 58ee44e5a..9c22edf03 100644 --- a/misc/buildroot/ChangeLog +++ b/misc/buildroot/ChangeLog @@ -1,16 +1,16 @@ -buildroot-0.1.0 2007-03-09 <spudmonkey@racsa.co.cr> +buildroot-0.1.0 2007-03-09 <gnutt@nuttx.org> Support for arm-elf toolchain buildroot-0.1.1 (revision number not used) -buildroot-0.1.2 2008-11-06 <spudmonkey@racsa.co.cr> +buildroot-0.1.2 2008-11-06 <gnutt@nuttx.org> * Add support for m68k-elf and m68hc11 toolchain * Add patch to build older binutils with newer Texinfo version * Add support for SH-1 toolchain -buildroot-0.1.3 2009-02-28 <spudmonkey@racsa.co.cr> +buildroot-0.1.3 2009-02-28 <gnutt@nuttx.org> * Add support for H8/300 toolchain * Add support for GCC 4.2.4 and binutils 2.19 @@ -18,7 +18,7 @@ buildroot-0.1.3 2009-02-28 <spudmonkey@racsa.co.cr> * New ARM configuration using GCC 4.2.4 and binutils 2.19 * Add Renesas R8C/M16C/M32C configuration using GCC 4.2.4 and binutils 2.19 -buildroot-0.1.4 2009-04-19 <spudmonkey@racsa.co.cr> +buildroot-0.1.4 2009-04-19 <gnutt@nuttx.org> * Add support for a blackfin toolchain using GCC 4.2.4 and binutils 2.19 * GCC 4.2.4 no longer attempts to build libstdc++. Now we can build g++! @@ -27,7 +27,7 @@ buildroot-0.1.4 2009-04-19 <spudmonkey@racsa.co.cr> we do not build a libc. Now it builds almost twice as fast. * Removed logic to build the target GCC. That is never used. -buildroot-0.1.5 2009-04-25 <spudmonkey@racsa.co.cr> +buildroot-0.1.5 2009-04-25 <gnutt@nuttx.org> * Replaced config/arm-defconfig-4.2.4 with config/arm920t-defconfig-4.2.4 and config/arm926t-defconfig-4.2.4 because of differences in the @@ -36,7 +36,7 @@ buildroot-0.1.5 2009-04-25 <spudmonkey@racsa.co.cr> * Add support for gcc-4.3.3 and the ARM Cortex-M3 processor (thumb2) * Add support for binutils 2.19.1 -buildroot-0.1.6 2009-05-19 <spudmonkey@racsa.co.cr> +buildroot-0.1.6 2009-05-19 <gnutt@nuttx.org> * Added config/arm7tdmi-defconfig-4.2.4 * Added config/arm920t-defconfig-4.3.3 @@ -45,14 +45,14 @@ buildroot-0.1.6 2009-05-19 <spudmonkey@racsa.co.cr> * Correct error in gcc-3.4.6/gcc/collect.c. Calls open with O_CREAT but does not specify mode. Newer host compilers can error out on this. -buildroot-0.1.7 2009-06-26 <spudmonkey@racsa.co.cr> +buildroot-0.1.7 2009-06-26 <gnutt@nuttx.org> * configs/avr-defconfig-4.3.3: Added support for AVR to support a NuttX port of the ATmega128. * toolchain/nxflat: Added logic to build NuttX NXFLAT binding support tools * toolchain/genromfs: Added support for the genromfs tool -buildroot-1.8 2009-12-21 <spudmonkey@racsa.co.cr> +buildroot-1.8 2009-12-21 <gnutt@nuttx.org> * configs/cortexm3-defconfig-4.3.3: Added support for NuttX NXFLAT tools. @@ -64,7 +64,7 @@ buildroot-1.8 2009-12-21 <spudmonkey@racsa.co.cr> * configs/m32c-defconfig-4.2.4: Added genromfs * configs/m32c-defconfig-4.3.3: Update to m32c-defconfig-4.2.4 -buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr> +buildroot-1.9 2011-02-10 <gnutt@nuttx.org> * configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4 * configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for @@ -77,7 +77,7 @@ buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr> patches available from http://www.msextra.com/tools courtesy of James Cortina. Add configs/m9x12x-defconfig-3.3.6. -buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr> +buildroot-1.10 2011-05-06 <gnutt@nuttx.org> * Add patch submitted by Dimiter Georgiev to work around problems in building GDB 6.8 with versions of Cygwin > 1.7. @@ -101,7 +101,7 @@ buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr> * configs/arm920t-eabi-defconfig-4.5.2 - Add a configuration to build a GCC 4.5.2 EABI ARM toolchain for the ARM920t. -buildroot-1.11 2011-xx-xx <spudmonkey@racsa.co.cr> +buildroot-1.11 2011-xx-xx <gnutt@nuttx.org> * configs/avr-defconfig-4.3.3 - Added --enable-long-long as a GCC option. diff --git a/misc/buildroot/toolchain/nxflat/Makefile b/misc/buildroot/toolchain/nxflat/Makefile index b2a465827..892362708 100644 --- a/misc/buildroot/toolchain/nxflat/Makefile +++ b/misc/buildroot/toolchain/nxflat/Makefile @@ -2,7 +2,7 @@ # toolchain/nxflat/Makefile # # Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/arm/Makefile b/misc/buildroot/toolchain/nxflat/arm/Makefile index 68abf2afd..967fe8054 100644 --- a/misc/buildroot/toolchain/nxflat/arm/Makefile +++ b/misc/buildroot/toolchain/nxflat/arm/Makefile @@ -2,7 +2,7 @@ # toolchain/nxflat/arm/Makefile # # Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/arm/arch.h b/misc/buildroot/toolchain/nxflat/arm/arch.h index 83f25655a..7839d97f8 100644 --- a/misc/buildroot/toolchain/nxflat/arm/arch.h +++ b/misc/buildroot/toolchain/nxflat/arm/arch.h @@ -3,7 +3,7 @@ * ARM thumb2 ELF support for BFD. * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Simply lifted with minimal change from the BFD, binutils 2.19.1: * diff --git a/misc/buildroot/toolchain/nxflat/arm/disarm.c b/misc/buildroot/toolchain/nxflat/arm/disarm.c index 5826df3b4..c1d8257de 100644 --- a/misc/buildroot/toolchain/nxflat/arm/disarm.c +++ b/misc/buildroot/toolchain/nxflat/arm/disarm.c @@ -3,13 +3,13 @@ * ARM Disassembler * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Derived from XFLAT: * * Copyright (c) 2006, Cadenux, LLC. All rights reserved. * Copyright (c) 2006, Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Which simply lifted it from the BFD: * diff --git a/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def b/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def index fbe8b5081..8a42e6486 100644 --- a/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def +++ b/misc/buildroot/toolchain/nxflat/arm/dyncall_skeleton.def @@ -2,7 +2,7 @@ * toolchain/nxflat/arm/dyncall_skeleton.def * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/ldnxflat.c b/misc/buildroot/toolchain/nxflat/ldnxflat.c index 847e843b3..69cb19529 100644 --- a/misc/buildroot/toolchain/nxflat/ldnxflat.c +++ b/misc/buildroot/toolchain/nxflat/ldnxflat.c @@ -9,14 +9,14 @@ * will and GOT relocations as well). * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * * Modified from ldelf2xflat (see http://xflat.org): * * Copyright (c) 2002, 2006, Cadenux, LLC. All rights reserved. * Copyright (c) 2002, 2006, Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Extended from the FLAT ldnxflat.c (original copyright below ) * diff --git a/misc/buildroot/toolchain/nxflat/mknxflat.c b/misc/buildroot/toolchain/nxflat/mknxflat.c index d2f44e284..3e73d6287 100644 --- a/misc/buildroot/toolchain/nxflat/mknxflat.c +++ b/misc/buildroot/toolchain/nxflat/mknxflat.c @@ -2,13 +2,13 @@ * xflat/tools/mknxflat.c * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Modified from ldelflib (see http://xflat.org): * * Copyright (c) 2002, 2006, Cadenux, LLC. All rights reserved. * Copyright (c) 2002, 2006, Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/nxflat.h b/misc/buildroot/toolchain/nxflat/nxflat.h index f8d28deb4..ff41a733d 100644 --- a/misc/buildroot/toolchain/nxflat/nxflat.h +++ b/misc/buildroot/toolchain/nxflat/nxflat.h @@ -2,7 +2,7 @@ * toolchain/nxflat/nxflat.h * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/nxflat.mk b/misc/buildroot/toolchain/nxflat/nxflat.mk index 307a96fca..3a7a03c0e 100644 --- a/misc/buildroot/toolchain/nxflat/nxflat.mk +++ b/misc/buildroot/toolchain/nxflat/nxflat.mk @@ -2,7 +2,7 @@ # toolchain/nxflat/nxflat.mk # # Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/readnxflat.c b/misc/buildroot/toolchain/nxflat/readnxflat.c index c5d5a6366..e19e2d699 100644 --- a/misc/buildroot/toolchain/nxflat/readnxflat.c +++ b/misc/buildroot/toolchain/nxflat/readnxflat.c @@ -2,13 +2,13 @@ * toolchain/nxflat/readnxflat.c * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Modified from readxflat (see http://xflat.org): * * Copyright (c) 2002, 2006, Cadenux, LLC. All rights reserved. * Copyright (c) 2002, 2006, Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/reloc-macros.h b/misc/buildroot/toolchain/nxflat/reloc-macros.h index c3f88ba7a..91b9fd1ea 100644 --- a/misc/buildroot/toolchain/nxflat/reloc-macros.h +++ b/misc/buildroot/toolchain/nxflat/reloc-macros.h @@ -3,7 +3,7 @@ * Generic relocation support for BFD. * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Simply lifted with minimal change from the BFD, binutils 2.19.1: * diff --git a/misc/buildroot/toolchain/nxflat/thumb2/Makefile b/misc/buildroot/toolchain/nxflat/thumb2/Makefile index dc00867e0..ad87449fa 100644 --- a/misc/buildroot/toolchain/nxflat/thumb2/Makefile +++ b/misc/buildroot/toolchain/nxflat/thumb2/Makefile @@ -2,7 +2,7 @@ # toolchain/nxflat/thumb2/Makefile # # Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/buildroot/toolchain/nxflat/thumb2/arch.h b/misc/buildroot/toolchain/nxflat/thumb2/arch.h index bacc63892..c07c4f62e 100644 --- a/misc/buildroot/toolchain/nxflat/thumb2/arch.h +++ b/misc/buildroot/toolchain/nxflat/thumb2/arch.h @@ -3,7 +3,7 @@ * ARM thumb2 ELF support for BFD. * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Simply lifted with minimal change from the BFD, binutils 2.19.1: * diff --git a/misc/buildroot/toolchain/nxflat/thumb2/disthumb2.c b/misc/buildroot/toolchain/nxflat/thumb2/disthumb2.c index 79352ce8b..811c3a867 100644 --- a/misc/buildroot/toolchain/nxflat/thumb2/disthumb2.c +++ b/misc/buildroot/toolchain/nxflat/thumb2/disthumb2.c @@ -3,7 +3,7 @@ * ARM Thumb2 Disassembler * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * ***********************************************************************/ diff --git a/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def b/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def index e0d014490..865536c50 100644 --- a/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def +++ b/misc/buildroot/toolchain/nxflat/thumb2/dyncall_skeleton.def @@ -2,7 +2,7 @@ * toolchain/nxflat/thumb2/dyncall_skeleton.def * * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/drivers/INSTALL.sh b/misc/drivers/INSTALL.sh index 66205af9f..d918c0dd4 100755 --- a/misc/drivers/INSTALL.sh +++ b/misc/drivers/INSTALL.sh @@ -3,7 +3,7 @@ # Install ALL optional drivers into the NuttX source tree # # Copyright (C) 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/drivers/rtl8187x/INSTALL.sh b/misc/drivers/rtl8187x/INSTALL.sh index fadb5b98c..839fb7768 100755 --- a/misc/drivers/rtl8187x/INSTALL.sh +++ b/misc/drivers/rtl8187x/INSTALL.sh @@ -3,7 +3,7 @@ # Install the GPLv2 RTL8187x driver into the NuttX source tree # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/drivers/rtl8187x/rtl8187x.h b/misc/drivers/rtl8187x/rtl8187x.h index f66827647..8783f1e92 100755 --- a/misc/drivers/rtl8187x/rtl8187x.h +++ b/misc/drivers/rtl8187x/rtl8187x.h @@ -5,7 +5,7 @@ * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2011 Rafael Noronha. All rights reserved. - * Authors: Gregoyr Nutt <spudmonkey@racsa.co.cr> + * Authors: Gregoyr Nutt <gnutt@nuttx.org> * Rafael Noronha <rafael@pdsolucoes.com.br> * * Portions of the logic in this file derives from the KisMAC RTL8187x driver diff --git a/misc/pascal/ChangeLog b/misc/pascal/ChangeLog index cb064a326..39d9c413c 100644 --- a/misc/pascal/ChangeLog +++ b/misc/pascal/ChangeLog @@ -1,12 +1,12 @@ -pascal-0.1.0 2008-01-07 Gregory Nutt <spudmonkey@racsa.co.cr> +pascal-0.1.0 2008-01-07 Gregory Nutt <gnutt@nuttx.org> * Initial release -pascal-0.1.1 2008-02-01 Gregory Nutt <spudmonkey@racsa.co.cr> +pascal-0.1.1 2008-02-01 Gregory Nutt <gnutt@nuttx.org> * Correct some errors in the NuttX installation logic -pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr> +pascal-0.1.2 2008-02-10 Gregory Nutt <gnutt@nuttx.org> * Add logic to build and link with the ZDS-II toolchain use with the z16f. @@ -16,13 +16,13 @@ pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr> and eliminate a compiler bug * Changes so that runtime compiles with SDCC. -pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr> +pascal-2.0 2009-12-21 Gregory Nutt <gnutt@nuttx.org> * Updated to use standard C99 types in stdint.h and stdbool.h. This change was necessary for compatibility with NuttX-5.0 (any beyond). -pascal-3.0 2010-05-15 Gregory Nutt <spudmonkey@racsa.co.cr> +pascal-3.0 2010-05-15 Gregory Nutt <gnutt@nuttx.org> * nuttx/: The Pascal add-on module now installs and builds under the apps/interpreters directory. This means that the pascal-3.0 module is diff --git a/misc/pascal/Configure b/misc/pascal/Configure index d6c16d0fe..569ded2cf 100755 --- a/misc/pascal/Configure +++ b/misc/pascal/Configure @@ -3,7 +3,7 @@ # Configure # # Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/Make.config.h b/misc/pascal/Make.config.h index ab34b4fd3..282b253ce 100644 --- a/misc/pascal/Make.config.h +++ b/misc/pascal/Make.config.h @@ -2,7 +2,7 @@ # Make.config.h # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/Make.defs b/misc/pascal/Make.defs index cb0afc924..0348bf4d3 100644 --- a/misc/pascal/Make.defs +++ b/misc/pascal/Make.defs @@ -2,7 +2,7 @@ # Make.defs # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/Reconfigure b/misc/pascal/Reconfigure index 98c5e5e74..38b64b8b3 100755 --- a/misc/pascal/Reconfigure +++ b/misc/pascal/Reconfigure @@ -3,7 +3,7 @@ # Reconfigure # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/config.info b/misc/pascal/config.info index b7ae3a05c..8147eba65 100755 --- a/misc/pascal/config.info +++ b/misc/pascal/config.info @@ -3,7 +3,7 @@ # config.info # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/keywords.h b/misc/pascal/include/keywords.h index 6025524d9..7784d8df9 100644 --- a/misc/pascal/include/keywords.h +++ b/misc/pascal/include/keywords.h @@ -1,82 +1,82 @@ -/*************************************************************
- * keywords.h
- * This file defines the pascal compilation environment
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************/
-
-#ifndef __KEYWORDS_H
-#define __KEYWORDS_H
-
-/*************************************************************
- * Included Files
- *************************************************************/
-
-#include "config.h"
-
-/*************************************************************
- *Pre-processor Definitions
- *************************************************************/
-
-#ifndef NULL
-# define NULL ((void*)0)
-#endif
-
-#ifndef CONFIG_DEBUG
-# define CONFIG_DEBUG 0
-#endif
-
-#if CONFIG_DEBUG
-# define DEBUG(stream, format, arg...) fprintf(stream, format, ##arg)
-#else
-# define DEBUG(x...)
-#endif
-
-#ifndef CONFIG_TRACE
-# define CONFIG_TRACE 0
-#endif
-
-#if CONFIG_TRACE
-# define TRACE(stream, format, arg...) fprintf(stream, format, ##arg)
-#else
-# define TRACE(x...)
-#endif
-
-#define FAR
-
-#define dbg(...) fprintf(stderr, __VA_ARGS__)
-#define vdbg(...) DEBUG(__VA_ARGS__)
-
-#endif /* __KEYWORDS_H */
-
-
-
+/************************************************************* + * keywords.h + * This file defines the pascal compilation environment + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + *************************************************************/ + +#ifndef __KEYWORDS_H +#define __KEYWORDS_H + +/************************************************************* + * Included Files + *************************************************************/ + +#include "config.h" + +/************************************************************* + *Pre-processor Definitions + *************************************************************/ + +#ifndef NULL +# define NULL ((void*)0) +#endif + +#ifndef CONFIG_DEBUG +# define CONFIG_DEBUG 0 +#endif + +#if CONFIG_DEBUG +# define DEBUG(stream, format, arg...) fprintf(stream, format, ##arg) +#else +# define DEBUG(x...) +#endif + +#ifndef CONFIG_TRACE +# define CONFIG_TRACE 0 +#endif + +#if CONFIG_TRACE +# define TRACE(stream, format, arg...) fprintf(stream, format, ##arg) +#else +# define TRACE(x...) +#endif + +#define FAR + +#define dbg(...) fprintf(stderr, __VA_ARGS__) +#define vdbg(...) DEBUG(__VA_ARGS__) + +#endif /* __KEYWORDS_H */ + + + diff --git a/misc/pascal/include/paslib.h b/misc/pascal/include/paslib.h index 7b2016401..55f965c10 100644 --- a/misc/pascal/include/paslib.h +++ b/misc/pascal/include/paslib.h @@ -3,7 +3,7 @@ * External Declarations associated with paslib * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/pdefs.h b/misc/pascal/include/pdefs.h index 692dd2817..3f794a981 100644 --- a/misc/pascal/include/pdefs.h +++ b/misc/pascal/include/pdefs.h @@ -3,7 +3,7 @@ * Common definitions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/pedefs.h b/misc/pascal/include/pedefs.h index 56adebe9a..4957a9d2b 100644 --- a/misc/pascal/include/pedefs.h +++ b/misc/pascal/include/pedefs.h @@ -3,7 +3,7 @@ * Definitions of error codes * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/perr.h b/misc/pascal/include/perr.h index daf5a4639..a272ce89c 100644 --- a/misc/pascal/include/perr.h +++ b/misc/pascal/include/perr.h @@ -3,7 +3,7 @@ * External Declarations associated with perr.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/pfdefs.h b/misc/pascal/include/pfdefs.h index 76072ed2c..ac861a641 100644 --- a/misc/pascal/include/pfdefs.h +++ b/misc/pascal/include/pfdefs.h @@ -1,93 +1,93 @@ -/***********************************************************************
- * pfdefs.h
- * Floating point operation codes
- *
- * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***********************************************************************/
-
-#ifndef __PFDEFS_H
-#define __PFDEFS_H
-
-/***********************************************************************
- * FLOATING POINT SUB-OPCODES
- ***********************************************************************/
-
-/* This bit may be set in the opcode to indicate that the arguments
- * is(are) type integer and require(s) conversion. */
-
-#define fpARG1 (0x40)
-#define fpARG2 (0x80)
-#define fpMASK (0x3f)
-#define fpSHIFT 6
-
-/* The "INVALID" floating point operation */
-
-#define fpINVLD (0x00)
-
-/* Floating Pointer Conversions (On 16-bit stack argument: FP or Integer) */
-
-#define fpFLOAT (0x01)
-#define fpTRUNC (0x02)
-#define fpROUND (0x03)
-
-/* Floating Point arithmetic instructions (Two FP 16-bit stack arguments) */
-
-#define fpADD (0x04)
-#define fpSUB (0x05)
-#define fpMUL (0x06)
-#define fpDIV (0x07)
-#define fpMOD (0x08)
-
-/* Floating Point Comparisons (Two FP 16-bit stack arguments) */
-
-#define fpEQU (0x0a)
-#define fpNEQ (0x0b)
-#define fpLT (0x0c)
-#define fpGTE (0x0d)
-#define fpGT (0x0e)
-#define fpLTE (0x0f)
-
-/* Floating Point arithmetic instructions (One FP 16-bit stack arguments) */
-
-#define fpNEG (0x10)
-#define fpABS (0x11)
-#define fpSQR (0x12)
-#define fpSQRT (0x13)
-#define fpSIN (0x14)
-#define fpCOS (0x15)
-#define fpATAN (0x16)
-#define fpLN (0x17)
-#define fpEXP (0x18)
-
-#define MAX_FOP (0x19) /* Number of floating point operations */
-
-#endif /* __PFDEFS_H */
+/*********************************************************************** + * pfdefs.h + * Floating point operation codes + * + * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***********************************************************************/ + +#ifndef __PFDEFS_H +#define __PFDEFS_H + +/*********************************************************************** + * FLOATING POINT SUB-OPCODES + ***********************************************************************/ + +/* This bit may be set in the opcode to indicate that the arguments + * is(are) type integer and require(s) conversion. */ + +#define fpARG1 (0x40) +#define fpARG2 (0x80) +#define fpMASK (0x3f) +#define fpSHIFT 6 + +/* The "INVALID" floating point operation */ + +#define fpINVLD (0x00) + +/* Floating Pointer Conversions (On 16-bit stack argument: FP or Integer) */ + +#define fpFLOAT (0x01) +#define fpTRUNC (0x02) +#define fpROUND (0x03) + +/* Floating Point arithmetic instructions (Two FP 16-bit stack arguments) */ + +#define fpADD (0x04) +#define fpSUB (0x05) +#define fpMUL (0x06) +#define fpDIV (0x07) +#define fpMOD (0x08) + +/* Floating Point Comparisons (Two FP 16-bit stack arguments) */ + +#define fpEQU (0x0a) +#define fpNEQ (0x0b) +#define fpLT (0x0c) +#define fpGTE (0x0d) +#define fpGT (0x0e) +#define fpLTE (0x0f) + +/* Floating Point arithmetic instructions (One FP 16-bit stack arguments) */ + +#define fpNEG (0x10) +#define fpABS (0x11) +#define fpSQR (0x12) +#define fpSQRT (0x13) +#define fpSIN (0x14) +#define fpCOS (0x15) +#define fpATAN (0x16) +#define fpLN (0x17) +#define fpEXP (0x18) + +#define MAX_FOP (0x19) /* Number of floating point operations */ + +#endif /* __PFDEFS_H */ diff --git a/misc/pascal/include/pinsn.h b/misc/pascal/include/pinsn.h index de4f571dd..b2276b099 100644 --- a/misc/pascal/include/pinsn.h +++ b/misc/pascal/include/pinsn.h @@ -3,7 +3,7 @@ * External Declarations associated libinsn.a * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/podefs.h b/misc/pascal/include/podefs.h index 9d372b402..fc25d62a4 100644 --- a/misc/pascal/include/podefs.h +++ b/misc/pascal/include/podefs.h @@ -3,7 +3,7 @@ * Logical P-code operation code definitions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/poff.h b/misc/pascal/include/poff.h index e0516f9ee..7cc33b290 100644 --- a/misc/pascal/include/poff.h +++ b/misc/pascal/include/poff.h @@ -3,7 +3,7 @@ * Definitions for the PCode Object File Format (POFF) * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/pofflib.h b/misc/pascal/include/pofflib.h index 44013623c..3547fca60 100644 --- a/misc/pascal/include/pofflib.h +++ b/misc/pascal/include/pofflib.h @@ -3,7 +3,7 @@ * Interfaces to the POFF library * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/include/pxdefs.h b/misc/pascal/include/pxdefs.h index 202ccfe5f..8c9ab834d 100644 --- a/misc/pascal/include/pxdefs.h +++ b/misc/pascal/include/pxdefs.h @@ -1,232 +1,232 @@ -/***********************************************************************
- * pxdefs.h
- * Definitions of the arguments of the oSYSIO opcode
- *
- * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***********************************************************************/
-
-#ifndef __PXDEFS_H
-#define __PXDEFS_H
-
-/***********************************************************************/
-/* Codes for system IO calls associated with standard Pascal procedure
- * and function calls. These must be confined to the range 0x0000
- * through 0xffff.
- */
-
-#define xEOF (0x0001)
-#define xEOLN (0x0002)
-#define xRESET (0x0003)
-#define xREWRITE (0x0004)
-
-#define xREADLN (0x0010)
-#define xREAD_PAGE (0x0011)
-#define xREAD_BINARY (0x0012)
-#define xREAD_INT (0x0013)
-#define xREAD_CHAR (0x0014)
-#define xREAD_STRING (0x0015)
-#define xREAD_REAL (0x0016)
-
-#define xWRITELN (0x0020)
-#define xWRITE_PAGE (0x0021)
-#define xWRITE_BINARY (0x0022)
-#define xWRITE_INT (0x0023)
-#define xWRITE_CHAR (0x0024)
-#define xWRITE_STRING (0x0025)
-#define xWRITE_REAL (0x0026)
-
-#define MAX_XOP (0x0027)
-
-/***********************************************************************/
-/* Codes for runtime library interfaces. These must be confined to the
- * range 0x0000 through 0xffff.
- */
-
-/* Get an environment string.
- * function getent(name : string) : cstring;
- * ON INPUT:
- * TOS(0)=length of string
- * TOS(1)=pointer to string
- * ON RETURN: actual parameters released
- * TOS(0,1)=32-bit absolute address of string
- */
-
-#define lbGETENV (0x0000)
-
-/* Copy pascal string to a pascal string
- * procedure str2str(src : string; var dest : string)
- * ON INPUT:
- * TOS(0)=address of dest string
- * TOS(1)=length of source string
- * TOS(2)=pointer to source string
- * ON RETURN: actual parameters released.
- */
-
-#define lbSTR2STR (0x0001)
-
-/* Copy C string to a pascal string
- * procedure cstr2str(src : cstring; var dest : string)
- * ON INPUT:
- * TOS(0)=address of dest string
- * TOS(1,2)=32-bit absolute address of C string
- * ON RETURN: actual parameters released
- */
-
-#define lbCSTR2STR (0x0002)
-
-/* Copy pascal string to a pascal string reference
- * procedure str2rstr(src : string; var dest : rstring)
- * ON INPUT:
- * TOS(0)=address of dest string reference
- * TOS(1)=length of source string
- * TOS(2)=pointer to source string
- * ON RETURN: actual parameters released.
- */
-
-#define lbSTR2RSTR (0x0003)
-
-/* Copy C string to a pascal string reference
- * procedure cstr2str(src : cstring; var dest : string)
- * ON INPUT:
- * TOS(0)=address of dest string reference
- * TOS(0)=MS 16-bits of 32-bit C source string pointer
- * TOS(1)=LS 16-bits of 32-bit C source string pointer
- * ON RETURN: actual parameters released
- */
-
-#define lbCSTR2RSTR (0x0004)
-
-/* Convert a string to a numeric value
- * procedure val(const s : string; var v; var code : word);
- *
- * Description:
- * val() converts the value represented in the string S to a numerical
- * value, and stores this value in the variable V, which can be of type
- * Longint, Real and Byte. If the conversion isn¡Çt succesfull, then the
- * parameter Code contains the index of the character in S which
- * prevented the conversion. The string S is allowed to contain spaces
- * in the beginning.
- *
- * The string S can contain a number in decimal, hexadecimal, binary or
- * octal format, as described in the language reference.
- *
- * Errors:
- * If the conversion doesn¡Çt succeed, the value of Code indicates the
- * position where the conversion went wrong.
- *
- * ON INPUT
- * TOS(0)=address of Code
- * TOS(1)=address of v
- * TOS(2)=length of source string
- * TOS(3)=pointer to source string
- * ON RETURN: actual parameters released
- */
-
-#define lbVAL (0x0005)
-
-/* Create an empty string
- * function mkstk : string;
- * ON INPUT
- * ON RETURN
- * TOS(0)=length of new string
- * TOS(1)=pointer to new string
- */
-
-#define lbMKSTK (0x0006)
-
-/* Replace a string with a duplicate string residing in allocated
- * string stack.
- * function mkstkstr(name : string) : string;
- * ON INPUT
- * TOS(0)=length of original string
- * TOS(1)=pointer to original string
- * ON RETURN
- * TOS(0)=length of new string
- * TOS(1)=pointer to new string
- */
-
-#define lbMKSTKSTR (0x0007)
-
-/* Replace a character with a string residing in allocated string stack.
- * function mkstkc(c : char) : string;
- * ON INPUT
- * TOS(0)=Character value
- * ON RETURN
- * TOS(0)=length of new string
- * TOS(1)=pointer to new string
- */
-
-#define lbMKSTKC (0x0008)
-
-/* Concatenate a string to the end of a string.
- * function strcat(name : string, c : char) : string;
- * ON INPUT
- * TOS(0)=length of string
- * TOS(1)=pointer to string
- * TOS(2)=length of string
- * TOS(3)=pointer to string
- * ON OUTPUT
- * TOS(1)=new length of string
- * TOS(2)=pointer to string
- */
-
-#define lbSTRCAT (0x0009)
-
-/* Concatenate a character to the end of a string.
- * function strcatc(name : string, c : char) : string;
- * ON INPUT
- * TOS(0)=character to concatenate
- * TOS(1)=length of string
- * TOS(2)=pointer to string
- * ON OUTPUT
- * TOS(1)=new length of string
- * TOS(2)=pointer to string
- */
-
-#define lbSTRCATC (0x000a)
-
-/* Compare two pascal strings
- * function strcmp(name1 : string, name2 : string) : integer;
- * ON INPUT
- * TOS(1)=length of string2
- * TOS(2)=address of string2 data
- * TOS(3)=length of string1
- * TOS(4)=address of string1 data
- * ON OUTPUT
- * TOS(0)=(-1=less than, 0=equal, 1=greater than}
- */
-
-#define lbSTRCMP (0x000b)
-
-#define MAX_LBOP (0x000c)
-
-#endif /* __PXDEFS_H */
+/*********************************************************************** + * pxdefs.h + * Definitions of the arguments of the oSYSIO opcode + * + * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***********************************************************************/ + +#ifndef __PXDEFS_H +#define __PXDEFS_H + +/***********************************************************************/ +/* Codes for system IO calls associated with standard Pascal procedure + * and function calls. These must be confined to the range 0x0000 + * through 0xffff. + */ + +#define xEOF (0x0001) +#define xEOLN (0x0002) +#define xRESET (0x0003) +#define xREWRITE (0x0004) + +#define xREADLN (0x0010) +#define xREAD_PAGE (0x0011) +#define xREAD_BINARY (0x0012) +#define xREAD_INT (0x0013) +#define xREAD_CHAR (0x0014) +#define xREAD_STRING (0x0015) +#define xREAD_REAL (0x0016) + +#define xWRITELN (0x0020) +#define xWRITE_PAGE (0x0021) +#define xWRITE_BINARY (0x0022) +#define xWRITE_INT (0x0023) +#define xWRITE_CHAR (0x0024) +#define xWRITE_STRING (0x0025) +#define xWRITE_REAL (0x0026) + +#define MAX_XOP (0x0027) + +/***********************************************************************/ +/* Codes for runtime library interfaces. These must be confined to the + * range 0x0000 through 0xffff. + */ + +/* Get an environment string. + * function getent(name : string) : cstring; + * ON INPUT: + * TOS(0)=length of string + * TOS(1)=pointer to string + * ON RETURN: actual parameters released + * TOS(0,1)=32-bit absolute address of string + */ + +#define lbGETENV (0x0000) + +/* Copy pascal string to a pascal string + * procedure str2str(src : string; var dest : string) + * ON INPUT: + * TOS(0)=address of dest string + * TOS(1)=length of source string + * TOS(2)=pointer to source string + * ON RETURN: actual parameters released. + */ + +#define lbSTR2STR (0x0001) + +/* Copy C string to a pascal string + * procedure cstr2str(src : cstring; var dest : string) + * ON INPUT: + * TOS(0)=address of dest string + * TOS(1,2)=32-bit absolute address of C string + * ON RETURN: actual parameters released + */ + +#define lbCSTR2STR (0x0002) + +/* Copy pascal string to a pascal string reference + * procedure str2rstr(src : string; var dest : rstring) + * ON INPUT: + * TOS(0)=address of dest string reference + * TOS(1)=length of source string + * TOS(2)=pointer to source string + * ON RETURN: actual parameters released. + */ + +#define lbSTR2RSTR (0x0003) + +/* Copy C string to a pascal string reference + * procedure cstr2str(src : cstring; var dest : string) + * ON INPUT: + * TOS(0)=address of dest string reference + * TOS(0)=MS 16-bits of 32-bit C source string pointer + * TOS(1)=LS 16-bits of 32-bit C source string pointer + * ON RETURN: actual parameters released + */ + +#define lbCSTR2RSTR (0x0004) + +/* Convert a string to a numeric value + * procedure val(const s : string; var v; var code : word); + * + * Description: + * val() converts the value represented in the string S to a numerical + * value, and stores this value in the variable V, which can be of type + * Longint, Real and Byte. If the conversion isn¡Çt succesfull, then the + * parameter Code contains the index of the character in S which + * prevented the conversion. The string S is allowed to contain spaces + * in the beginning. + * + * The string S can contain a number in decimal, hexadecimal, binary or + * octal format, as described in the language reference. + * + * Errors: + * If the conversion doesn¡Çt succeed, the value of Code indicates the + * position where the conversion went wrong. + * + * ON INPUT + * TOS(0)=address of Code + * TOS(1)=address of v + * TOS(2)=length of source string + * TOS(3)=pointer to source string + * ON RETURN: actual parameters released + */ + +#define lbVAL (0x0005) + +/* Create an empty string + * function mkstk : string; + * ON INPUT + * ON RETURN + * TOS(0)=length of new string + * TOS(1)=pointer to new string + */ + +#define lbMKSTK (0x0006) + +/* Replace a string with a duplicate string residing in allocated + * string stack. + * function mkstkstr(name : string) : string; + * ON INPUT + * TOS(0)=length of original string + * TOS(1)=pointer to original string + * ON RETURN + * TOS(0)=length of new string + * TOS(1)=pointer to new string + */ + +#define lbMKSTKSTR (0x0007) + +/* Replace a character with a string residing in allocated string stack. + * function mkstkc(c : char) : string; + * ON INPUT + * TOS(0)=Character value + * ON RETURN + * TOS(0)=length of new string + * TOS(1)=pointer to new string + */ + +#define lbMKSTKC (0x0008) + +/* Concatenate a string to the end of a string. + * function strcat(name : string, c : char) : string; + * ON INPUT + * TOS(0)=length of string + * TOS(1)=pointer to string + * TOS(2)=length of string + * TOS(3)=pointer to string + * ON OUTPUT + * TOS(1)=new length of string + * TOS(2)=pointer to string + */ + +#define lbSTRCAT (0x0009) + +/* Concatenate a character to the end of a string. + * function strcatc(name : string, c : char) : string; + * ON INPUT + * TOS(0)=character to concatenate + * TOS(1)=length of string + * TOS(2)=pointer to string + * ON OUTPUT + * TOS(1)=new length of string + * TOS(2)=pointer to string + */ + +#define lbSTRCATC (0x000a) + +/* Compare two pascal strings + * function strcmp(name1 : string, name2 : string) : integer; + * ON INPUT + * TOS(1)=length of string2 + * TOS(2)=address of string2 data + * TOS(3)=length of string1 + * TOS(4)=address of string1 data + * ON OUTPUT + * TOS(0)=(-1=less than, 0=equal, 1=greater than} + */ + +#define lbSTRCMP (0x000b) + +#define MAX_LBOP (0x000c) + +#endif /* __PXDEFS_H */ diff --git a/misc/pascal/insn16/Makefile b/misc/pascal/insn16/Makefile index 4cd99082e..0af4ae13e 100644 --- a/misc/pascal/insn16/Makefile +++ b/misc/pascal/insn16/Makefile @@ -2,7 +2,7 @@ # insn16/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/include/pdbg.h b/misc/pascal/insn16/include/pdbg.h index 1a0e148d2..78c6cb190 100644 --- a/misc/pascal/insn16/include/pdbg.h +++ b/misc/pascal/insn16/include/pdbg.h @@ -1,52 +1,52 @@ -/***************************************************************************
- * pdbg.h
- * External Declarations associated with the P-Code debugger
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PDBG_H
-#define __PDBG_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include "pexec.h"
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void dbg_run(struct pexec_s *st);
-
-#endif /* __PDBG_H */
+/*************************************************************************** + * pdbg.h + * External Declarations associated with the P-Code debugger + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PDBG_H +#define __PDBG_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +#include "pexec.h" + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void dbg_run(struct pexec_s *st); + +#endif /* __PDBG_H */ diff --git a/misc/pascal/insn16/include/pexec.h b/misc/pascal/insn16/include/pexec.h index d593232c3..356757d53 100644 --- a/misc/pascal/insn16/include/pexec.h +++ b/misc/pascal/insn16/include/pexec.h @@ -2,7 +2,7 @@ * pexec.h * * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/include/pinsn16.h b/misc/pascal/insn16/include/pinsn16.h index 92f335400..383ba6437 100644 --- a/misc/pascal/insn16/include/pinsn16.h +++ b/misc/pascal/insn16/include/pinsn16.h @@ -3,7 +3,7 @@ * 16-bit P-code operation code definitions * * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/libinsn/Makefile b/misc/pascal/insn16/libinsn/Makefile index b0aa003e0..ce05f0273 100644 --- a/misc/pascal/insn16/libinsn/Makefile +++ b/misc/pascal/insn16/libinsn/Makefile @@ -2,7 +2,7 @@ # insn16/libinsn/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/libinsn/paddopcode.c b/misc/pascal/insn16/libinsn/paddopcode.c index 2f4a7bc0a..1384577a9 100644 --- a/misc/pascal/insn16/libinsn/paddopcode.c +++ b/misc/pascal/insn16/libinsn/paddopcode.c @@ -1,100 +1,100 @@ -/**********************************************************************
- * paddopcode
- * P-Code access utilities
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include "keywords.h"
-#include "podefs.h"
-#include "pinsn16.h"
-
-#include "paslib.h"
-#include "pofflib.h"
-#include "pinsn.h"
-
-/**********************************************************************
- * Private Function Prototypes
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Functions
- **********************************************************************/
-
-/**********************************************************************
- * Global Functions
- **********************************************************************/
-
-/**********************************************************************/
-
-void insn_AddOpCode(poffHandle_t handle, OPTYPE *ptr)
-{
- /* Write the opcode which is always present */
-
- (void)poffAddProgByte(handle, ptr->op);
-
- /* Write the 8-bit argument if present */
-
- if (ptr->op & o8)
- {
- (void)poffAddProgByte(handle, ptr->arg1);
- }
-
- /* Write the 16-bit argument if present */
-
- if (ptr->op & o16)
- {
- (void)poffAddProgByte(handle, (ptr->arg2 >> 8));
- (void)poffAddProgByte(handle, (ptr->arg2 & 0xff));
- }
-}
-
-/**********************************************************************/
-
-void insn_ResetOpCodeWrite(poffHandle_t handle)
-{
- poffResetAccess(handle);
-}
-
-/***********************************************************************/
+/********************************************************************** + * paddopcode + * P-Code access utilities + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include "keywords.h" +#include "podefs.h" +#include "pinsn16.h" + +#include "paslib.h" +#include "pofflib.h" +#include "pinsn.h" + +/********************************************************************** + * Private Function Prototypes + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/********************************************************************** + * Private Functions + **********************************************************************/ + +/********************************************************************** + * Global Functions + **********************************************************************/ + +/**********************************************************************/ + +void insn_AddOpCode(poffHandle_t handle, OPTYPE *ptr) +{ + /* Write the opcode which is always present */ + + (void)poffAddProgByte(handle, ptr->op); + + /* Write the 8-bit argument if present */ + + if (ptr->op & o8) + { + (void)poffAddProgByte(handle, ptr->arg1); + } + + /* Write the 16-bit argument if present */ + + if (ptr->op & o16) + { + (void)poffAddProgByte(handle, (ptr->arg2 >> 8)); + (void)poffAddProgByte(handle, (ptr->arg2 & 0xff)); + } +} + +/**********************************************************************/ + +void insn_ResetOpCodeWrite(poffHandle_t handle) +{ + poffResetAccess(handle); +} + +/***********************************************************************/ diff --git a/misc/pascal/insn16/libinsn/paddtmpopcode.c b/misc/pascal/insn16/libinsn/paddtmpopcode.c index 426f69d7e..a04878d85 100644 --- a/misc/pascal/insn16/libinsn/paddtmpopcode.c +++ b/misc/pascal/insn16/libinsn/paddtmpopcode.c @@ -1,100 +1,100 @@ -/**********************************************************************
- * paddtmpopcode
- * P-Code access utilities
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include "keywords.h"
-#include "podefs.h"
-#include "pinsn16.h"
-
-#include "paslib.h"
-#include "pofflib.h"
-#include "pinsn.h"
-
-/**********************************************************************
- * Private Function Prototypes
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Functions
- **********************************************************************/
-
-/**********************************************************************
- * Global Functions
- **********************************************************************/
-
-/**********************************************************************/
-
-void insn_AddTmpOpCode(poffProgHandle_t progHandle, OPTYPE *ptr)
-{
- /* Write the opcode which is always present */
-
- (void)poffAddTmpProgByte(progHandle, ptr->op);
-
- /* Write the 8-bit argument if present */
-
- if (ptr->op & o8)
- {
- (void)poffAddTmpProgByte(progHandle, ptr->arg1);
- }
-
- /* Write the 16-bit argument if present */
-
- if (ptr->op & o16)
- {
- (void)poffAddTmpProgByte(progHandle, (ptr->arg2 >> 8));
- (void)poffAddTmpProgByte(progHandle, (ptr->arg2 & 0xff));
- }
-}
-
-/**********************************************************************/
-
-void insn_ResetTmpOpCodeWrite(poffProgHandle_t progHandle)
-{
- poffResetProgHandle(progHandle);
-}
-
-/***********************************************************************/
+/********************************************************************** + * paddtmpopcode + * P-Code access utilities + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include "keywords.h" +#include "podefs.h" +#include "pinsn16.h" + +#include "paslib.h" +#include "pofflib.h" +#include "pinsn.h" + +/********************************************************************** + * Private Function Prototypes + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/********************************************************************** + * Private Functions + **********************************************************************/ + +/********************************************************************** + * Global Functions + **********************************************************************/ + +/**********************************************************************/ + +void insn_AddTmpOpCode(poffProgHandle_t progHandle, OPTYPE *ptr) +{ + /* Write the opcode which is always present */ + + (void)poffAddTmpProgByte(progHandle, ptr->op); + + /* Write the 8-bit argument if present */ + + if (ptr->op & o8) + { + (void)poffAddTmpProgByte(progHandle, ptr->arg1); + } + + /* Write the 16-bit argument if present */ + + if (ptr->op & o16) + { + (void)poffAddTmpProgByte(progHandle, (ptr->arg2 >> 8)); + (void)poffAddTmpProgByte(progHandle, (ptr->arg2 & 0xff)); + } +} + +/**********************************************************************/ + +void insn_ResetTmpOpCodeWrite(poffProgHandle_t progHandle) +{ + poffResetProgHandle(progHandle); +} + +/***********************************************************************/ diff --git a/misc/pascal/insn16/libinsn/pdasm.c b/misc/pascal/insn16/libinsn/pdasm.c index 4da71869a..6f37d1a2e 100644 --- a/misc/pascal/insn16/libinsn/pdasm.c +++ b/misc/pascal/insn16/libinsn/pdasm.c @@ -3,7 +3,7 @@ * P-Code Disassembler * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/libinsn/pgen.c b/misc/pascal/insn16/libinsn/pgen.c index 818bc907f..0ac3b8b1c 100644 --- a/misc/pascal/insn16/libinsn/pgen.c +++ b/misc/pascal/insn16/libinsn/pgen.c @@ -3,7 +3,7 @@ * P-Code generation logic * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/libinsn/pgetopcode.c b/misc/pascal/insn16/libinsn/pgetopcode.c index cc6f93077..c7a7f0a28 100644 --- a/misc/pascal/insn16/libinsn/pgetopcode.c +++ b/misc/pascal/insn16/libinsn/pgetopcode.c @@ -3,7 +3,7 @@ * P-Code access utilities * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/libinsn/preloc.c b/misc/pascal/insn16/libinsn/preloc.c index 0ecb53cb4..7c4701c89 100644 --- a/misc/pascal/insn16/libinsn/preloc.c +++ b/misc/pascal/insn16/libinsn/preloc.c @@ -3,7 +3,7 @@ * Perform P-Code relocations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/plist/Makefile b/misc/pascal/insn16/plist/Makefile index 55ed430b7..cd579f040 100644 --- a/misc/pascal/insn16/plist/Makefile +++ b/misc/pascal/insn16/plist/Makefile @@ -2,7 +2,7 @@ # insn16/plist/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/plist/plist.c b/misc/pascal/insn16/plist/plist.c index 538a17bc1..18b119e31 100644 --- a/misc/pascal/insn16/plist/plist.c +++ b/misc/pascal/insn16/plist/plist.c @@ -3,7 +3,7 @@ * POFF file lister * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/Makefile b/misc/pascal/insn16/popt/Makefile index 606ebe2c2..cff0ec7fb 100644 --- a/misc/pascal/insn16/popt/Makefile +++ b/misc/pascal/insn16/popt/Makefile @@ -3,7 +3,7 @@ # Host system makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/pcopt.c b/misc/pascal/insn16/popt/pcopt.c index 5f8deed80..e37a2d367 100644 --- a/misc/pascal/insn16/popt/pcopt.c +++ b/misc/pascal/insn16/popt/pcopt.c @@ -3,7 +3,7 @@ * Constant Expression Optimizations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/pcopt.h b/misc/pascal/insn16/popt/pcopt.h index 02dbae334..53ea9c040 100644 --- a/misc/pascal/insn16/popt/pcopt.h +++ b/misc/pascal/insn16/popt/pcopt.h @@ -3,7 +3,7 @@ * External Declarations associated with PCOPT.C * * Copyright (C) 200-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/pfopt.c b/misc/pascal/insn16/popt/pfopt.c index 0236b525c..612ceb8f4 100644 --- a/misc/pascal/insn16/popt/pfopt.c +++ b/misc/pascal/insn16/popt/pfopt.c @@ -3,7 +3,7 @@ * Finalization of optimized image * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/pfopt.h b/misc/pascal/insn16/popt/pfopt.h index d792d11bf..07ce738b1 100644 --- a/misc/pascal/insn16/popt/pfopt.h +++ b/misc/pascal/insn16/popt/pfopt.h @@ -1,54 +1,54 @@ -/***************************************************************************
- * pfopt.h
- * External Declarations associated with pfopt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PFOPT_H
-#define __PFOPT_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include "pofflib.h"
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void optFinalize(poffHandle_t poffHandle,
- poffProgHandle_t poffProgHandle);
-
-#endif /* __PFOPT_H */
-
+/*************************************************************************** + * pfopt.h + * External Declarations associated with pfopt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PFOPT_H +#define __PFOPT_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +#include "pofflib.h" + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void optFinalize(poffHandle_t poffHandle, + poffProgHandle_t poffProgHandle); + +#endif /* __PFOPT_H */ + diff --git a/misc/pascal/insn16/popt/pjopt.c b/misc/pascal/insn16/popt/pjopt.c index e504a1dce..16244b5e1 100644 --- a/misc/pascal/insn16/popt/pjopt.c +++ b/misc/pascal/insn16/popt/pjopt.c @@ -3,7 +3,7 @@ * Branch Optimizations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/pjopt.h b/misc/pascal/insn16/popt/pjopt.h index 892ac3385..a05082477 100644 --- a/misc/pascal/insn16/popt/pjopt.h +++ b/misc/pascal/insn16/popt/pjopt.h @@ -3,7 +3,7 @@ * External Declarations associated with pjopt.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/plopt.c b/misc/pascal/insn16/popt/plopt.c index 2f8ff39f0..b01449f64 100644 --- a/misc/pascal/insn16/popt/plopt.c +++ b/misc/pascal/insn16/popt/plopt.c @@ -3,7 +3,7 @@ * Load/Store Optimizations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/plopt.h b/misc/pascal/insn16/popt/plopt.h index e38a726e7..43e66af16 100644 --- a/misc/pascal/insn16/popt/plopt.h +++ b/misc/pascal/insn16/popt/plopt.h @@ -3,7 +3,7 @@ * External Declarations associated with plopt.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/polocal.c b/misc/pascal/insn16/popt/polocal.c index 39260b1dd..9ef98c1ce 100644 --- a/misc/pascal/insn16/popt/polocal.c +++ b/misc/pascal/insn16/popt/polocal.c @@ -3,7 +3,7 @@ * P-Code Local Optimizer * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/polocal.h b/misc/pascal/insn16/popt/polocal.h index 9e6010dca..31bade3af 100644 --- a/misc/pascal/insn16/popt/polocal.h +++ b/misc/pascal/insn16/popt/polocal.h @@ -3,7 +3,7 @@ * External Declarations associated with polocal.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/popt.c b/misc/pascal/insn16/popt/popt.c index 9e8e033dc..2c47984f1 100644 --- a/misc/pascal/insn16/popt/popt.c +++ b/misc/pascal/insn16/popt/popt.c @@ -3,7 +3,7 @@ * P-Code Optimizer Main Logic * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/popt.h b/misc/pascal/insn16/popt/popt.h index e5825466a..a3530f75d 100644 --- a/misc/pascal/insn16/popt/popt.h +++ b/misc/pascal/insn16/popt/popt.h @@ -1,52 +1,52 @@ -/***************************************************************************
- * popt.h
- * External Declarations associated with popt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __POPT_H
-#define __POPT_H
-
-/***************************************************************************
-* Included Files
-****************************************************************************/
-
-/***************************************************************************
-* Global Function Prototypes
-****************************************************************************/
-
-/***************************************************************************
- * Global Variables
- ****************************************************************************/
-
-#endif /* __POPT_H */
+/*************************************************************************** + * popt.h + * External Declarations associated with popt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __POPT_H +#define __POPT_H + +/*************************************************************************** +* Included Files +****************************************************************************/ + +/*************************************************************************** +* Global Function Prototypes +****************************************************************************/ + +/*************************************************************************** + * Global Variables + ****************************************************************************/ + +#endif /* __POPT_H */ diff --git a/misc/pascal/insn16/popt/psopt.c b/misc/pascal/insn16/popt/psopt.c index 0881204c3..0f6a4952e 100644 --- a/misc/pascal/insn16/popt/psopt.c +++ b/misc/pascal/insn16/popt/psopt.c @@ -3,7 +3,7 @@ * String Stack Optimizaitons * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/popt/psopt.h b/misc/pascal/insn16/popt/psopt.h index c174aac8e..3ea1ee227 100644 --- a/misc/pascal/insn16/popt/psopt.h +++ b/misc/pascal/insn16/popt/psopt.h @@ -1,54 +1,54 @@ -/***************************************************************************
- * psopt.h
- * External Declarations associated with psopt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PSOPT_H
-#define __PSOPT_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include "pofflib.h"
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void stringStackOptimize(poffHandle_t poffHandle,
- poffProgHandle_t poffProgHandle);
-
-#endif /* __PSOPT_H */
-
+/*************************************************************************** + * psopt.h + * External Declarations associated with psopt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PSOPT_H +#define __PSOPT_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +#include "pofflib.h" + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void stringStackOptimize(poffHandle_t poffHandle, + poffProgHandle_t poffProgHandle); + +#endif /* __PSOPT_H */ + diff --git a/misc/pascal/insn16/prun/Make.defs b/misc/pascal/insn16/prun/Make.defs index 69fdc2c56..1e965e1f7 100644 --- a/misc/pascal/insn16/prun/Make.defs +++ b/misc/pascal/insn16/prun/Make.defs @@ -3,7 +3,7 @@ # NuttX runtime makefile fragment # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/prun/Makefile b/misc/pascal/insn16/prun/Makefile index f660b4a2a..b8fb4d98b 100644 --- a/misc/pascal/insn16/prun/Makefile +++ b/misc/pascal/insn16/prun/Makefile @@ -3,7 +3,7 @@ # Host system makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/prun/pdbg.c b/misc/pascal/insn16/prun/pdbg.c index 4f9dc35d3..d941ebb6f 100644 --- a/misc/pascal/insn16/prun/pdbg.c +++ b/misc/pascal/insn16/prun/pdbg.c @@ -3,7 +3,7 @@ * P-Code Debugger * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/prun/pexec.c b/misc/pascal/insn16/prun/pexec.c index 46df53c2c..b22e52835 100644 --- a/misc/pascal/insn16/prun/pexec.c +++ b/misc/pascal/insn16/prun/pexec.c @@ -2,7 +2,7 @@ * pexec.c * * Copyright (C) 200-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/prun/pload.c b/misc/pascal/insn16/prun/pload.c index 0ffd633d4..744d99876 100644 --- a/misc/pascal/insn16/prun/pload.c +++ b/misc/pascal/insn16/prun/pload.c @@ -2,7 +2,7 @@ * pload.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn16/prun/prun.c b/misc/pascal/insn16/prun/prun.c index a9fa92778..4dd33b2c3 100644 --- a/misc/pascal/insn16/prun/prun.c +++ b/misc/pascal/insn16/prun/prun.c @@ -2,7 +2,7 @@ * prun.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/Makefile b/misc/pascal/insn32/Makefile index a456dc25b..d02de859b 100644 --- a/misc/pascal/insn32/Makefile +++ b/misc/pascal/insn32/Makefile @@ -2,7 +2,7 @@ # insn32/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/include/builtins.h b/misc/pascal/insn32/include/builtins.h index 04aacfde9..6fe3dc919 100644 --- a/misc/pascal/insn32/include/builtins.h +++ b/misc/pascal/insn32/include/builtins.h @@ -3,7 +3,7 @@ * Definitions of built-in function calls. * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/include/pexec.h b/misc/pascal/insn32/include/pexec.h index 6a52ff95d..647a1d88c 100644 --- a/misc/pascal/insn32/include/pexec.h +++ b/misc/pascal/insn32/include/pexec.h @@ -2,7 +2,7 @@ * pexec.h * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/include/pinsn32.h b/misc/pascal/insn32/include/pinsn32.h index 29cf363e7..eaceeba7e 100644 --- a/misc/pascal/insn32/include/pinsn32.h +++ b/misc/pascal/insn32/include/pinsn32.h @@ -3,7 +3,7 @@ * 32-bit P-code operation code definitions * * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/include/rinsn32.h b/misc/pascal/insn32/include/rinsn32.h index 8894023ff..8826eefb1 100644 --- a/misc/pascal/insn32/include/rinsn32.h +++ b/misc/pascal/insn32/include/rinsn32.h @@ -3,7 +3,7 @@ * 32-bit register module instruction definitions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/Makefile b/misc/pascal/insn32/libinsn/Makefile index 04ea4cee8..4814bdf9d 100644 --- a/misc/pascal/insn32/libinsn/Makefile +++ b/misc/pascal/insn32/libinsn/Makefile @@ -2,7 +2,7 @@ # insn32/libinsn/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/paddopcode.c b/misc/pascal/insn32/libinsn/paddopcode.c index 2f873eb7f..6799fdbc6 100644 --- a/misc/pascal/insn32/libinsn/paddopcode.c +++ b/misc/pascal/insn32/libinsn/paddopcode.c @@ -3,7 +3,7 @@ * P-Code access utilities * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/paddtmpopcode.c b/misc/pascal/insn32/libinsn/paddtmpopcode.c index e4e10b458..e08cccc51 100644 --- a/misc/pascal/insn32/libinsn/paddtmpopcode.c +++ b/misc/pascal/insn32/libinsn/paddtmpopcode.c @@ -3,7 +3,7 @@ * P-Code access utilities * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/pdasm.c b/misc/pascal/insn32/libinsn/pdasm.c index 31d45088f..e0968b43b 100644 --- a/misc/pascal/insn32/libinsn/pdasm.c +++ b/misc/pascal/insn32/libinsn/pdasm.c @@ -3,7 +3,7 @@ * P-Code Disassembler * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/pgen.c b/misc/pascal/insn32/libinsn/pgen.c index a3219d388..e92cc98f4 100644 --- a/misc/pascal/insn32/libinsn/pgen.c +++ b/misc/pascal/insn32/libinsn/pgen.c @@ -3,7 +3,7 @@ * P-Code generation logic * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/pgetopcode.c b/misc/pascal/insn32/libinsn/pgetopcode.c index bbcc011e9..a6f9507b2 100644 --- a/misc/pascal/insn32/libinsn/pgetopcode.c +++ b/misc/pascal/insn32/libinsn/pgetopcode.c @@ -3,7 +3,7 @@ * P-Code access utilities * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/preloc.c b/misc/pascal/insn32/libinsn/preloc.c index b752abba5..7c0999219 100644 --- a/misc/pascal/insn32/libinsn/preloc.c +++ b/misc/pascal/insn32/libinsn/preloc.c @@ -3,7 +3,7 @@ * Perform P-Code relocations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/libinsn/presettmpopcodewrite.c b/misc/pascal/insn32/libinsn/presettmpopcodewrite.c index e4e10b458..e08cccc51 100644 --- a/misc/pascal/insn32/libinsn/presettmpopcodewrite.c +++ b/misc/pascal/insn32/libinsn/presettmpopcodewrite.c @@ -3,7 +3,7 @@ * P-Code access utilities * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/plist/Makefile b/misc/pascal/insn32/plist/Makefile index 506cdfee2..d74839878 100644 --- a/misc/pascal/insn32/plist/Makefile +++ b/misc/pascal/insn32/plist/Makefile @@ -2,7 +2,7 @@ # insn32/plist/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/plist/plist.c b/misc/pascal/insn32/plist/plist.c index d57e7deb7..a1667c7c2 100644 --- a/misc/pascal/insn32/plist/plist.c +++ b/misc/pascal/insn32/plist/plist.c @@ -3,7 +3,7 @@ * POFF file lister * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/popt/Makefile b/misc/pascal/insn32/popt/Makefile index 6073ff165..760c18fca 100644 --- a/misc/pascal/insn32/popt/Makefile +++ b/misc/pascal/insn32/popt/Makefile @@ -2,7 +2,7 @@ # insn32/popt/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/popt/pcopt.c b/misc/pascal/insn32/popt/pcopt.c index 2c4c1fa01..a0c0a0226 100644 --- a/misc/pascal/insn32/popt/pcopt.c +++ b/misc/pascal/insn32/popt/pcopt.c @@ -3,7 +3,7 @@ * Constant Expression Optimizations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/popt/pcopt.h b/misc/pascal/insn32/popt/pcopt.h index f638fcf28..0c3d453b9 100644 --- a/misc/pascal/insn32/popt/pcopt.h +++ b/misc/pascal/insn32/popt/pcopt.h @@ -1,47 +1,47 @@ -/***************************************************************************
- * pcopt.h
- * External Declarations associated with PCOPT.C
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PCOPT_H
-#define __PCOPT_H
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern int unaryOptimize ( void );
-extern int binaryOptimize ( void );
-
-#endif /* __PCOPT_H */
+/*************************************************************************** + * pcopt.h + * External Declarations associated with PCOPT.C + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PCOPT_H +#define __PCOPT_H + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern int unaryOptimize ( void ); +extern int binaryOptimize ( void ); + +#endif /* __PCOPT_H */ diff --git a/misc/pascal/insn32/popt/pfopt.c b/misc/pascal/insn32/popt/pfopt.c index cf71fe005..a9f1659c6 100644 --- a/misc/pascal/insn32/popt/pfopt.c +++ b/misc/pascal/insn32/popt/pfopt.c @@ -3,7 +3,7 @@ * Finalization of optimized image * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/popt/pfopt.h b/misc/pascal/insn32/popt/pfopt.h index d792d11bf..07ce738b1 100644 --- a/misc/pascal/insn32/popt/pfopt.h +++ b/misc/pascal/insn32/popt/pfopt.h @@ -1,54 +1,54 @@ -/***************************************************************************
- * pfopt.h
- * External Declarations associated with pfopt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PFOPT_H
-#define __PFOPT_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include "pofflib.h"
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void optFinalize(poffHandle_t poffHandle,
- poffProgHandle_t poffProgHandle);
-
-#endif /* __PFOPT_H */
-
+/*************************************************************************** + * pfopt.h + * External Declarations associated with pfopt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PFOPT_H +#define __PFOPT_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +#include "pofflib.h" + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void optFinalize(poffHandle_t poffHandle, + poffProgHandle_t poffProgHandle); + +#endif /* __PFOPT_H */ + diff --git a/misc/pascal/insn32/popt/pjopt.c b/misc/pascal/insn32/popt/pjopt.c index c10962d3c..17b77c4ef 100644 --- a/misc/pascal/insn32/popt/pjopt.c +++ b/misc/pascal/insn32/popt/pjopt.c @@ -1,449 +1,449 @@ -/**********************************************************************
- * pjopt.c
- * Branch Optimizations
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-
-#include "keywords.h"
-#include "pdefs.h"
-#include "pinsn32.h"
-
-#include "popt.h"
-#include "polocal.h"
-#include "pjopt.h"
-
-/**********************************************************************/
-
-int BranchOptimize (void)
-{
- int nchanges = 0;
- register int i;
-
- TRACE(stderr, "[BranchOptimize]");
-
- /* At least two pcodes are need to perform branch optimizations */
-
- i = 0;
- while (i < nops-1)
- {
- switch (pptr[i]->op)
- {
- case oNOT :
- switch (pptr[i+1]->op)
- {
- case oJEQUZ :
- pptr[i+1]->op = oJNEQZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJEQUZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oNEG :
- switch (pptr[i+1]->op)
- {
- case oJLTZ :
- pptr[i+1]->op = oJGTZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJGTEZ :
- pptr[i+1]->op = oJLTEZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJGTZ :
- pptr[i+1]->op = oJLTZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJLTEZ :
- pptr[i+1]->op = oJGTEZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oEQU :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oNEQ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJNEQ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJEQU;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oNEQ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oEQU;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJEQU;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJNEQ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oLT :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oGTE;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJGTE;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJLT;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oGTE :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oLT;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJLT;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJGTE;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oGT :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oLTE;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJLTE;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJGT;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oLTE :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oGT;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJGT;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJLTE;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oEQUZ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oNEQZ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJNEQZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJEQUZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oNEQZ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oEQUZ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- case oJNEQZ :
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oLTZ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oGTEZ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJGTEZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJLTZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oGTEZ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oLTZ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJLTZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJGTEZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oGTZ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oLTEZ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJLTEZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJGTZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- case oLTEZ :
- switch (pptr[i+1]->op)
- {
- case oNOT :
- pptr[i]->op = oGTZ;
- deletePcode(i+1);
- nchanges++;
- break;
-
- case oJEQUZ :
- pptr[i+1]->op = oJGTZ;
- deletePcode(i);
- nchanges++;
- break;
-
- case oJNEQZ :
- pptr[i+1]->op = oJLTEZ;
- deletePcode(i);
- nchanges++;
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- break;
-
- default :
- i++;
- break;
- } /* end switch */
- } /* end while */
- return (nchanges);
-
-} /* end BranchOptimize */
-
-/**********************************************************************/
-
+/********************************************************************** + * pjopt.c + * Branch Optimizations + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> + +#include "keywords.h" +#include "pdefs.h" +#include "pinsn32.h" + +#include "popt.h" +#include "polocal.h" +#include "pjopt.h" + +/**********************************************************************/ + +int BranchOptimize (void) +{ + int nchanges = 0; + register int i; + + TRACE(stderr, "[BranchOptimize]"); + + /* At least two pcodes are need to perform branch optimizations */ + + i = 0; + while (i < nops-1) + { + switch (pptr[i]->op) + { + case oNOT : + switch (pptr[i+1]->op) + { + case oJEQUZ : + pptr[i+1]->op = oJNEQZ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJEQUZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oNEG : + switch (pptr[i+1]->op) + { + case oJLTZ : + pptr[i+1]->op = oJGTZ; + deletePcode(i); + nchanges++; + break; + + case oJGTEZ : + pptr[i+1]->op = oJLTEZ; + deletePcode(i); + nchanges++; + break; + + case oJGTZ : + pptr[i+1]->op = oJLTZ; + deletePcode(i); + nchanges++; + break; + + case oJLTEZ : + pptr[i+1]->op = oJGTEZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oEQU : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oNEQ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJNEQ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJEQU; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oNEQ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oEQU; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJEQU; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJNEQ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oLT : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oGTE; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJGTE; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJLT; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oGTE : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oLT; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJLT; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJGTE; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oGT : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oLTE; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJLTE; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJGT; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oLTE : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oGT; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJGT; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJLTE; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oEQUZ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oNEQZ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJNEQZ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJEQUZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oNEQZ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oEQUZ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + case oJNEQZ : + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oLTZ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oGTEZ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJGTEZ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJLTZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oGTEZ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oLTZ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJLTZ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJGTEZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oGTZ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oLTEZ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJLTEZ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJGTZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + case oLTEZ : + switch (pptr[i+1]->op) + { + case oNOT : + pptr[i]->op = oGTZ; + deletePcode(i+1); + nchanges++; + break; + + case oJEQUZ : + pptr[i+1]->op = oJGTZ; + deletePcode(i); + nchanges++; + break; + + case oJNEQZ : + pptr[i+1]->op = oJLTEZ; + deletePcode(i); + nchanges++; + break; + + default : + i++; + break; + } /* end switch */ + break; + + default : + i++; + break; + } /* end switch */ + } /* end while */ + return (nchanges); + +} /* end BranchOptimize */ + +/**********************************************************************/ + diff --git a/misc/pascal/insn32/popt/pjopt.h b/misc/pascal/insn32/popt/pjopt.h index 4564ec6c6..75a0b64f2 100644 --- a/misc/pascal/insn32/popt/pjopt.h +++ b/misc/pascal/insn32/popt/pjopt.h @@ -1,44 +1,44 @@ -/***************************************************************************
- * pjopt.h
- * External Declarations associated with pjopt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PJOPT_H
-#define __PJOPT_H
-
-extern int BranchOptimize ( void );
-
-#endif __PJOPT_H
-
-
+/*************************************************************************** + * pjopt.h + * External Declarations associated with pjopt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PJOPT_H +#define __PJOPT_H + +extern int BranchOptimize ( void ); + +#endif __PJOPT_H + + diff --git a/misc/pascal/insn32/popt/plopt.c b/misc/pascal/insn32/popt/plopt.c index b0a469533..05e8559ef 100644 --- a/misc/pascal/insn32/popt/plopt.c +++ b/misc/pascal/insn32/popt/plopt.c @@ -3,7 +3,7 @@ * Load/Store Optimizations * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/popt/plopt.h b/misc/pascal/insn32/popt/plopt.h index 05596cd45..3783cf400 100644 --- a/misc/pascal/insn32/popt/plopt.h +++ b/misc/pascal/insn32/popt/plopt.h @@ -1,43 +1,43 @@ -/***************************************************************************
- * plopt.h
- * External Declarations associated with plopt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PLOPT_H
-#define __PLOPT_H
-
-extern int LoadOptimize ( void );
-extern int StoreOptimize ( void );
-
-#endif /* __PLOPT_H */
+/*************************************************************************** + * plopt.h + * External Declarations associated with plopt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PLOPT_H +#define __PLOPT_H + +extern int LoadOptimize ( void ); +extern int StoreOptimize ( void ); + +#endif /* __PLOPT_H */ diff --git a/misc/pascal/insn32/popt/polocal.c b/misc/pascal/insn32/popt/polocal.c index 551913a49..036182372 100644 --- a/misc/pascal/insn32/popt/polocal.c +++ b/misc/pascal/insn32/popt/polocal.c @@ -1,271 +1,271 @@ -/**********************************************************************
- * polocal.c
- * P-Code Local Optimizer
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-
-#include "keywords.h"
-#include "podefs.h"
-#include "pinsn32.h"
-
-#include "pofflib.h"
-#include "paslib.h"
-#include "pinsn.h"
-#include "pcopt.h"
-#include "plopt.h"
-#include "pjopt.h"
-#include "polocal.h"
-
-/**********************************************************************
- * Private Function Prototypes
- **********************************************************************/
-
-static void initPTable (void);
-static void putPCodeFromTable (void);
-static void setupPointer (void);
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-OPTYPE ptable [WINDOW]; /* Pcode Table */
-OPTYPE *pptr [WINDOW]; /* Valid Pcode Pointers */
-
-int nops = 0; /* No. Valid Pcode Pointers */
-int end_out = 0; /* 1 = oEND pcode has been output */
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-static poffHandle_t myPoffHandle; /* Handle to POFF object */
-static poffProgHandle_t myPoffProgHandle;/* Handle to temporary POFF object */
-
-/**********************************************************************
- * Global Functions
- **********************************************************************/
-
-/***********************************************************************/
-
-void localOptimization(poffHandle_t poffHandle,
- poffProgHandle_t poffProgHandle)
-{
- int nchanges;
-
- TRACE(stderr, "[pass2]");
-
- /* Save the handles for use by other, private functions */
-
- myPoffHandle = poffHandle;
- myPoffProgHandle = poffProgHandle;
-
- /* Initialization */
-
- initPTable();
-
- /* Outer loop traverse the file op-code by op-code until the oEND P-Code
- * has been output. NOTE: it is assumed throughout that oEND is the
- * final P-Code in the program data section.
- */
-
- while (!(end_out))
- {
- /* The inner loop optimizes the buffered P-Codes until no further
- * changes can be made. Then the outer loop will advance the buffer
- * by one P-Code
- */
-
- do
- {
- nchanges = unaryOptimize ();
- nchanges += binaryOptimize();
- nchanges += BranchOptimize();
- nchanges += LoadOptimize();
- nchanges += StoreOptimize();
- } while (nchanges);
-
- putPCodeFromTable();
- }
-}
-
-/***********************************************************************/
-
-void deletePcode(int delIndex)
-{
- TRACE(stderr, "[deletePcode]");
-
- PUTOP(pptr[delIndex], oNOP);
- PUTARG(pptr[delIndex], 0);
- setupPointer();
-}
-
-/**********************************************************************/
-
-void deletePcodePair(int delIndex1, int delIndex2)
-{
- TRACE(stderr, "[deletePcodePair]");
-
- PUTOP(pptr[delIndex1], oNOP);
- PUTARG(pptr[delIndex1], 0);
- PUTOP(pptr[delIndex2], oNOP);
- PUTARG(pptr[delIndex2], 0);
- setupPointer();
-}
-
-/**********************************************************************
- * Private Functions
- **********************************************************************/
-
-/***********************************************************************/
-
-static void putPCodeFromTable(void)
-{
- register int i;
-
- TRACE(stderr, "[putPCodeFromTable]");
-
- /* Transfer all buffered P-Codes (except NOPs) to the optimized file */
- do
- {
- if ((GETOP(&ptable[0]) != oNOP) && !(end_out))
- {
- insn_AddTmpOpCode(myPoffProgHandle, &ptable[0]);
- end_out = (GETOP(&ptable[0]) == oEND);
- }
-
- /* Move all P-Codes down one slot */
-
- for (i = 1; i < WINDOW; i++)
- {
- ptable[i-1] = ptable[i];
- }
-
- /* Then fill the end slot with a new P-Code from the input file */
-
- insn_GetOpCode(myPoffHandle, &ptable[WINDOW-1]);
-
- } while (GETOP(&ptable[0]) == oNOP);
- setupPointer();
-}
-
-/**********************************************************************/
-
-static void setupPointer(void)
-{
- register int pindex;
-
- TRACE(stderr, "[setupPointer]");
-
- for (pindex = 0; pindex < WINDOW; pindex++)
- pptr[pindex] = (OPTYPE *) NULL;
-
- nops = 0;
- for (pindex = 0; pindex < WINDOW; pindex++)
- {
- switch (GETOP(&ptable[pindex]))
- {
- /* Terminate list when a break from sequential logic is
- * encountered
- */
-
- case oRET :
- case oEND :
- case oJMP :
- case oLABEL :
- case oPCAL :
- return;
-
- /* Terminate list when a condition break from sequential logic is
- * encountered but include the conditional branch in the list
- */
-
- case oJEQUZ :
- case oJNEQZ :
- case oJLTZ :
- case oJGTEZ :
- case oJGTZ :
- case oJLTEZ :
- pptr[nops] = &ptable[pindex];
- nops++;
- return;
-
- /* Skip over NOPs and comment class pcodes */
-
- case oNOP :
- case oLINE :
- break;
-
- /* Include all other pcodes in the optimization list and continue */
-
- default :
- pptr[nops] = &ptable[pindex];
- nops++;
- }
- }
-}
-
-/**********************************************************************/
-
-static void initPTable(void)
-{
- register int i;
-
- TRACE(stderr, "[intPTable]");
-
- /* Skip over leading pcodes. NOTE: assumes executable begins after
- * the first oLABEL pcode
- */
-
- do
- {
- insn_GetOpCode(myPoffHandle, &ptable[0]);
- insn_AddTmpOpCode(myPoffProgHandle, &ptable[0]);
- }
- while ((GETOP(&ptable[0]) != oLABEL) && (GETOP(&ptable[0]) != oEND));
-
- /* Fill the pcode window and setup pointers to working section */
-
- for (i = 0; i < WINDOW; i++)
- {
- insn_GetOpCode(myPoffHandle, &ptable[i]);
- }
- setupPointer();
-}
-
-/***********************************************************************/
+/********************************************************************** + * polocal.c + * P-Code Local Optimizer + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> + +#include "keywords.h" +#include "podefs.h" +#include "pinsn32.h" + +#include "pofflib.h" +#include "paslib.h" +#include "pinsn.h" +#include "pcopt.h" +#include "plopt.h" +#include "pjopt.h" +#include "polocal.h" + +/********************************************************************** + * Private Function Prototypes + **********************************************************************/ + +static void initPTable (void); +static void putPCodeFromTable (void); +static void setupPointer (void); + +/********************************************************************** + * Global Variables + **********************************************************************/ + +OPTYPE ptable [WINDOW]; /* Pcode Table */ +OPTYPE *pptr [WINDOW]; /* Valid Pcode Pointers */ + +int nops = 0; /* No. Valid Pcode Pointers */ +int end_out = 0; /* 1 = oEND pcode has been output */ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +static poffHandle_t myPoffHandle; /* Handle to POFF object */ +static poffProgHandle_t myPoffProgHandle;/* Handle to temporary POFF object */ + +/********************************************************************** + * Global Functions + **********************************************************************/ + +/***********************************************************************/ + +void localOptimization(poffHandle_t poffHandle, + poffProgHandle_t poffProgHandle) +{ + int nchanges; + + TRACE(stderr, "[pass2]"); + + /* Save the handles for use by other, private functions */ + + myPoffHandle = poffHandle; + myPoffProgHandle = poffProgHandle; + + /* Initialization */ + + initPTable(); + + /* Outer loop traverse the file op-code by op-code until the oEND P-Code + * has been output. NOTE: it is assumed throughout that oEND is the + * final P-Code in the program data section. + */ + + while (!(end_out)) + { + /* The inner loop optimizes the buffered P-Codes until no further + * changes can be made. Then the outer loop will advance the buffer + * by one P-Code + */ + + do + { + nchanges = unaryOptimize (); + nchanges += binaryOptimize(); + nchanges += BranchOptimize(); + nchanges += LoadOptimize(); + nchanges += StoreOptimize(); + } while (nchanges); + + putPCodeFromTable(); + } +} + +/***********************************************************************/ + +void deletePcode(int delIndex) +{ + TRACE(stderr, "[deletePcode]"); + + PUTOP(pptr[delIndex], oNOP); + PUTARG(pptr[delIndex], 0); + setupPointer(); +} + +/**********************************************************************/ + +void deletePcodePair(int delIndex1, int delIndex2) +{ + TRACE(stderr, "[deletePcodePair]"); + + PUTOP(pptr[delIndex1], oNOP); + PUTARG(pptr[delIndex1], 0); + PUTOP(pptr[delIndex2], oNOP); + PUTARG(pptr[delIndex2], 0); + setupPointer(); +} + +/********************************************************************** + * Private Functions + **********************************************************************/ + +/***********************************************************************/ + +static void putPCodeFromTable(void) +{ + register int i; + + TRACE(stderr, "[putPCodeFromTable]"); + + /* Transfer all buffered P-Codes (except NOPs) to the optimized file */ + do + { + if ((GETOP(&ptable[0]) != oNOP) && !(end_out)) + { + insn_AddTmpOpCode(myPoffProgHandle, &ptable[0]); + end_out = (GETOP(&ptable[0]) == oEND); + } + + /* Move all P-Codes down one slot */ + + for (i = 1; i < WINDOW; i++) + { + ptable[i-1] = ptable[i]; + } + + /* Then fill the end slot with a new P-Code from the input file */ + + insn_GetOpCode(myPoffHandle, &ptable[WINDOW-1]); + + } while (GETOP(&ptable[0]) == oNOP); + setupPointer(); +} + +/**********************************************************************/ + +static void setupPointer(void) +{ + register int pindex; + + TRACE(stderr, "[setupPointer]"); + + for (pindex = 0; pindex < WINDOW; pindex++) + pptr[pindex] = (OPTYPE *) NULL; + + nops = 0; + for (pindex = 0; pindex < WINDOW; pindex++) + { + switch (GETOP(&ptable[pindex])) + { + /* Terminate list when a break from sequential logic is + * encountered + */ + + case oRET : + case oEND : + case oJMP : + case oLABEL : + case oPCAL : + return; + + /* Terminate list when a condition break from sequential logic is + * encountered but include the conditional branch in the list + */ + + case oJEQUZ : + case oJNEQZ : + case oJLTZ : + case oJGTEZ : + case oJGTZ : + case oJLTEZ : + pptr[nops] = &ptable[pindex]; + nops++; + return; + + /* Skip over NOPs and comment class pcodes */ + + case oNOP : + case oLINE : + break; + + /* Include all other pcodes in the optimization list and continue */ + + default : + pptr[nops] = &ptable[pindex]; + nops++; + } + } +} + +/**********************************************************************/ + +static void initPTable(void) +{ + register int i; + + TRACE(stderr, "[intPTable]"); + + /* Skip over leading pcodes. NOTE: assumes executable begins after + * the first oLABEL pcode + */ + + do + { + insn_GetOpCode(myPoffHandle, &ptable[0]); + insn_AddTmpOpCode(myPoffProgHandle, &ptable[0]); + } + while ((GETOP(&ptable[0]) != oLABEL) && (GETOP(&ptable[0]) != oEND)); + + /* Fill the pcode window and setup pointers to working section */ + + for (i = 0; i < WINDOW; i++) + { + insn_GetOpCode(myPoffHandle, &ptable[i]); + } + setupPointer(); +} + +/***********************************************************************/ diff --git a/misc/pascal/insn32/popt/polocal.h b/misc/pascal/insn32/popt/polocal.h index a46e4dc9c..fc97cb819 100644 --- a/misc/pascal/insn32/popt/polocal.h +++ b/misc/pascal/insn32/popt/polocal.h @@ -1,73 +1,73 @@ -/***************************************************************************
- * polocal.h
- * External Declarations associated with polocal.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __POLOCAL_H
-#define __POLOCAL_H
-
-/***************************************************************************
-* Included Files
-****************************************************************************/
-
-#include "keywords.h"
-#include "pdefs.h"
-#include "pofflib.h"
-
-/***************************************************************************
-* Definitions
-****************************************************************************/
-
-#define WINDOW 10 /* size of optimization window */
-
-/***************************************************************************
-* Global Function Prototypes
-****************************************************************************/
-
-extern void localOptimization(poffHandle_t poffHandle,
- poffProgHandle_t poffProgHandle);
-extern void deletePcode (int delIndex);
-extern void deletePcodePair (int delIndex1, int delIndex2);
-
-/***************************************************************************
- * Global Variables
- ****************************************************************************/
-
-extern OPTYPE ptable [WINDOW]; /* Pcode Table */
-extern OPTYPE *pptr [WINDOW]; /* Valid Pcode Pointers */
-
-extern int nops; /* No. Valid Pcode Pointers */
-extern int end_out; /* 1 = oEND pcode has been output */
-
-#endif /* __PLOCAL_H */
+/*************************************************************************** + * polocal.h + * External Declarations associated with polocal.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __POLOCAL_H +#define __POLOCAL_H + +/*************************************************************************** +* Included Files +****************************************************************************/ + +#include "keywords.h" +#include "pdefs.h" +#include "pofflib.h" + +/*************************************************************************** +* Definitions +****************************************************************************/ + +#define WINDOW 10 /* size of optimization window */ + +/*************************************************************************** +* Global Function Prototypes +****************************************************************************/ + +extern void localOptimization(poffHandle_t poffHandle, + poffProgHandle_t poffProgHandle); +extern void deletePcode (int delIndex); +extern void deletePcodePair (int delIndex1, int delIndex2); + +/*************************************************************************** + * Global Variables + ****************************************************************************/ + +extern OPTYPE ptable [WINDOW]; /* Pcode Table */ +extern OPTYPE *pptr [WINDOW]; /* Valid Pcode Pointers */ + +extern int nops; /* No. Valid Pcode Pointers */ +extern int end_out; /* 1 = oEND pcode has been output */ + +#endif /* __PLOCAL_H */ diff --git a/misc/pascal/insn32/popt/popt.c b/misc/pascal/insn32/popt/popt.c index cf8c76ce3..5cf039a16 100644 --- a/misc/pascal/insn32/popt/popt.c +++ b/misc/pascal/insn32/popt/popt.c @@ -1,327 +1,327 @@ -/**********************************************************************
- * popt.c
- * P-Code Optimizer Main Logic
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "keywords.h"
-#include "podefs.h"
-#include "paslib.h"
-#include "pofflib.h"
-
-#include "pinsn.h"
-#include "popt.h"
-#include "psopt.h"
-#include "polocal.h"
-#include "pfopt.h"
-
-/**********************************************************************
- * Private Function Prototypes
- **********************************************************************/
-
-static void showUsage (const char *progname, int errcode);
-static void readPoffFile (const char *filename);
-static void pass1 (void);
-static void pass2 (void);
-static void pass3 (void);
-static void writePoffFile (const char *filename);
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-static poffHandle_t poffHandle; /* Handle to POFF object */
-static int no_resolve = 0;
-
-/**********************************************************************
- * Global Functions
- **********************************************************************/
-
-/***********************************************************************/
-
-int main(int argc, char *argv[], char *envp[])
-{
- const char *outfilename;
- TRACE(stderr, "[main]");
- int option;
-
- /* Process command line argruments */
-
- while ((option = getopt(argc, argv, "rh")) > 0)
- {
- switch (option)
- {
- case 'r' :
- no_resolve++;
- break;
- case 'h' :
- showUsage(argv[0], 0);
- default:
- fprintf(stderr, "Unrecognized option\n");
- showUsage(argv[0], -1);
- }
- }
-
- /* Check for existence of filename argument */
-
- if (optind != argc - 1)
- {
- printf("Filename required at end of command line.\n");
- showUsage(argv[0], -1);
- } /* end if */
-
- /* Read the POFF file into memory */
-
- outfilename = argv[optind];
- readPoffFile(outfilename);
-
- /* Performs pass1 optimization */
-
- pass1();
-
- /* Performs pass2 optimization */
-
- insn_ResetOpCodeRead(poffHandle);
- pass2();
-
- if (!no_resolve)
- {
- /* Create final section offsets and relocation entries */
-
- insn_ResetOpCodeRead(poffHandle);
- pass3();
- }
-
- /* Write the POFF file */
-
- writePoffFile(outfilename);
- return 0;
-
-} /* End main */
-
-/**********************************************************************
- * Private Functions
- **********************************************************************/
-
-/***********************************************************************/
-
-static void showUsage(const char *progname, int errcode)
-{
- fprintf(stderr, "USAGE:\n");
- fprintf(stderr, " %s -h\n", progname);
- fprintf(stderr, " %s [-r] <poff-filename>\n", progname);
- fprintf(stderr, "WHERE:\n");
- fprintf(stderr, " -r: Disables label resolution (default: labels resolved)\n");
- fprintf(stderr, " -h: Shows this message\n");
- exit(errcode);
-}
-
-/***********************************************************************/
-
-static void readPoffFile(const char *filename)
-{
- char objname [FNAME_SIZE+1];
- FILE *objFile;
- int errcode;
-
- TRACE(stderr, "[readPoffFile]");
-
- /* Open the pass1 POFF object file -- Use .o1 extension */
-
- (void)extension(filename, "o1", objname, 1);
- if (!(objFile = fopen(objname, "rb")))
- {
- printf("Error Opening %s\n", objname);
- exit(1);
- } /* end if */
-
- /* Get a handle to a POFF input object */
-
- poffHandle = poffCreateHandle();
- if (!poffHandle)
- {
- printf("Could not get POFF handle\n");
- exit(1);
- } /* end if */
-
- /* Read the POFF file into memory */
-
- errcode = poffReadFile(poffHandle, objFile);
- if (errcode != 0)
- {
- printf("Could not read POFF file, errcode=0x%02x\n", errcode);
- exit(1);
- }
-
- /* Close the input file */
-
- fclose(objFile);
-} /* end pass1 */
-
-/***********************************************************************/
-
-static void pass1(void)
-{
- poffProgHandle_t poffProgHandle; /* Handle to temporary POFF object */
-
- TRACE(stderr, "[pass1]");
-
- /* Create a handle to a temporary object to store new POFF program
- * data.
- */
-
- poffProgHandle = poffCreateProgHandle();
- if (!poffProgHandle)
- {
- printf("Could not get POFF handle\n");
- exit(1);
- } /* end if */
-
- /* Clean up garbage left from the wasteful string stack logic */
-
- stringStackOptimize(poffHandle, poffProgHandle);
-
- /* Replace the original program data with the new program data */
-
- poffReplaceProgData(poffHandle, poffProgHandle);
-
- /* Release the temporary POFF object */
-
- poffDestroyProgHandle(poffProgHandle);
-} /* end pass1 */
-
-/***********************************************************************/
-
-static void pass2(void)
-{
- poffProgHandle_t poffProgHandle; /* Handle to temporary POFF object */
-
- TRACE(stderr, "[pass2]");
-
- /* Create a handle to a temporary object to store new POFF program
- * data.
- */
-
- poffProgHandle = poffCreateProgHandle();
- if (!poffProgHandle)
- {
- printf("Could not get POFF handle\n");
- exit(1);
- } /* end if */
-
- /* Perform Local Optimizatin Initialization */
-
- localOptimization(poffHandle, poffProgHandle);
-
- /* Replace the original program data with the new program data */
-
- poffReplaceProgData(poffHandle, poffProgHandle);
-
- /* Release the temporary POFF object */
-
- poffDestroyProgHandle(poffProgHandle);
-} /* end pass2 */
-
-/***********************************************************************/
-
-static void pass3 (void)
-{
- poffProgHandle_t poffProgHandle; /* Handle to temporary POFF object */
- TRACE(stderr, "[pass3]");
-
- /* Create a handle to a temporary object to store new POFF program
- * data.
- */
-
- poffProgHandle = poffCreateProgHandle();
- if (!poffProgHandle)
- {
- printf("Could not get POFF handle\n");
- exit(1);
- } /* end if */
-
- /* Finalize program section, create relocation and line number
- * sections.
- */
-
- optFinalize(poffHandle, poffProgHandle);
-
- /* Release the temporary POFF object */
-
- poffDestroyProgHandle(poffProgHandle);
-}
-
-/***********************************************************************/
-
-static void writePoffFile(const char *filename)
-{
- char optname [FNAME_SIZE+1];
- FILE *optFile;
-
- TRACE(stderr, "[writePoffFile]");
-
- /* Open optimized p-code file -- Use .o extension */
-
- (void)extension(filename, "o", optname, 1);
- if (!(optFile = fopen(optname, "wb")))
- {
- printf("Error Opening %s\n", optname);
- exit(1);
- } /* end if */
-
- /* Then write the new POFF file */
-
- poffWriteFile(poffHandle, optFile);
-
- /* Destroy the POFF object */
-
- poffDestroyHandle(poffHandle);
-
- /* Close the files used on writePoffFile */
-
- (void)fclose(optFile);
-} /* end writePoffFile */
-
-/***********************************************************************/
+/********************************************************************** + * popt.c + * P-Code Optimizer Main Logic + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +#include "keywords.h" +#include "podefs.h" +#include "paslib.h" +#include "pofflib.h" + +#include "pinsn.h" +#include "popt.h" +#include "psopt.h" +#include "polocal.h" +#include "pfopt.h" + +/********************************************************************** + * Private Function Prototypes + **********************************************************************/ + +static void showUsage (const char *progname, int errcode); +static void readPoffFile (const char *filename); +static void pass1 (void); +static void pass2 (void); +static void pass3 (void); +static void writePoffFile (const char *filename); + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +static poffHandle_t poffHandle; /* Handle to POFF object */ +static int no_resolve = 0; + +/********************************************************************** + * Global Functions + **********************************************************************/ + +/***********************************************************************/ + +int main(int argc, char *argv[], char *envp[]) +{ + const char *outfilename; + TRACE(stderr, "[main]"); + int option; + + /* Process command line argruments */ + + while ((option = getopt(argc, argv, "rh")) > 0) + { + switch (option) + { + case 'r' : + no_resolve++; + break; + case 'h' : + showUsage(argv[0], 0); + default: + fprintf(stderr, "Unrecognized option\n"); + showUsage(argv[0], -1); + } + } + + /* Check for existence of filename argument */ + + if (optind != argc - 1) + { + printf("Filename required at end of command line.\n"); + showUsage(argv[0], -1); + } /* end if */ + + /* Read the POFF file into memory */ + + outfilename = argv[optind]; + readPoffFile(outfilename); + + /* Performs pass1 optimization */ + + pass1(); + + /* Performs pass2 optimization */ + + insn_ResetOpCodeRead(poffHandle); + pass2(); + + if (!no_resolve) + { + /* Create final section offsets and relocation entries */ + + insn_ResetOpCodeRead(poffHandle); + pass3(); + } + + /* Write the POFF file */ + + writePoffFile(outfilename); + return 0; + +} /* End main */ + +/********************************************************************** + * Private Functions + **********************************************************************/ + +/***********************************************************************/ + +static void showUsage(const char *progname, int errcode) +{ + fprintf(stderr, "USAGE:\n"); + fprintf(stderr, " %s -h\n", progname); + fprintf(stderr, " %s [-r] <poff-filename>\n", progname); + fprintf(stderr, "WHERE:\n"); + fprintf(stderr, " -r: Disables label resolution (default: labels resolved)\n"); + fprintf(stderr, " -h: Shows this message\n"); + exit(errcode); +} + +/***********************************************************************/ + +static void readPoffFile(const char *filename) +{ + char objname [FNAME_SIZE+1]; + FILE *objFile; + int errcode; + + TRACE(stderr, "[readPoffFile]"); + + /* Open the pass1 POFF object file -- Use .o1 extension */ + + (void)extension(filename, "o1", objname, 1); + if (!(objFile = fopen(objname, "rb"))) + { + printf("Error Opening %s\n", objname); + exit(1); + } /* end if */ + + /* Get a handle to a POFF input object */ + + poffHandle = poffCreateHandle(); + if (!poffHandle) + { + printf("Could not get POFF handle\n"); + exit(1); + } /* end if */ + + /* Read the POFF file into memory */ + + errcode = poffReadFile(poffHandle, objFile); + if (errcode != 0) + { + printf("Could not read POFF file, errcode=0x%02x\n", errcode); + exit(1); + } + + /* Close the input file */ + + fclose(objFile); +} /* end pass1 */ + +/***********************************************************************/ + +static void pass1(void) +{ + poffProgHandle_t poffProgHandle; /* Handle to temporary POFF object */ + + TRACE(stderr, "[pass1]"); + + /* Create a handle to a temporary object to store new POFF program + * data. + */ + + poffProgHandle = poffCreateProgHandle(); + if (!poffProgHandle) + { + printf("Could not get POFF handle\n"); + exit(1); + } /* end if */ + + /* Clean up garbage left from the wasteful string stack logic */ + + stringStackOptimize(poffHandle, poffProgHandle); + + /* Replace the original program data with the new program data */ + + poffReplaceProgData(poffHandle, poffProgHandle); + + /* Release the temporary POFF object */ + + poffDestroyProgHandle(poffProgHandle); +} /* end pass1 */ + +/***********************************************************************/ + +static void pass2(void) +{ + poffProgHandle_t poffProgHandle; /* Handle to temporary POFF object */ + + TRACE(stderr, "[pass2]"); + + /* Create a handle to a temporary object to store new POFF program + * data. + */ + + poffProgHandle = poffCreateProgHandle(); + if (!poffProgHandle) + { + printf("Could not get POFF handle\n"); + exit(1); + } /* end if */ + + /* Perform Local Optimizatin Initialization */ + + localOptimization(poffHandle, poffProgHandle); + + /* Replace the original program data with the new program data */ + + poffReplaceProgData(poffHandle, poffProgHandle); + + /* Release the temporary POFF object */ + + poffDestroyProgHandle(poffProgHandle); +} /* end pass2 */ + +/***********************************************************************/ + +static void pass3 (void) +{ + poffProgHandle_t poffProgHandle; /* Handle to temporary POFF object */ + TRACE(stderr, "[pass3]"); + + /* Create a handle to a temporary object to store new POFF program + * data. + */ + + poffProgHandle = poffCreateProgHandle(); + if (!poffProgHandle) + { + printf("Could not get POFF handle\n"); + exit(1); + } /* end if */ + + /* Finalize program section, create relocation and line number + * sections. + */ + + optFinalize(poffHandle, poffProgHandle); + + /* Release the temporary POFF object */ + + poffDestroyProgHandle(poffProgHandle); +} + +/***********************************************************************/ + +static void writePoffFile(const char *filename) +{ + char optname [FNAME_SIZE+1]; + FILE *optFile; + + TRACE(stderr, "[writePoffFile]"); + + /* Open optimized p-code file -- Use .o extension */ + + (void)extension(filename, "o", optname, 1); + if (!(optFile = fopen(optname, "wb"))) + { + printf("Error Opening %s\n", optname); + exit(1); + } /* end if */ + + /* Then write the new POFF file */ + + poffWriteFile(poffHandle, optFile); + + /* Destroy the POFF object */ + + poffDestroyHandle(poffHandle); + + /* Close the files used on writePoffFile */ + + (void)fclose(optFile); +} /* end writePoffFile */ + +/***********************************************************************/ diff --git a/misc/pascal/insn32/popt/popt.h b/misc/pascal/insn32/popt/popt.h index 9cd151a89..c7645be9e 100644 --- a/misc/pascal/insn32/popt/popt.h +++ b/misc/pascal/insn32/popt/popt.h @@ -1,52 +1,52 @@ -/***************************************************************************
- * popt.h
- * External Declarations associated with popt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __POPT_H
-#define __POPT_H
-
-/***************************************************************************
-* Included Files
-****************************************************************************/
-
-/***************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/***************************************************************************
-* Global Function Prototypes
-****************************************************************************/
-
-#endif /* __POPT_H */
+/*************************************************************************** + * popt.h + * External Declarations associated with popt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __POPT_H +#define __POPT_H + +/*************************************************************************** +* Included Files +****************************************************************************/ + +/*************************************************************************** + * Global Variables + ****************************************************************************/ + +/*************************************************************************** +* Global Function Prototypes +****************************************************************************/ + +#endif /* __POPT_H */ diff --git a/misc/pascal/insn32/popt/psopt.c b/misc/pascal/insn32/popt/psopt.c index 16824106e..7ecd3b6a9 100644 --- a/misc/pascal/insn32/popt/psopt.c +++ b/misc/pascal/insn32/popt/psopt.c @@ -3,7 +3,7 @@ * String Stack Optimizaitons * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/popt/psopt.h b/misc/pascal/insn32/popt/psopt.h index c174aac8e..3ea1ee227 100644 --- a/misc/pascal/insn32/popt/psopt.h +++ b/misc/pascal/insn32/popt/psopt.h @@ -1,54 +1,54 @@ -/***************************************************************************
- * psopt.h
- * External Declarations associated with psopt.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PSOPT_H
-#define __PSOPT_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include "pofflib.h"
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void stringStackOptimize(poffHandle_t poffHandle,
- poffProgHandle_t poffProgHandle);
-
-#endif /* __PSOPT_H */
-
+/*************************************************************************** + * psopt.h + * External Declarations associated with psopt.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PSOPT_H +#define __PSOPT_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +#include "pofflib.h" + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void stringStackOptimize(poffHandle_t poffHandle, + poffProgHandle_t poffProgHandle); + +#endif /* __PSOPT_H */ + diff --git a/misc/pascal/insn32/regm/Makefile b/misc/pascal/insn32/regm/Makefile index 2fa4a3424..0dca7196d 100644 --- a/misc/pascal/insn32/regm/Makefile +++ b/misc/pascal/insn32/regm/Makefile @@ -2,7 +2,7 @@ # insn32/regm/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm.c b/misc/pascal/insn32/regm/regm.c index b037e87b2..1b8c22fce 100644 --- a/misc/pascal/insn32/regm/regm.c +++ b/misc/pascal/insn32/regm/regm.c @@ -3,7 +3,7 @@ * Convert 32-bit pcode defintions to a register model * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm.h b/misc/pascal/insn32/regm/regm.h index 4ab5999b1..dbce7e876 100644 --- a/misc/pascal/insn32/regm/regm.h +++ b/misc/pascal/insn32/regm/regm.h @@ -3,7 +3,7 @@ * External Declarations associated with regm.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_pass1.c b/misc/pascal/insn32/regm/regm_pass1.c index c3f5b30ef..dcc7c572c 100644 --- a/misc/pascal/insn32/regm/regm_pass1.c +++ b/misc/pascal/insn32/regm/regm_pass1.c @@ -3,7 +3,7 @@ * Break the pcode data into sections * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_pass1.h b/misc/pascal/insn32/regm/regm_pass1.h index f1998b1cb..98fafcb87 100644 --- a/misc/pascal/insn32/regm/regm_pass1.h +++ b/misc/pascal/insn32/regm/regm_pass1.h @@ -1,58 +1,58 @@ -/***************************************************************************
- * regm_pass1.h
- * External Declarations associated with regm_pass1.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __REGM_PASS1_H
-#define __REGM_PASS1_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-/***************************************************************************
- * Definitions
- ***************************************************************************/
-
-/***************************************************************************
- * Global Variables
- ***************************************************************************/
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void regm_Pass1(poffHandle_t hPoff);
-
-#endif /* __REGM_PASS1_H */
+/*************************************************************************** + * regm_pass1.h + * External Declarations associated with regm_pass1.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __REGM_PASS1_H +#define __REGM_PASS1_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +/*************************************************************************** + * Definitions + ***************************************************************************/ + +/*************************************************************************** + * Global Variables + ***************************************************************************/ + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void regm_Pass1(poffHandle_t hPoff); + +#endif /* __REGM_PASS1_H */ diff --git a/misc/pascal/insn32/regm/regm_pass2.c b/misc/pascal/insn32/regm/regm_pass2.c index 86380984d..619d06501 100644 --- a/misc/pascal/insn32/regm/regm_pass2.c +++ b/misc/pascal/insn32/regm/regm_pass2.c @@ -5,7 +5,7 @@ * registers) and with 32-bit immediate size. * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_pass2.h b/misc/pascal/insn32/regm/regm_pass2.h index 8d3ba91db..22d958c27 100644 --- a/misc/pascal/insn32/regm/regm_pass2.h +++ b/misc/pascal/insn32/regm/regm_pass2.h @@ -3,7 +3,7 @@ * External Declarations associated with regm_pass2.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_registers2.c b/misc/pascal/insn32/regm/regm_registers2.c index 25aaddfaf..e4c4212b9 100644 --- a/misc/pascal/insn32/regm/regm_registers2.c +++ b/misc/pascal/insn32/regm/regm_registers2.c @@ -3,7 +3,7 @@ * Pass 2 register management functions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_registers2.h b/misc/pascal/insn32/regm/regm_registers2.h index eabe76f5b..24209082f 100644 --- a/misc/pascal/insn32/regm/regm_registers2.h +++ b/misc/pascal/insn32/regm/regm_registers2.h @@ -3,7 +3,7 @@ * Definitions for management of registers * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_tree.c b/misc/pascal/insn32/regm/regm_tree.c index 0a59bbdbd..9e2abdaff 100644 --- a/misc/pascal/insn32/regm/regm_tree.c +++ b/misc/pascal/insn32/regm/regm_tree.c @@ -3,7 +3,7 @@ * Tree managmenet * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/insn32/regm/regm_tree.h b/misc/pascal/insn32/regm/regm_tree.h index 0d6336d74..9d1bcc0f5 100644 --- a/misc/pascal/insn32/regm/regm_tree.h +++ b/misc/pascal/insn32/regm/regm_tree.h @@ -3,7 +3,7 @@ * External Declarations associated with regm_tree.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpas/Make.defs b/misc/pascal/libpas/Make.defs index 558f6b507..2a0fbed8c 100644 --- a/misc/pascal/libpas/Make.defs +++ b/misc/pascal/libpas/Make.defs @@ -3,7 +3,7 @@ # NuttX runtime makefile fragment # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpas/Makefile b/misc/pascal/libpas/Makefile index b686daa89..82ac36ab8 100644 --- a/misc/pascal/libpas/Makefile +++ b/misc/pascal/libpas/Makefile @@ -2,7 +2,7 @@ # libpas/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpas/pextension.c b/misc/pascal/libpas/pextension.c index ae883a097..bdb2a9acc 100644 --- a/misc/pascal/libpas/pextension.c +++ b/misc/pascal/libpas/pextension.c @@ -3,7 +3,7 @@ * Manage file extensions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpas/psignextend16.c b/misc/pascal/libpas/psignextend16.c index c30bba193..e05d20fc2 100644 --- a/misc/pascal/libpas/psignextend16.c +++ b/misc/pascal/libpas/psignextend16.c @@ -3,7 +3,7 @@ * 16-bit sign extension * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpas/pswap.c b/misc/pascal/libpas/pswap.c index 772425993..035988ff9 100644 --- a/misc/pascal/libpas/pswap.c +++ b/misc/pascal/libpas/pswap.c @@ -3,7 +3,7 @@ * Byte swapping to handling endian-ness conversions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/Make.defs b/misc/pascal/libpoff/Make.defs index 7de36ec5a..41f0a63f0 100644 --- a/misc/pascal/libpoff/Make.defs +++ b/misc/pascal/libpoff/Make.defs @@ -3,7 +3,7 @@ # NuttX runtime makefile fragment # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfdbgcontainer.c b/misc/pascal/libpoff/pfdbgcontainer.c index 572f1c2e6..8387fa15b 100644 --- a/misc/pascal/libpoff/pfdbgcontainer.c +++ b/misc/pascal/libpoff/pfdbgcontainer.c @@ -3,7 +3,7 @@ * Create/destroy debug info container. * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfdbgdiscard.c b/misc/pascal/libpoff/pfdbgdiscard.c index 0b80e9f45..2574644db 100644 --- a/misc/pascal/libpoff/pfdbgdiscard.c +++ b/misc/pascal/libpoff/pfdbgdiscard.c @@ -1,94 +1,94 @@ -/**********************************************************************
- * pfdbgdiscard.c
- * Discard debug function information
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "keywords.h" /* Standard types */
-
-#include "pofflib.h" /* POFF library interface */
-#include "pfprivate.h" /* POFF private definitions */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-/***********************************************************************
- * Public Functions
- ***********************************************************************/
-
-/***********************************************************************/
-
-void poffDiscardDebugFuncInfo(poffHandle_t handle)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- /* Deallocate any buffered data */
-
- if (poffInfo->debugFuncTable)
- {
- free(poffInfo->debugFuncTable);
- }
-
- /* And erase any knowledge of the debug info */
-
- poffInfo->debugFuncSection.sh_size = 0;
- poffInfo->debugFuncTable = NULL;
- poffInfo->debugFuncTableAlloc = 0;
- poffInfo->debugFuncIndex = 0;
-}
-
-/***********************************************************************/
+/********************************************************************** + * pfdbgdiscard.c + * Discard debug function information + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> + +#include "keywords.h" /* Standard types */ + +#include "pofflib.h" /* POFF library interface */ +#include "pfprivate.h" /* POFF private definitions */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +/*********************************************************************** + * Public Functions + ***********************************************************************/ + +/***********************************************************************/ + +void poffDiscardDebugFuncInfo(poffHandle_t handle) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + /* Deallocate any buffered data */ + + if (poffInfo->debugFuncTable) + { + free(poffInfo->debugFuncTable); + } + + /* And erase any knowledge of the debug info */ + + poffInfo->debugFuncSection.sh_size = 0; + poffInfo->debugFuncTable = NULL; + poffInfo->debugFuncTableAlloc = 0; + poffInfo->debugFuncIndex = 0; +} + +/***********************************************************************/ diff --git a/misc/pascal/libpoff/pfdbginfo.c b/misc/pascal/libpoff/pfdbginfo.c index 41ea995cd..1a743f091 100644 --- a/misc/pascal/libpoff/pfdbginfo.c +++ b/misc/pascal/libpoff/pfdbginfo.c @@ -3,7 +3,7 @@ * Manage debug information * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfdhdr.c b/misc/pascal/libpoff/pfdhdr.c index 4e674a6a5..5ac627e10 100644 --- a/misc/pascal/libpoff/pfdhdr.c +++ b/misc/pascal/libpoff/pfdhdr.c @@ -1,182 +1,182 @@ -/**********************************************************************
- * pfdhdr.c
- * Dump the contents of POFF file and section headers
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "keywords.h" /* Standard types */
-#include "pfprivate.h" /* POFF private definitions */
-#include "pofflib.h" /* Public interfaces */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Constant Data
- **********************************************************************/
-
-static const char *poffFhTypes[FHT_NTYPES] =
-{
- "NONE ", /* Shouldn't happen */
- "EXEC ", /* Pascal program executable */
- "SHLIB ", /* Pascal shared library */
- "PROGRAM ", /* Pascal program object */
- "UNIT " /* Pascal unit object */
-};
-
-static const char *poffShTypes[SHT_NTYPES] =
-{
- "NULL ", /* Shouldn't happen */
- "PROGDATA", /* Program data */
- "SYMTAB ", /* Symbol table */
- "STRTAB ", /* String table */
- "REL ", /* Relocation data */
- "FILETAB ", /* File table */
- "LINENO ", /* Line number data */
- "DEBUG " /* Func/Proc debug data */
-};
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-static void poffDumpSectionHeader(poffHandle_t handle,
- poffSectionHeader_t *shdr,
- FILE *outFile)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- fprintf(outFile, "%-10s %8s 0x%02x 0x%04x 0x%08lx 0x%08lx %ld\n",
- poffGetString(poffInfo, shdr->sh_name),
- poffShTypes[shdr->sh_type], shdr->sh_flags,
- shdr->sh_entsize, shdr->sh_addr, shdr->sh_offset,
- shdr->sh_size);
-}
-
-/***********************************************************************
- * Public Functions
- ***********************************************************************/
-
-/***********************************************************************/
-
-void poffDumpFileHeader(poffHandle_t handle, FILE *outFile)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- fprintf(outFile, "\nPOFF File Header:\n");
- fprintf(outFile, " fh_ident: %c%c%c%c\n",
- poffInfo->fileHeader.fh_ident[0], poffInfo->fileHeader.fh_ident[1],
- poffInfo->fileHeader.fh_ident[2], poffInfo->fileHeader.fh_ident[3]);
- fprintf(outFile, " fh_version: %d\n", poffInfo->fileHeader.fh_version);
- fprintf(outFile, " fh_type: %s\n",
- poffFhTypes[poffInfo->fileHeader.fh_type]);
- fprintf(outFile, " fh_shsize: %d\n", poffInfo->fileHeader.fh_shsize);
- fprintf(outFile, " fh_shnum: %d\n", poffInfo->fileHeader.fh_shnum);
- fprintf(outFile, " fh_name: %s\n",
- poffGetString(poffInfo, poffInfo->fileHeader.fh_name));
- fprintf(outFile, " fh_entry: 0x%08lx\n", poffInfo->fileHeader.fh_entry);
- fprintf(outFile, " fh_shoff: 0x%08lx\n", poffInfo->fileHeader.fh_shoff);
-}
-
-/***********************************************************************/
-
-void poffDumpSectionHeaders(poffHandle_t handle, FILE *outFile)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- fprintf(outFile, "\nPOFF Section Headers:\n");
- fprintf(outFile, "NAME TYPE FLAG ENTSZE ADDRESS OFFSET SIZE\n");
-
- if (poffInfo->progSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->progSection, outFile);
- }
-
- if (poffInfo->roDataSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->roDataSection, outFile);
- }
-
- if (poffInfo->symbolTableSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->symbolTableSection, outFile);
- }
-
- if (poffInfo->stringTableSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->stringTableSection, outFile);
- }
-
- if (poffInfo->relocSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->relocSection, outFile);
- }
-
- if (poffInfo->fileNameTableSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->fileNameTableSection, outFile);
- }
-
- if (poffInfo->lineNumberSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->lineNumberSection, outFile);
- }
-
- if (poffInfo->debugFuncSection.sh_size > 0)
- {
- poffDumpSectionHeader(handle, &poffInfo->debugFuncSection, outFile);
- }
-}
-
-/***********************************************************************/
+/********************************************************************** + * pfdhdr.c + * Dump the contents of POFF file and section headers + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "keywords.h" /* Standard types */ +#include "pfprivate.h" /* POFF private definitions */ +#include "pofflib.h" /* Public interfaces */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/********************************************************************** + * Private Constant Data + **********************************************************************/ + +static const char *poffFhTypes[FHT_NTYPES] = +{ + "NONE ", /* Shouldn't happen */ + "EXEC ", /* Pascal program executable */ + "SHLIB ", /* Pascal shared library */ + "PROGRAM ", /* Pascal program object */ + "UNIT " /* Pascal unit object */ +}; + +static const char *poffShTypes[SHT_NTYPES] = +{ + "NULL ", /* Shouldn't happen */ + "PROGDATA", /* Program data */ + "SYMTAB ", /* Symbol table */ + "STRTAB ", /* String table */ + "REL ", /* Relocation data */ + "FILETAB ", /* File table */ + "LINENO ", /* Line number data */ + "DEBUG " /* Func/Proc debug data */ +}; + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +static void poffDumpSectionHeader(poffHandle_t handle, + poffSectionHeader_t *shdr, + FILE *outFile) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + fprintf(outFile, "%-10s %8s 0x%02x 0x%04x 0x%08lx 0x%08lx %ld\n", + poffGetString(poffInfo, shdr->sh_name), + poffShTypes[shdr->sh_type], shdr->sh_flags, + shdr->sh_entsize, shdr->sh_addr, shdr->sh_offset, + shdr->sh_size); +} + +/*********************************************************************** + * Public Functions + ***********************************************************************/ + +/***********************************************************************/ + +void poffDumpFileHeader(poffHandle_t handle, FILE *outFile) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + fprintf(outFile, "\nPOFF File Header:\n"); + fprintf(outFile, " fh_ident: %c%c%c%c\n", + poffInfo->fileHeader.fh_ident[0], poffInfo->fileHeader.fh_ident[1], + poffInfo->fileHeader.fh_ident[2], poffInfo->fileHeader.fh_ident[3]); + fprintf(outFile, " fh_version: %d\n", poffInfo->fileHeader.fh_version); + fprintf(outFile, " fh_type: %s\n", + poffFhTypes[poffInfo->fileHeader.fh_type]); + fprintf(outFile, " fh_shsize: %d\n", poffInfo->fileHeader.fh_shsize); + fprintf(outFile, " fh_shnum: %d\n", poffInfo->fileHeader.fh_shnum); + fprintf(outFile, " fh_name: %s\n", + poffGetString(poffInfo, poffInfo->fileHeader.fh_name)); + fprintf(outFile, " fh_entry: 0x%08lx\n", poffInfo->fileHeader.fh_entry); + fprintf(outFile, " fh_shoff: 0x%08lx\n", poffInfo->fileHeader.fh_shoff); +} + +/***********************************************************************/ + +void poffDumpSectionHeaders(poffHandle_t handle, FILE *outFile) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + fprintf(outFile, "\nPOFF Section Headers:\n"); + fprintf(outFile, "NAME TYPE FLAG ENTSZE ADDRESS OFFSET SIZE\n"); + + if (poffInfo->progSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->progSection, outFile); + } + + if (poffInfo->roDataSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->roDataSection, outFile); + } + + if (poffInfo->symbolTableSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->symbolTableSection, outFile); + } + + if (poffInfo->stringTableSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->stringTableSection, outFile); + } + + if (poffInfo->relocSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->relocSection, outFile); + } + + if (poffInfo->fileNameTableSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->fileNameTableSection, outFile); + } + + if (poffInfo->lineNumberSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->lineNumberSection, outFile); + } + + if (poffInfo->debugFuncSection.sh_size > 0) + { + poffDumpSectionHeader(handle, &poffInfo->debugFuncSection, outFile); + } +} + +/***********************************************************************/ diff --git a/misc/pascal/libpoff/pfdreloc.c b/misc/pascal/libpoff/pfdreloc.c index 5e9f5bcfe..06726e1a1 100644 --- a/misc/pascal/libpoff/pfdreloc.c +++ b/misc/pascal/libpoff/pfdreloc.c @@ -3,7 +3,7 @@ * Dump contents of a POFF file reloc table * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfdsymbol.c b/misc/pascal/libpoff/pfdsymbol.c index cce272616..c65fa7267 100644 --- a/misc/pascal/libpoff/pfdsymbol.c +++ b/misc/pascal/libpoff/pfdsymbol.c @@ -3,7 +3,7 @@ * Dump contents of a POFF file symbol table * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfhandle.c b/misc/pascal/libpoff/pfhandle.c index 458d63182..96d072322 100644 --- a/misc/pascal/libpoff/pfhandle.c +++ b/misc/pascal/libpoff/pfhandle.c @@ -1,195 +1,195 @@ -/**********************************************************************
- * pfhandle.c
- * POFF library global variables
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "keywords.h" /* Standard types */
-#include "pfprivate.h" /* POFF private definitions */
-#include "pofflib.h" /* Public interfaces */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-/***********************************************************************
- * Public Functions
- ***********************************************************************/
-
-/***********************************************************************/
-/* Set all global data structures to a known state */
-
-poffHandle_t poffCreateHandle(void)
-{
- poffInfo_t *poffInfo;
-
- /* Create a new POFF handle */
-
- poffInfo = (poffInfo_t*)malloc(sizeof(poffInfo_t));
- if (poffInfo != NULL)
- {
- /* Set everthing to zero */
-
- memset(poffInfo, 0, sizeof(poffInfo_t));
-
- /* Initialize POFF file header */
-
- poffInfo->fileHeader.fh_ident[FHI_MAG0] = FHI_POFF_MAG0;
- poffInfo->fileHeader.fh_ident[FHI_MAG1] = FHI_POFF_MAG1;
- poffInfo->fileHeader.fh_ident[FHI_MAG2] = FHI_POFF_MAG2;
- poffInfo->fileHeader.fh_ident[FHI_MAG3] = FHI_POFF_MAG3;
- poffInfo->fileHeader.fh_version = FHV_CURRENT;
- poffInfo->fileHeader.fh_shsize = sizeof(poffSectionHeader_t);
- poffInfo->fileHeader.fh_shoff = sizeof(poffFileHeader_t);
-
- /* Initialize the program section header */
-
- poffInfo->progSection.sh_type = SHT_PROGDATA;
- poffInfo->progSection.sh_flags = SHF_ALLOC | SHF_EXEC;
-
- /* Initialize the initialized data section header */
-
- poffInfo->roDataSection.sh_type = SHT_PROGDATA;
- poffInfo->roDataSection.sh_flags = SHF_WRITE | SHF_ALLOC;
-
- /* Initialize the symbol table section header */
-
- poffInfo->symbolTableSection.sh_type = SHT_SYMTAB;
- poffInfo->symbolTableSection.sh_entsize = sizeof(poffSymbol_t);
-
- /* Initialize the string table section header */
-
- poffInfo->stringTableSection.sh_type = SHT_STRTAB;
-
- /* Initialize the relocation table section header */
-
- poffInfo->relocSection.sh_type = SHT_REL;
- poffInfo->relocSection.sh_entsize = sizeof(poffRelocation_t);
-
- /* Initialize the file table section header */
-
- poffInfo->fileNameTableSection.sh_type = SHT_FILETAB;
- poffInfo->fileNameTableSection.sh_entsize = sizeof(poffFileTab_t);
-
- /* Initialize the line number section header */
-
- poffInfo->lineNumberSection.sh_type = SHT_LINENO;
- poffInfo->lineNumberSection.sh_entsize = sizeof(poffLineNumber_t);
-
- /* Initialize the debug function info section header */
-
- poffInfo->debugFuncSection.sh_type = SHT_DEBUG;
- poffInfo->debugFuncSection.sh_entsize = sizeof(poffDebugFuncInfo_t);
- }
- return poffInfo;
-}
-
-/***********************************************************************/
-
-void poffDestroyHandle(poffHandle_t handle)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- /* Free all of the allocated, in-memory data */
-
- if (poffInfo->progSectionData)
- free(poffInfo->progSectionData);
-
- if (poffInfo->roDataSectionData)
- free(poffInfo->roDataSectionData);
-
- if (poffInfo->symbolTable)
- free(poffInfo->symbolTable);
-
- if (poffInfo->stringTable)
- free(poffInfo->stringTable);
-
- if (poffInfo->relocTable)
- free(poffInfo->relocTable);
-
- if (poffInfo->fileNameTable)
- free(poffInfo->fileNameTable);
-
- if (poffInfo->lineNumberTable)
- free(poffInfo->lineNumberTable);
-
- if (poffInfo->debugFuncTable)
- free(poffInfo->debugFuncTable);
-
- /* Free the container */
-
- free(handle);
-}
-
-/***********************************************************************/
-
-void poffResetAccess(poffHandle_t handle)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- /* Reset read/write indices */
-
- poffInfo->symbolIndex = 0;
- poffInfo->progSectionIndex = 0;
- poffInfo->relocIndex = 0;
- poffInfo->fileNameIndex = 0;
- poffInfo->lineNumberIndex = 0;
- poffInfo->debugFuncIndex = 0;
-}
-
-/***********************************************************************/
-
+/********************************************************************** + * pfhandle.c + * POFF library global variables + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "keywords.h" /* Standard types */ +#include "pfprivate.h" /* POFF private definitions */ +#include "pofflib.h" /* Public interfaces */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +/*********************************************************************** + * Public Functions + ***********************************************************************/ + +/***********************************************************************/ +/* Set all global data structures to a known state */ + +poffHandle_t poffCreateHandle(void) +{ + poffInfo_t *poffInfo; + + /* Create a new POFF handle */ + + poffInfo = (poffInfo_t*)malloc(sizeof(poffInfo_t)); + if (poffInfo != NULL) + { + /* Set everthing to zero */ + + memset(poffInfo, 0, sizeof(poffInfo_t)); + + /* Initialize POFF file header */ + + poffInfo->fileHeader.fh_ident[FHI_MAG0] = FHI_POFF_MAG0; + poffInfo->fileHeader.fh_ident[FHI_MAG1] = FHI_POFF_MAG1; + poffInfo->fileHeader.fh_ident[FHI_MAG2] = FHI_POFF_MAG2; + poffInfo->fileHeader.fh_ident[FHI_MAG3] = FHI_POFF_MAG3; + poffInfo->fileHeader.fh_version = FHV_CURRENT; + poffInfo->fileHeader.fh_shsize = sizeof(poffSectionHeader_t); + poffInfo->fileHeader.fh_shoff = sizeof(poffFileHeader_t); + + /* Initialize the program section header */ + + poffInfo->progSection.sh_type = SHT_PROGDATA; + poffInfo->progSection.sh_flags = SHF_ALLOC | SHF_EXEC; + + /* Initialize the initialized data section header */ + + poffInfo->roDataSection.sh_type = SHT_PROGDATA; + poffInfo->roDataSection.sh_flags = SHF_WRITE | SHF_ALLOC; + + /* Initialize the symbol table section header */ + + poffInfo->symbolTableSection.sh_type = SHT_SYMTAB; + poffInfo->symbolTableSection.sh_entsize = sizeof(poffSymbol_t); + + /* Initialize the string table section header */ + + poffInfo->stringTableSection.sh_type = SHT_STRTAB; + + /* Initialize the relocation table section header */ + + poffInfo->relocSection.sh_type = SHT_REL; + poffInfo->relocSection.sh_entsize = sizeof(poffRelocation_t); + + /* Initialize the file table section header */ + + poffInfo->fileNameTableSection.sh_type = SHT_FILETAB; + poffInfo->fileNameTableSection.sh_entsize = sizeof(poffFileTab_t); + + /* Initialize the line number section header */ + + poffInfo->lineNumberSection.sh_type = SHT_LINENO; + poffInfo->lineNumberSection.sh_entsize = sizeof(poffLineNumber_t); + + /* Initialize the debug function info section header */ + + poffInfo->debugFuncSection.sh_type = SHT_DEBUG; + poffInfo->debugFuncSection.sh_entsize = sizeof(poffDebugFuncInfo_t); + } + return poffInfo; +} + +/***********************************************************************/ + +void poffDestroyHandle(poffHandle_t handle) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + /* Free all of the allocated, in-memory data */ + + if (poffInfo->progSectionData) + free(poffInfo->progSectionData); + + if (poffInfo->roDataSectionData) + free(poffInfo->roDataSectionData); + + if (poffInfo->symbolTable) + free(poffInfo->symbolTable); + + if (poffInfo->stringTable) + free(poffInfo->stringTable); + + if (poffInfo->relocTable) + free(poffInfo->relocTable); + + if (poffInfo->fileNameTable) + free(poffInfo->fileNameTable); + + if (poffInfo->lineNumberTable) + free(poffInfo->lineNumberTable); + + if (poffInfo->debugFuncTable) + free(poffInfo->debugFuncTable); + + /* Free the container */ + + free(handle); +} + +/***********************************************************************/ + +void poffResetAccess(poffHandle_t handle) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + /* Reset read/write indices */ + + poffInfo->symbolIndex = 0; + poffInfo->progSectionIndex = 0; + poffInfo->relocIndex = 0; + poffInfo->fileNameIndex = 0; + poffInfo->lineNumberIndex = 0; + poffInfo->debugFuncIndex = 0; +} + +/***********************************************************************/ + diff --git a/misc/pascal/libpoff/pfiprog.c b/misc/pascal/libpoff/pfiprog.c index c768cb075..c2c241f58 100644 --- a/misc/pascal/libpoff/pfiprog.c +++ b/misc/pascal/libpoff/pfiprog.c @@ -3,7 +3,7 @@ * Insert program data int a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfirodata.c b/misc/pascal/libpoff/pfirodata.c index baaed6f7f..61600a6ce 100644 --- a/misc/pascal/libpoff/pfirodata.c +++ b/misc/pascal/libpoff/pfirodata.c @@ -3,7 +3,7 @@ * Append program read-only data to a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pflabel.c b/misc/pascal/libpoff/pflabel.c index 088ad77ca..973366466 100644 --- a/misc/pascal/libpoff/pflabel.c +++ b/misc/pascal/libpoff/pflabel.c @@ -3,7 +3,7 @@ * Label resolution logic * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pflineno.c b/misc/pascal/libpoff/pflineno.c index 3cd26c6eb..983a74554 100644 --- a/misc/pascal/libpoff/pflineno.c +++ b/misc/pascal/libpoff/pflineno.c @@ -3,7 +3,7 @@ * Manage line number information * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfprivate.h b/misc/pascal/libpoff/pfprivate.h index 76fdc867e..560342215 100644 --- a/misc/pascal/libpoff/pfprivate.h +++ b/misc/pascal/libpoff/pfprivate.h @@ -4,7 +4,7 @@ * the POFF library. These were not intended for exportation. * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfproghandle.c b/misc/pascal/libpoff/pfproghandle.c index fe5aa7fb2..6dc64c4d8 100644 --- a/misc/pascal/libpoff/pfproghandle.c +++ b/misc/pascal/libpoff/pfproghandle.c @@ -1,127 +1,127 @@ -/**********************************************************************
- * pfproghandle.c
- * POFF temporary progdata support
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "keywords.h" /* Standard types */
-#include "pedefs.h" /* Pascal error codes */
-
-#include "pfprivate.h" /* POFF private definitions */
-#include "pofflib.h" /* Public interfaces */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-/***********************************************************************
- * Public Functions
- ***********************************************************************/
-
-/***********************************************************************/
-/* Set all global data structures to a known state */
-
-poffProgHandle_t poffCreateProgHandle(void)
-{
- poffProgInfo_t *poffProgInfo;
-
- /* Create a new POFF handle */
-
- poffProgInfo = (poffProgInfo_t*)malloc(sizeof(poffProgInfo_t));
- if (poffProgInfo != NULL)
- {
- /* Set everthing to zero */
-
- memset(poffProgInfo, 0, sizeof(poffProgInfo_t));
- }
- return poffProgInfo;
-}
-
-/***********************************************************************/
-
-void poffDestroyProgHandle(poffProgHandle_t handle)
-{
- /* Free all of the allocated, in-memory data */
-
- poffResetProgHandle(handle);
-
- /* Free the container */
-
- free(handle);
-}
-
-/***********************************************************************/
-
-void poffResetProgHandle(poffProgHandle_t handle)
-{
- poffProgInfo_t *poffProgInfo = (poffProgInfo_t*)handle;
-
- /* Free all of the allocated, in-memory data */
-
- if (poffProgInfo->progSectionData)
- {
- free(poffProgInfo->progSectionData);
- }
-
- /* Reset everything to the initial state */
-
- poffProgInfo->progSectionData = NULL;
- poffProgInfo->progSectionSize = 0;
- poffProgInfo->progSectionAlloc = 0;
-}
-
-/***********************************************************************/
+/********************************************************************** + * pfproghandle.c + * POFF temporary progdata support + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "keywords.h" /* Standard types */ +#include "pedefs.h" /* Pascal error codes */ + +#include "pfprivate.h" /* POFF private definitions */ +#include "pofflib.h" /* Public interfaces */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +/*********************************************************************** + * Public Functions + ***********************************************************************/ + +/***********************************************************************/ +/* Set all global data structures to a known state */ + +poffProgHandle_t poffCreateProgHandle(void) +{ + poffProgInfo_t *poffProgInfo; + + /* Create a new POFF handle */ + + poffProgInfo = (poffProgInfo_t*)malloc(sizeof(poffProgInfo_t)); + if (poffProgInfo != NULL) + { + /* Set everthing to zero */ + + memset(poffProgInfo, 0, sizeof(poffProgInfo_t)); + } + return poffProgInfo; +} + +/***********************************************************************/ + +void poffDestroyProgHandle(poffProgHandle_t handle) +{ + /* Free all of the allocated, in-memory data */ + + poffResetProgHandle(handle); + + /* Free the container */ + + free(handle); +} + +/***********************************************************************/ + +void poffResetProgHandle(poffProgHandle_t handle) +{ + poffProgInfo_t *poffProgInfo = (poffProgInfo_t*)handle; + + /* Free all of the allocated, in-memory data */ + + if (poffProgInfo->progSectionData) + { + free(poffProgInfo->progSectionData); + } + + /* Reset everything to the initial state */ + + poffProgInfo->progSectionData = NULL; + poffProgInfo->progSectionSize = 0; + poffProgInfo->progSectionAlloc = 0; +} + +/***********************************************************************/ diff --git a/misc/pascal/libpoff/pfrdbgfunc.c b/misc/pascal/libpoff/pfrdbgfunc.c index 0efce4380..5e21aa328 100644 --- a/misc/pascal/libpoff/pfrdbgfunc.c +++ b/misc/pascal/libpoff/pfrdbgfunc.c @@ -3,7 +3,7 @@ * Read debug function information from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfread.c b/misc/pascal/libpoff/pfread.c index f10dd8c9a..850965749 100644 --- a/misc/pascal/libpoff/pfread.c +++ b/misc/pascal/libpoff/pfread.c @@ -3,7 +3,7 @@ * POFF library global variables * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrelease.c b/misc/pascal/libpoff/pfrelease.c index 8b8b3d123..72bdf0d10 100644 --- a/misc/pascal/libpoff/pfrelease.c +++ b/misc/pascal/libpoff/pfrelease.c @@ -1,94 +1,94 @@ -/**********************************************************************
- * pfrelease.c
- * Program data manipulations on POFF temporary object
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "keywords.h" /* Standard types */
-
-#include "pfprivate.h" /* POFF private definitions */
-#include "pofflib.h" /* Public interfaces */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-/***********************************************************************
- * Public Functions
- ***********************************************************************/
-
-/***********************************************************************/
-
-void poffReleaseProgData(poffHandle_t handle)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
-
- /* Discard any existing program section data */
-
- if (poffInfo->progSectionData)
- {
- free(poffInfo->progSectionData);
- poffInfo->progSectionData = NULL;
- }
-
- /* Indicate that there is no program data */
-
- poffInfo->progSection.sh_size = 0;
- poffInfo->progSectionAlloc = 0;
- poffInfo->progSectionIndex = 0;
-}
-
-/***********************************************************************/
+/********************************************************************** + * pfrelease.c + * Program data manipulations on POFF temporary object + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> + +#include "keywords.h" /* Standard types */ + +#include "pfprivate.h" /* POFF private definitions */ +#include "pofflib.h" /* Public interfaces */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +/*********************************************************************** + * Public Functions + ***********************************************************************/ + +/***********************************************************************/ + +void poffReleaseProgData(poffHandle_t handle) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + + /* Discard any existing program section data */ + + if (poffInfo->progSectionData) + { + free(poffInfo->progSectionData); + poffInfo->progSectionData = NULL; + } + + /* Indicate that there is no program data */ + + poffInfo->progSection.sh_size = 0; + poffInfo->progSectionAlloc = 0; + poffInfo->progSectionIndex = 0; +} + +/***********************************************************************/ diff --git a/misc/pascal/libpoff/pfrfname.c b/misc/pascal/libpoff/pfrfname.c index 20d964a9e..48a4f10ae 100644 --- a/misc/pascal/libpoff/pfrfname.c +++ b/misc/pascal/libpoff/pfrfname.c @@ -3,7 +3,7 @@ * Read file name data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrhdr.c b/misc/pascal/libpoff/pfrhdr.c index 1605511a8..a1a65a151 100644 --- a/misc/pascal/libpoff/pfrhdr.c +++ b/misc/pascal/libpoff/pfrhdr.c @@ -3,7 +3,7 @@ * Read info from a POFF file header * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrlineno.c b/misc/pascal/libpoff/pfrlineno.c index 8ca13c526..64bb41157 100644 --- a/misc/pascal/libpoff/pfrlineno.c +++ b/misc/pascal/libpoff/pfrlineno.c @@ -3,7 +3,7 @@ * Read line number data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrprog.c b/misc/pascal/libpoff/pfrprog.c index d1df10d5e..2de3da049 100644 --- a/misc/pascal/libpoff/pfrprog.c +++ b/misc/pascal/libpoff/pfrprog.c @@ -1,91 +1,91 @@ -/**********************************************************************
- * pfrprog.c
- * Read program data from a POFF file
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include "keywords.h" /* Standard types */
-#include "pedefs.h" /* error code definitions */
-
-#include "perr.h" /* error() */
-#include "pofflib.h" /* POFF library interface */
-#include "pfprivate.h" /* POFF private definitions */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-/***********************************************************************/
-
-int poffGetProgByte(poffHandle_t handle)
-{
- poffInfo_t *poffInfo = (poffInfo_t*)handle;
- int retval = EOF;
-
- /* Check if there is more data that has not yet been read */
-
- if ((poffInfo->progSectionIndex < poffInfo->progSection.sh_size) &&
- (poffInfo->progSectionData != NULL))
- {
- retval = (int)poffInfo->progSectionData[poffInfo->progSectionIndex];
- poffInfo->progSectionIndex++;
- }
- return retval;
-}
-
-/***********************************************************************/
+/********************************************************************** + * pfrprog.c + * Read program data from a POFF file + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <errno.h> + +#include "keywords.h" /* Standard types */ +#include "pedefs.h" /* error code definitions */ + +#include "perr.h" /* error() */ +#include "pofflib.h" /* POFF library interface */ +#include "pfprivate.h" /* POFF private definitions */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +/***********************************************************************/ + +int poffGetProgByte(poffHandle_t handle) +{ + poffInfo_t *poffInfo = (poffInfo_t*)handle; + int retval = EOF; + + /* Check if there is more data that has not yet been read */ + + if ((poffInfo->progSectionIndex < poffInfo->progSection.sh_size) && + (poffInfo->progSectionData != NULL)) + { + retval = (int)poffInfo->progSectionData[poffInfo->progSectionIndex]; + poffInfo->progSectionIndex++; + } + return retval; +} + +/***********************************************************************/ diff --git a/misc/pascal/libpoff/pfrrawlineno.c b/misc/pascal/libpoff/pfrrawlineno.c index ec2e950c0..3268b7fdd 100644 --- a/misc/pascal/libpoff/pfrrawlineno.c +++ b/misc/pascal/libpoff/pfrrawlineno.c @@ -3,7 +3,7 @@ * Read raw line number data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrrawreloc.c b/misc/pascal/libpoff/pfrrawreloc.c index a9f44a89e..af4959517 100644 --- a/misc/pascal/libpoff/pfrrawreloc.c +++ b/misc/pascal/libpoff/pfrrawreloc.c @@ -3,7 +3,7 @@ * Read raw relocation data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrseek.c b/misc/pascal/libpoff/pfrseek.c index e3dc1bcc2..7c98323e6 100644 --- a/misc/pascal/libpoff/pfrseek.c +++ b/misc/pascal/libpoff/pfrseek.c @@ -3,7 +3,7 @@ * Seek to a position in buffered program data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrstring.c b/misc/pascal/libpoff/pfrstring.c index 2f8c7ae49..de7e0e2c1 100644 --- a/misc/pascal/libpoff/pfrstring.c +++ b/misc/pascal/libpoff/pfrstring.c @@ -3,7 +3,7 @@ * Read a string from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfrsymbol.c b/misc/pascal/libpoff/pfrsymbol.c index fe22de270..592038071 100644 --- a/misc/pascal/libpoff/pfrsymbol.c +++ b/misc/pascal/libpoff/pfrsymbol.c @@ -3,7 +3,7 @@ * Read symbols from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfswap.c b/misc/pascal/libpoff/pfswap.c index a33e633c3..69174af37 100644 --- a/misc/pascal/libpoff/pfswap.c +++ b/misc/pascal/libpoff/pfswap.c @@ -3,7 +3,7 @@ * Handle POFF Endian-ness * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfsymhandle.c b/misc/pascal/libpoff/pfsymhandle.c index 819fb2a17..4d38b286c 100644 --- a/misc/pascal/libpoff/pfsymhandle.c +++ b/misc/pascal/libpoff/pfsymhandle.c @@ -1,127 +1,127 @@ -/**********************************************************************
- * pfsymhandle.c
- * POFF temporary symdata support
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- **********************************************************************/
-
-/**********************************************************************
- * Included Files
- **********************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "keywords.h" /* Standard types */
-#include "pedefs.h" /* Pascal error codes */
-
-#include "pfprivate.h" /* POFF private definitions */
-#include "pofflib.h" /* Public interfaces */
-
-/**********************************************************************
- * Definitions
- **********************************************************************/
-
-/**********************************************************************
- * Global Variables
- **********************************************************************/
-
-/**********************************************************************
- * Private Variables
- **********************************************************************/
-
-/***********************************************************************
- * Private Function Prototypes
- ***********************************************************************/
-
-/***********************************************************************
- * Private Functions
- ***********************************************************************/
-
-/***********************************************************************
- * Public Functions
- ***********************************************************************/
-
-/***********************************************************************/
-/* Set all global data structures to a known state */
-
-poffSymHandle_t poffCreateSymHandle(void)
-{
- poffSymInfo_t *poffSymInfo;
-
- /* Create a new POFF handle */
-
- poffSymInfo = (poffSymInfo_t*)malloc(sizeof(poffSymInfo_t));
- if (poffSymInfo != NULL)
- {
- /* Set everthing to zero */
-
- memset(poffSymInfo, 0, sizeof(poffSymInfo_t));
- }
- return poffSymInfo;
-}
-
-/***********************************************************************/
-
-void poffDestroySymHandle(poffSymHandle_t handle)
-{
- /* Free all of the allocated, in-memory data */
-
- poffResetSymHandle(handle);
-
- /* Free the container */
-
- free(handle);
-}
-
-/***********************************************************************/
-
-void poffResetSymHandle(poffSymHandle_t handle)
-{
- poffSymInfo_t *poffSymInfo = (poffSymInfo_t*)handle;
-
- /* Free all of the allocated, in-memory data */
-
- if (poffSymInfo->symbolTable)
- {
- free(poffSymInfo->symbolTable);
- }
-
- /* Reset everything to the initial state */
-
- poffSymInfo->symbolTable = NULL;
- poffSymInfo->symbolTableSize = 0;
- poffSymInfo->symbolTableAlloc = 0;
-}
-
-/***********************************************************************/
+/********************************************************************** + * pfsymhandle.c + * POFF temporary symdata support + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +/********************************************************************** + * Included Files + **********************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "keywords.h" /* Standard types */ +#include "pedefs.h" /* Pascal error codes */ + +#include "pfprivate.h" /* POFF private definitions */ +#include "pofflib.h" /* Public interfaces */ + +/********************************************************************** + * Definitions + **********************************************************************/ + +/********************************************************************** + * Global Variables + **********************************************************************/ + +/********************************************************************** + * Private Variables + **********************************************************************/ + +/*********************************************************************** + * Private Function Prototypes + ***********************************************************************/ + +/*********************************************************************** + * Private Functions + ***********************************************************************/ + +/*********************************************************************** + * Public Functions + ***********************************************************************/ + +/***********************************************************************/ +/* Set all global data structures to a known state */ + +poffSymHandle_t poffCreateSymHandle(void) +{ + poffSymInfo_t *poffSymInfo; + + /* Create a new POFF handle */ + + poffSymInfo = (poffSymInfo_t*)malloc(sizeof(poffSymInfo_t)); + if (poffSymInfo != NULL) + { + /* Set everthing to zero */ + + memset(poffSymInfo, 0, sizeof(poffSymInfo_t)); + } + return poffSymInfo; +} + +/***********************************************************************/ + +void poffDestroySymHandle(poffSymHandle_t handle) +{ + /* Free all of the allocated, in-memory data */ + + poffResetSymHandle(handle); + + /* Free the container */ + + free(handle); +} + +/***********************************************************************/ + +void poffResetSymHandle(poffSymHandle_t handle) +{ + poffSymInfo_t *poffSymInfo = (poffSymInfo_t*)handle; + + /* Free all of the allocated, in-memory data */ + + if (poffSymInfo->symbolTable) + { + free(poffSymInfo->symbolTable); + } + + /* Reset everything to the initial state */ + + poffSymInfo->symbolTable = NULL; + poffSymInfo->symbolTableSize = 0; + poffSymInfo->symbolTableAlloc = 0; +} + +/***********************************************************************/ diff --git a/misc/pascal/libpoff/pftprog.c b/misc/pascal/libpoff/pftprog.c index a2a16aa3d..9e7f2818f 100644 --- a/misc/pascal/libpoff/pftprog.c +++ b/misc/pascal/libpoff/pftprog.c @@ -3,7 +3,7 @@ * Program data manipulations on POFF temporary object * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pftsymbol.c b/misc/pascal/libpoff/pftsymbol.c index a8d9aed8b..f7298d8f5 100644 --- a/misc/pascal/libpoff/pftsymbol.c +++ b/misc/pascal/libpoff/pftsymbol.c @@ -3,7 +3,7 @@ * Write symbol information to a temporary container * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwdbgfunc.c b/misc/pascal/libpoff/pfwdbgfunc.c index f6879c088..8f80ff12c 100644 --- a/misc/pascal/libpoff/pfwdbgfunc.c +++ b/misc/pascal/libpoff/pfwdbgfunc.c @@ -2,7 +2,7 @@ * pfwdbgfunc.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwfname.c b/misc/pascal/libpoff/pfwfname.c index 3d2bea32d..9f6687aae 100644 --- a/misc/pascal/libpoff/pfwfname.c +++ b/misc/pascal/libpoff/pfwfname.c @@ -3,7 +3,7 @@ * Write filename data to a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwhdr.c b/misc/pascal/libpoff/pfwhdr.c index 710721c27..2c8a2feb4 100644 --- a/misc/pascal/libpoff/pfwhdr.c +++ b/misc/pascal/libpoff/pfwhdr.c @@ -3,7 +3,7 @@ * Write to POFF file file and section headers * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwlineno.c b/misc/pascal/libpoff/pfwlineno.c index 1b7cdab15..4765391b9 100644 --- a/misc/pascal/libpoff/pfwlineno.c +++ b/misc/pascal/libpoff/pfwlineno.c @@ -3,7 +3,7 @@ * Write line number data to a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwprog.c b/misc/pascal/libpoff/pfwprog.c index 22d47d49b..1ecf70688 100644 --- a/misc/pascal/libpoff/pfwprog.c +++ b/misc/pascal/libpoff/pfwprog.c @@ -3,7 +3,7 @@ * Write program data to a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwreloc.c b/misc/pascal/libpoff/pfwreloc.c index db2a2feba..e7b4def24 100644 --- a/misc/pascal/libpoff/pfwreloc.c +++ b/misc/pascal/libpoff/pfwreloc.c @@ -3,7 +3,7 @@ * Write relocation data to a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwrite.c b/misc/pascal/libpoff/pfwrite.c index 916f25dc5..984b3511b 100644 --- a/misc/pascal/libpoff/pfwrite.c +++ b/misc/pascal/libpoff/pfwrite.c @@ -3,7 +3,7 @@ * Write a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwrodata.c b/misc/pascal/libpoff/pfwrodata.c index 7d059a547..c6128b9aa 100644 --- a/misc/pascal/libpoff/pfwrodata.c +++ b/misc/pascal/libpoff/pfwrodata.c @@ -3,7 +3,7 @@ * Write to the RODATA section of a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwstring.c b/misc/pascal/libpoff/pfwstring.c index 9c3d854d7..45669576d 100644 --- a/misc/pascal/libpoff/pfwstring.c +++ b/misc/pascal/libpoff/pfwstring.c @@ -3,7 +3,7 @@ * Write string table data a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfwsymbol.c b/misc/pascal/libpoff/pfwsymbol.c index 534e7651a..0a0beb2be 100644 --- a/misc/pascal/libpoff/pfwsymbol.c +++ b/misc/pascal/libpoff/pfwsymbol.c @@ -3,7 +3,7 @@ * Write symbol information to a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfxprog.c b/misc/pascal/libpoff/pfxprog.c index caa1d4864..238e109be 100644 --- a/misc/pascal/libpoff/pfxprog.c +++ b/misc/pascal/libpoff/pfxprog.c @@ -3,7 +3,7 @@ * Extract program data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pfxrodata.c b/misc/pascal/libpoff/pfxrodata.c index f778ab42b..87ae3c4c6 100644 --- a/misc/pascal/libpoff/pfxrodata.c +++ b/misc/pascal/libpoff/pfxrodata.c @@ -3,7 +3,7 @@ * Extract program read-only data from a POFF file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/libpoff/pofferr.c b/misc/pascal/libpoff/pofferr.c index f32db0475..3253acdfd 100644 --- a/misc/pascal/libpoff/pofferr.c +++ b/misc/pascal/libpoff/pofferr.c @@ -3,7 +3,7 @@ * Simple error handlers * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/nuttx/INSTALL.sh b/misc/pascal/nuttx/INSTALL.sh index f513967d3..416718632 100755 --- a/misc/pascal/nuttx/INSTALL.sh +++ b/misc/pascal/nuttx/INSTALL.sh @@ -3,7 +3,7 @@ # Install the pascaldirl runtime into the NuttX source tree # # Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/nuttx/keywords.h b/misc/pascal/nuttx/keywords.h index 762fa594e..af84b5707 100644 --- a/misc/pascal/nuttx/keywords.h +++ b/misc/pascal/nuttx/keywords.h @@ -1,67 +1,67 @@ -/*************************************************************
- * keywords.h
- * This file defines the pascal compilation environment
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *************************************************************/
-
-#ifndef __KEYWORDS_H
-#define __KEYWORDS_H
-
-/*************************************************************
- * Included Files
- *************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-#include <debug.h>
-
-/*************************************************************
- * Definitions
- *************************************************************/
-
-#ifndef CONFIG_DEBUG
-# define CONFIG_DEBUG 0
-#endif
-
-#ifndef CONFIG_TRACE
-# define CONFIG_TRACE 0
-#endif
-
-#ifdef CONFIG_CPP_HAVE_VARARGS
-# define DEBUG(stream, format, arg...) dbg(format, ##arg)
-# define TRACE(stream, format, arg...) dbg(format, ##arg)
-#else
-# define DEBUG dbg
-# define TRACE dbg
-#endif
-
-#endif /* __KEYWORDS_H */
+/************************************************************* + * keywords.h + * This file defines the pascal compilation environment + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *************************************************************/ + +#ifndef __KEYWORDS_H +#define __KEYWORDS_H + +/************************************************************* + * Included Files + *************************************************************/ + +#include <nuttx/config.h> +#include <nuttx/compiler.h> +#include <debug.h> + +/************************************************************* + * Definitions + *************************************************************/ + +#ifndef CONFIG_DEBUG +# define CONFIG_DEBUG 0 +#endif + +#ifndef CONFIG_TRACE +# define CONFIG_TRACE 0 +#endif + +#ifdef CONFIG_CPP_HAVE_VARARGS +# define DEBUG(stream, format, arg...) dbg(format, ##arg) +# define TRACE(stream, format, arg...) dbg(format, ##arg) +#else +# define DEBUG dbg +# define TRACE dbg +#endif + +#endif /* __KEYWORDS_H */ diff --git a/misc/pascal/pascal/Makefile b/misc/pascal/pascal/Makefile index 9171700fd..3a758f648 100644 --- a/misc/pascal/pascal/Makefile +++ b/misc/pascal/pascal/Makefile @@ -2,7 +2,7 @@ # pascal/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pas.c b/misc/pascal/pascal/pas.c index 23cc12b92..b0975c42f 100644 --- a/misc/pascal/pascal/pas.c +++ b/misc/pascal/pascal/pas.c @@ -3,7 +3,7 @@ * Main process * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pas.h b/misc/pascal/pascal/pas.h index 5c9037ed0..e86676ba1 100644 --- a/misc/pascal/pascal/pas.h +++ b/misc/pascal/pascal/pas.h @@ -3,7 +3,7 @@ * External Declarations associated with pas.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pasdefs.h b/misc/pascal/pascal/pasdefs.h index 7fc05bf76..ade1b7ed0 100644 --- a/misc/pascal/pascal/pasdefs.h +++ b/misc/pascal/pascal/pasdefs.h @@ -3,7 +3,7 @@ * General definitions for the Pascal Compiler/Optimizer * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pblck.c b/misc/pascal/pascal/pblck.c index 19b815038..b32701cc7 100644 --- a/misc/pascal/pascal/pblck.c +++ b/misc/pascal/pascal/pblck.c @@ -3,7 +3,7 @@ * Process a Pascal Block * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pblck.h b/misc/pascal/pascal/pblck.h index c44da5452..4ff002ff5 100644 --- a/misc/pascal/pascal/pblck.h +++ b/misc/pascal/pascal/pblck.h @@ -3,7 +3,7 @@ * External Declarations associated with pblck.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pcexpr.c b/misc/pascal/pascal/pcexpr.c index 52ef49e1a..c14b6b1ee 100644 --- a/misc/pascal/pascal/pcexpr.c +++ b/misc/pascal/pascal/pcexpr.c @@ -3,7 +3,7 @@ * Constant expression evaluation * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pcfunc.c b/misc/pascal/pascal/pcfunc.c index 733e85bdd..c4188ca2b 100644 --- a/misc/pascal/pascal/pcfunc.c +++ b/misc/pascal/pascal/pcfunc.c @@ -3,7 +3,7 @@ * Standard Function operating on constant values * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/perr.c b/misc/pascal/pascal/perr.c index 3737b2588..3e1153739 100644 --- a/misc/pascal/pascal/perr.c +++ b/misc/pascal/pascal/perr.c @@ -3,7 +3,7 @@ * Error Handlers * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pexpr.c b/misc/pascal/pascal/pexpr.c index faa179b90..855e519f3 100644 --- a/misc/pascal/pascal/pexpr.c +++ b/misc/pascal/pascal/pexpr.c @@ -3,7 +3,7 @@ * Integer Expression * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pexpr.h b/misc/pascal/pascal/pexpr.h index 937510102..cca0595cd 100644 --- a/misc/pascal/pascal/pexpr.h +++ b/misc/pascal/pascal/pexpr.h @@ -3,7 +3,7 @@ * External Declarations associated with pexpr.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pffunc.c b/misc/pascal/pascal/pffunc.c index f296af0de..0820272ae 100644 --- a/misc/pascal/pascal/pffunc.c +++ b/misc/pascal/pascal/pffunc.c @@ -3,7 +3,7 @@ * Standard Functions * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pfunc.h b/misc/pascal/pascal/pfunc.h index e6d3303e4..a317fb440 100644 --- a/misc/pascal/pascal/pfunc.h +++ b/misc/pascal/pascal/pfunc.h @@ -1,57 +1,57 @@ -/***************************************************************************
- * pfunc.h
- * External Declarations associated with pfunc.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PFUNC_H
-#define __PFUNC_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include "pexpr.h" /* For exprType */
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void primeBuiltInFunctions(void);
-extern exprType builtInFunction(void);
-extern void builtInFunctionOfConstant(void);
-
-extern void checkLParen(void);
-extern void checkRParen(void);
-
-#endif /* __PFUNC_H */
+/*************************************************************************** + * pfunc.h + * External Declarations associated with pfunc.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PFUNC_H +#define __PFUNC_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +#include "pexpr.h" /* For exprType */ + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void primeBuiltInFunctions(void); +extern exprType builtInFunction(void); +extern void builtInFunctionOfConstant(void); + +extern void checkLParen(void); +extern void checkRParen(void); + +#endif /* __PFUNC_H */ diff --git a/misc/pascal/pascal/pgen.c b/misc/pascal/pascal/pgen.c index 25d4d956b..e77582ad9 100644 --- a/misc/pascal/pascal/pgen.c +++ b/misc/pascal/pascal/pgen.c @@ -3,7 +3,7 @@ * P-Code generation logic * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pgen.h b/misc/pascal/pascal/pgen.h index 3a6412452..aac6f8e58 100644 --- a/misc/pascal/pascal/pgen.h +++ b/misc/pascal/pascal/pgen.h @@ -3,7 +3,7 @@ * External Declarations associated with pgen.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pprgm.c b/misc/pascal/pascal/pprgm.c index e822e18a1..f1aa5528b 100644 --- a/misc/pascal/pascal/pprgm.c +++ b/misc/pascal/pascal/pprgm.c @@ -3,7 +3,7 @@ * main - process PROGRAM * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pprgm.h b/misc/pascal/pascal/pprgm.h index 7c4ef2ca0..226a879fd 100644 --- a/misc/pascal/pascal/pprgm.h +++ b/misc/pascal/pascal/pprgm.h @@ -1,47 +1,47 @@ -/***************************************************************************
- * pprgm.h
- * External Declarations associated with pprgm.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PPRGM_H
-#define __PPRGM_H
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void program(void);
-extern void usesSection(void);
-
-#endif /* __PPRGM_H */
+/*************************************************************************** + * pprgm.h + * External Declarations associated with pprgm.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PPRGM_H +#define __PPRGM_H + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void program(void); +extern void usesSection(void); + +#endif /* __PPRGM_H */ diff --git a/misc/pascal/pascal/pproc.c b/misc/pascal/pascal/pproc.c index e4e0e0272..df02e11a1 100644 --- a/misc/pascal/pascal/pproc.c +++ b/misc/pascal/pascal/pproc.c @@ -3,7 +3,7 @@ * Standard procedures (all called in pstm.c) * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pproc.h b/misc/pascal/pascal/pproc.h index 5ede20a57..946611e86 100644 --- a/misc/pascal/pascal/pproc.h +++ b/misc/pascal/pascal/pproc.h @@ -1,49 +1,49 @@ -/***************************************************************************
- * pproc.h
- * External Declarations associated with PPROC.C
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PPROC_H
-#define __PPROC_H
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void primeBuiltInProcedures(void);
-extern void builtInProcedure(void);
-extern int actualParameterSize(STYPE *procPtr, int parmNo);
-extern int actualParameterList(STYPE *procPtr);
-
-#endif /* __PPROC_H */
+/*************************************************************************** + * pproc.h + * External Declarations associated with PPROC.C + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PPROC_H +#define __PPROC_H + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void primeBuiltInProcedures(void); +extern void builtInProcedure(void); +extern int actualParameterSize(STYPE *procPtr, int parmNo); +extern int actualParameterList(STYPE *procPtr); + +#endif /* __PPROC_H */ diff --git a/misc/pascal/pascal/pstm.c b/misc/pascal/pascal/pstm.c index 3d6e49fa5..ee3730800 100644 --- a/misc/pascal/pascal/pstm.c +++ b/misc/pascal/pascal/pstm.c @@ -3,7 +3,7 @@ * Pascal Statements * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/pstm.h b/misc/pascal/pascal/pstm.h index 6508db68a..5215b7a10 100644 --- a/misc/pascal/pascal/pstm.h +++ b/misc/pascal/pascal/pstm.h @@ -1,47 +1,47 @@ -/***************************************************************************
- * pstm.h
- * External Declarations associated with pstm.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PSTM_H
-#define __PSTM_H
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void statement (void); /* Process Statement */
-extern void compoundStatement (void); /* Compound statement */
-
-#endif /* __PSTM_H */
+/*************************************************************************** + * pstm.h + * External Declarations associated with pstm.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PSTM_H +#define __PSTM_H + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void statement (void); /* Process Statement */ +extern void compoundStatement (void); /* Compound statement */ + +#endif /* __PSTM_H */ diff --git a/misc/pascal/pascal/ptbl.c b/misc/pascal/pascal/ptbl.c index dea2bcfd3..e77652aec 100644 --- a/misc/pascal/pascal/ptbl.c +++ b/misc/pascal/pascal/ptbl.c @@ -3,7 +3,7 @@ * Table Management Package * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/ptbl.h b/misc/pascal/pascal/ptbl.h index 14e368e1b..906a3d9ee 100644 --- a/misc/pascal/pascal/ptbl.h +++ b/misc/pascal/pascal/ptbl.h @@ -3,7 +3,7 @@ * External Declarations associated with ptbl.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/ptdefs.h b/misc/pascal/pascal/ptdefs.h index d7a079e13..7d3ce55c1 100644 --- a/misc/pascal/pascal/ptdefs.h +++ b/misc/pascal/pascal/ptdefs.h @@ -1,209 +1,209 @@ -/***********************************************************************
- * ptdefs.h
- * Token and Symbol Table Definitions
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***********************************************************************/
-
-#ifndef __PTDEFS_H
-#define __PTDEFS_H
-
-/***********************************************************************/
-/* Token Values 0-0x20 reserved for get_token identification */
-
-#define tIDENT 0x01
-#define tINT_CONST 0x02
-#define tCHAR_CONST 0x03
-#define tBOOLEAN_CONST 0x04
-#define tREAL_CONST 0x05
-#define tSTRING_CONST 0x06
-
-#define tLE 0x07
-#define tGE 0x08
-#define tASSIGN 0x09
-#define tSUBRANGE 0x0A
-
-/* Token Values 0x21-0x2F (except 0x24) are for ASCII character tokens */
-
-#define tNE ('#')
-#define SQUOTE 0x27
-#define tMUL ('*')
-#define tFDIV ('/')
-
-/* Token Values 0x30-0x39 are spare */
-/* Token Values 0x3A-0x40 are for ASCII character tokens */
-
-#define tLT ('<')
-#define tEQ ('=')
-#define tGT ('>')
-
-/* Token Values 0x41-0x5A are SYMBOL TABLE definitions */
-
-#define sPROC 0x41
-#define sFUNC 0x42
-#define sLABEL 0x43
-#define sTYPE 0x44
-#define sFILE 0x45
-#define sINT 0x46
-#define sBOOLEAN 0x47
-#define sCHAR 0x48
-#define sREAL 0x49
-#define sTEXT 0x4a
-#define sSTRING 0x4b /* String storage type */
-#define sRSTRING 0x4c /* String reference type */
-#define sSTRING_CONST 0x4d
-#define sPOINTER 0x4e
-#define sSCALAR 0x4f
-#define sSCALAR_OBJECT 0x50
-#define sSUBRANGE 0x51
-#define sSET_OF 0x52
-#define sARRAY 0x53
-#define sRECORD 0x54
-#define sRECORD_OBJECT 0x55
-#define sFILE_OF 0x56
-#define sVAR_PARM 0x57
-
-/* Token Values 0x5B-0x60 (except 0x5F) are for ASCII character tokens */
-/* Token Values 0x61-0x7a are SYMBOL TABLE definitions */
-
-/* Token Values 0x7b-0x7f are for ASCII character tokens */
-/* Token Value 0x7f is spare */
-
-/* Token Values 0x80-0xef are for RESERVED WORDS */
-
-/* Standard constants (TRUE, FALSE, MAXINT) and standard files (INPUT, OUTPUT)
- * are hard initialized into the constant/symbol table and are transparent
- * to the compiler */
-
-/* Reserved Words 0x80-0xaf*/
-
-#define tAND 0x80
-#define tARRAY 0x81
-#define tBEGIN 0x82
-#define tCASE 0x83
-#define tCONST 0x84
-#define tDIV 0x85
-#define tDO 0x86
-#define tDOWNTO 0x87
-#define tELSE 0x88
-#define tEND 0x89
-#define tFILE 0x8a
-#define tFOR 0x8b
-#define tFUNCTION 0x8c
-#define tGOTO 0x8d
-#define tIF 0x8e
-#define tIMPLEMENTATION 0x08f /* Extended pascal */
-#define tIN 0x90
-#define tINTERFACE 0x91 /* Extended pascal */
-#define tLABEL 0x92
-#define tMOD 0x93
-#define tNIL 0x94
-#define tNOT 0x95
-#define tOF 0x96
-#define tOR 0x97
-#define tPACKED 0x98
-#define tPROCEDURE 0x99
-#define tPROGRAM 0x9a
-#define tRECORD 0x9b
-#define tREPEAT 0x9c
-#define tSET 0x9d
-#define tSHL 0x9e
-#define tSHR 0x9f
-#define tTHEN 0xa0
-#define tTO 0xa1
-#define tTYPE 0xa2
-#define tUNIT 0xa3 /* Extended pascal */
-#define tUNTIL 0xa4
-#define tUSES 0xa5 /* Extended pascal */
-#define tVAR 0xa6
-#define tWHILE 0xa7
-#define tWITH 0xa8
-
-/* The following codes indicate that the token is a built-in procedure
- * or function recognized by the compiler. An additional code will be
- * place in tknSubType by the tokenizer to indicate which built-in
- * procedure or function applies.
- */
-
-#define tFUNC 0xb0
-#define tPROC 0xb1
-
-/***********************************************************************/
-/* Codes to indentify built-in functions and procedures */
-
-#define txNONE 0x00
-
-/* Standard Functions 0x01-0x1f*/
-
-#define txABS 0x01
-#define txARCTAN 0x02
-#define txCHR 0x03
-#define txCOS 0x04
-#define txEOF 0x05
-#define txEOLN 0x06
-#define txEXP 0x07
-#define txLN 0x08
-#define txODD 0x09
-#define txORD 0x0a
-#define txPRED 0x0b
-#define txROUND 0x0c
-#define txSIN 0x0d
-#define txSQR 0x0e
-#define txSQRT 0x0f
-#define txSUCC 0x10
-#define txTRUNC 0x11
-
-/* "Less than standard" Functions 0x20-0x7f */
-
-#define txGETENV 0x20
-
-/* Standard Procedures 0x81-0xbf */
-
-#define txGET 0x80
-#define txNEW 0x81
-#define txPACK 0x82
-#define txPAGE 0x83
-#define txPUT 0x84
-#define txREAD 0x85
-#define txREADLN 0x86
-#define txRESET 0x87
-#define txREWRITE 0x88
-#define txUNPACK 0x89
-#define txWRITE 0x8a
-#define txWRITELN 0x8b
-
-/* "Less than standard" Procedures 0xc0-0xff */
-
-#define txVAL 0xc0
-
-#endif /* __PTDEFS_H */
-
+/*********************************************************************** + * ptdefs.h + * Token and Symbol Table Definitions + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***********************************************************************/ + +#ifndef __PTDEFS_H +#define __PTDEFS_H + +/***********************************************************************/ +/* Token Values 0-0x20 reserved for get_token identification */ + +#define tIDENT 0x01 +#define tINT_CONST 0x02 +#define tCHAR_CONST 0x03 +#define tBOOLEAN_CONST 0x04 +#define tREAL_CONST 0x05 +#define tSTRING_CONST 0x06 + +#define tLE 0x07 +#define tGE 0x08 +#define tASSIGN 0x09 +#define tSUBRANGE 0x0A + +/* Token Values 0x21-0x2F (except 0x24) are for ASCII character tokens */ + +#define tNE ('#') +#define SQUOTE 0x27 +#define tMUL ('*') +#define tFDIV ('/') + +/* Token Values 0x30-0x39 are spare */ +/* Token Values 0x3A-0x40 are for ASCII character tokens */ + +#define tLT ('<') +#define tEQ ('=') +#define tGT ('>') + +/* Token Values 0x41-0x5A are SYMBOL TABLE definitions */ + +#define sPROC 0x41 +#define sFUNC 0x42 +#define sLABEL 0x43 +#define sTYPE 0x44 +#define sFILE 0x45 +#define sINT 0x46 +#define sBOOLEAN 0x47 +#define sCHAR 0x48 +#define sREAL 0x49 +#define sTEXT 0x4a +#define sSTRING 0x4b /* String storage type */ +#define sRSTRING 0x4c /* String reference type */ +#define sSTRING_CONST 0x4d +#define sPOINTER 0x4e +#define sSCALAR 0x4f +#define sSCALAR_OBJECT 0x50 +#define sSUBRANGE 0x51 +#define sSET_OF 0x52 +#define sARRAY 0x53 +#define sRECORD 0x54 +#define sRECORD_OBJECT 0x55 +#define sFILE_OF 0x56 +#define sVAR_PARM 0x57 + +/* Token Values 0x5B-0x60 (except 0x5F) are for ASCII character tokens */ +/* Token Values 0x61-0x7a are SYMBOL TABLE definitions */ + +/* Token Values 0x7b-0x7f are for ASCII character tokens */ +/* Token Value 0x7f is spare */ + +/* Token Values 0x80-0xef are for RESERVED WORDS */ + +/* Standard constants (TRUE, FALSE, MAXINT) and standard files (INPUT, OUTPUT) + * are hard initialized into the constant/symbol table and are transparent + * to the compiler */ + +/* Reserved Words 0x80-0xaf*/ + +#define tAND 0x80 +#define tARRAY 0x81 +#define tBEGIN 0x82 +#define tCASE 0x83 +#define tCONST 0x84 +#define tDIV 0x85 +#define tDO 0x86 +#define tDOWNTO 0x87 +#define tELSE 0x88 +#define tEND 0x89 +#define tFILE 0x8a +#define tFOR 0x8b +#define tFUNCTION 0x8c +#define tGOTO 0x8d +#define tIF 0x8e +#define tIMPLEMENTATION 0x08f /* Extended pascal */ +#define tIN 0x90 +#define tINTERFACE 0x91 /* Extended pascal */ +#define tLABEL 0x92 +#define tMOD 0x93 +#define tNIL 0x94 +#define tNOT 0x95 +#define tOF 0x96 +#define tOR 0x97 +#define tPACKED 0x98 +#define tPROCEDURE 0x99 +#define tPROGRAM 0x9a +#define tRECORD 0x9b +#define tREPEAT 0x9c +#define tSET 0x9d +#define tSHL 0x9e +#define tSHR 0x9f +#define tTHEN 0xa0 +#define tTO 0xa1 +#define tTYPE 0xa2 +#define tUNIT 0xa3 /* Extended pascal */ +#define tUNTIL 0xa4 +#define tUSES 0xa5 /* Extended pascal */ +#define tVAR 0xa6 +#define tWHILE 0xa7 +#define tWITH 0xa8 + +/* The following codes indicate that the token is a built-in procedure + * or function recognized by the compiler. An additional code will be + * place in tknSubType by the tokenizer to indicate which built-in + * procedure or function applies. + */ + +#define tFUNC 0xb0 +#define tPROC 0xb1 + +/***********************************************************************/ +/* Codes to indentify built-in functions and procedures */ + +#define txNONE 0x00 + +/* Standard Functions 0x01-0x1f*/ + +#define txABS 0x01 +#define txARCTAN 0x02 +#define txCHR 0x03 +#define txCOS 0x04 +#define txEOF 0x05 +#define txEOLN 0x06 +#define txEXP 0x07 +#define txLN 0x08 +#define txODD 0x09 +#define txORD 0x0a +#define txPRED 0x0b +#define txROUND 0x0c +#define txSIN 0x0d +#define txSQR 0x0e +#define txSQRT 0x0f +#define txSUCC 0x10 +#define txTRUNC 0x11 + +/* "Less than standard" Functions 0x20-0x7f */ + +#define txGETENV 0x20 + +/* Standard Procedures 0x81-0xbf */ + +#define txGET 0x80 +#define txNEW 0x81 +#define txPACK 0x82 +#define txPAGE 0x83 +#define txPUT 0x84 +#define txREAD 0x85 +#define txREADLN 0x86 +#define txRESET 0x87 +#define txREWRITE 0x88 +#define txUNPACK 0x89 +#define txWRITE 0x8a +#define txWRITELN 0x8b + +/* "Less than standard" Procedures 0xc0-0xff */ + +#define txVAL 0xc0 + +#endif /* __PTDEFS_H */ + diff --git a/misc/pascal/pascal/ptkn.c b/misc/pascal/pascal/ptkn.c index 615fcc3a9..192f5f817 100644 --- a/misc/pascal/pascal/ptkn.c +++ b/misc/pascal/pascal/ptkn.c @@ -3,7 +3,7 @@ * Tokenization Package * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/ptkn.h b/misc/pascal/pascal/ptkn.h index 4348af5a1..b68533f1f 100644 --- a/misc/pascal/pascal/ptkn.h +++ b/misc/pascal/pascal/ptkn.h @@ -3,7 +3,7 @@ * External Declarations associated with ptkn.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/punit.c b/misc/pascal/pascal/punit.c index 00a21d9ea..00b74e18b 100644 --- a/misc/pascal/pascal/punit.c +++ b/misc/pascal/pascal/punit.c @@ -3,7 +3,7 @@ * Parse a pascal unit file * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/pascal/punit.h b/misc/pascal/pascal/punit.h index 128ec7198..9a29dd19d 100644 --- a/misc/pascal/pascal/punit.h +++ b/misc/pascal/pascal/punit.h @@ -1,51 +1,51 @@ -/***************************************************************************
- * punit.h
- * External Declarations associated with punit.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PUNIT_H
-#define __PUNIT_H
-
-/***************************************************************************
- * Public Types
- ***************************************************************************/
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-extern void unitImplementation(void);
-extern void unitInterface(void);
-
-#endif /* __PUNIT_H */
+/*************************************************************************** + * punit.h + * External Declarations associated with punit.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PUNIT_H +#define __PUNIT_H + +/*************************************************************************** + * Public Types + ***************************************************************************/ + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +extern void unitImplementation(void); +extern void unitInterface(void); + +#endif /* __PUNIT_H */ diff --git a/misc/pascal/plink/Makefile b/misc/pascal/plink/Makefile index 7a5d188f5..d469df559 100644 --- a/misc/pascal/plink/Makefile +++ b/misc/pascal/plink/Makefile @@ -2,7 +2,7 @@ # plink/Makefile # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/plink/plink.c b/misc/pascal/plink/plink.c index d304c49ad..0e9c15078 100644 --- a/misc/pascal/plink/plink.c +++ b/misc/pascal/plink/plink.c @@ -3,7 +3,7 @@ * P-Code Linker * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/plink/plink.h b/misc/pascal/plink/plink.h index 350bce461..d4e88a1f6 100644 --- a/misc/pascal/plink/plink.h +++ b/misc/pascal/plink/plink.h @@ -1,52 +1,52 @@ -/***************************************************************************
- * plink.h
- * External Declarations associated with plink.c
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-#ifndef __PLINK_H
-#define __PLINK_H
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-/***************************************************************************
- * Global Variables
- ***************************************************************************/
-
-/***************************************************************************
- * Global Function Prototypes
- ***************************************************************************/
-
-#endif /* __PLINK_H */
+/*************************************************************************** + * plink.h + * External Declarations associated with plink.c + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ***************************************************************************/ + +#ifndef __PLINK_H +#define __PLINK_H + +/*************************************************************************** + * Included Files + ***************************************************************************/ + +/*************************************************************************** + * Global Variables + ***************************************************************************/ + +/*************************************************************************** + * Global Function Prototypes + ***************************************************************************/ + +#endif /* __PLINK_H */ diff --git a/misc/pascal/plink/plreloc.c b/misc/pascal/plink/plreloc.c index 0faf0715c..4b9e7e032 100644 --- a/misc/pascal/plink/plreloc.c +++ b/misc/pascal/plink/plreloc.c @@ -3,7 +3,7 @@ * Relocation management for the P-Code Linker * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/plink/plreloc.h b/misc/pascal/plink/plreloc.h index d8dd89476..abdb393b1 100644 --- a/misc/pascal/plink/plreloc.h +++ b/misc/pascal/plink/plreloc.h @@ -3,7 +3,7 @@ * External Declarations associated with plreloc.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/plink/plsym.c b/misc/pascal/plink/plsym.c index ceeb0c4f7..3f27f512b 100644 --- a/misc/pascal/plink/plsym.c +++ b/misc/pascal/plink/plsym.c @@ -3,7 +3,7 @@ * Symbol management for the P-Code Linker * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/plink/plsym.h b/misc/pascal/plink/plsym.h index 69218830f..95f047e9d 100644 --- a/misc/pascal/plink/plsym.h +++ b/misc/pascal/plink/plsym.h @@ -3,7 +3,7 @@ * External Declarations associated with plsym.c * * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/misc/pascal/tests/501-uses.sh b/misc/pascal/tests/501-uses.sh index 819ffc248..27e105524 100755 --- a/misc/pascal/tests/501-uses.sh +++ b/misc/pascal/tests/501-uses.sh @@ -3,7 +3,7 @@ # tests/501-uses.sh # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/tests/debug.sh b/misc/pascal/tests/debug.sh index 855ede28d..91857853f 100755 --- a/misc/pascal/tests/debug.sh +++ b/misc/pascal/tests/debug.sh @@ -3,7 +3,7 @@ # debug.sh # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/tests/list.sh b/misc/pascal/tests/list.sh index 2e50ab876..8d599d66e 100755 --- a/misc/pascal/tests/list.sh +++ b/misc/pascal/tests/list.sh @@ -3,7 +3,7 @@ # list.sh # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/tests/testall.sh b/misc/pascal/tests/testall.sh index 6af7570ea..7d3f74557 100755 --- a/misc/pascal/tests/testall.sh +++ b/misc/pascal/tests/testall.sh @@ -3,7 +3,7 @@ # testall.sh # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff --git a/misc/pascal/tests/testone.sh b/misc/pascal/tests/testone.sh index 9f407e331..10eb999cb 100755 --- a/misc/pascal/tests/testone.sh +++ b/misc/pascal/tests/testone.sh @@ -3,7 +3,7 @@ # testone.sh # # Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions |