summaryrefslogtreecommitdiff
path: root/apps/interpreters
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-05-09 11:09:43 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-05-09 11:09:43 -0600
commitdb7257ad4894df88a59100a8849b156029fbcf21 (patch)
treea9d11941769c64bc9981c87e6a92c214708867a2 /apps/interpreters
parent892b3598fffb8e999493cbfa9c8bbf95855b0a48 (diff)
downloadpx4-nuttx-db7257ad4894df88a59100a8849b156029fbcf21.tar.gz
px4-nuttx-db7257ad4894df88a59100a8849b156029fbcf21.tar.bz2
px4-nuttx-db7257ad4894df88a59100a8849b156029fbcf21.zip
Move P-Code execution logic from interpreters/prun to system/prun
Diffstat (limited to 'apps/interpreters')
-rw-r--r--apps/interpreters/Kconfig2
-rw-r--r--apps/interpreters/Make.defs4
-rw-r--r--apps/interpreters/prun/.gitignore13
-rw-r--r--apps/interpreters/prun/Kconfig14
-rw-r--r--apps/interpreters/prun/Makefile105
-rw-r--r--apps/interpreters/prun/README.txt34
-rw-r--r--apps/interpreters/prun/prun.c130
-rw-r--r--apps/interpreters/prun/prun.h55
8 files changed, 0 insertions, 357 deletions
diff --git a/apps/interpreters/Kconfig b/apps/interpreters/Kconfig
index 0464b6c77..e95215517 100644
--- a/apps/interpreters/Kconfig
+++ b/apps/interpreters/Kconfig
@@ -15,6 +15,4 @@ config INTERPRETERS_PCODE
Pascal run-time code.
if INTERPRETERS_PCODE
-source "$APPSDIR/interpreters/prun/Kconfig"
endif
-
diff --git a/apps/interpreters/Make.defs b/apps/interpreters/Make.defs
index 17364be39..5d808d5d6 100644
--- a/apps/interpreters/Make.defs
+++ b/apps/interpreters/Make.defs
@@ -38,10 +38,6 @@ ifeq ($(CONFIG_INTERPRETERS_PCODE),y)
CONFIGURED_APPS += interpreters/pcode
endif
-ifeq ($(CONFIG_INTERPRETERS_PRUN),y)
-CONFIGURED_APPS += interpreters/prun
-endif
-
ifeq ($(CONFIG_INTERPRETERS_FICL),y)
CONFIGURED_APPS += interpreters/ficl
endif
diff --git a/apps/interpreters/prun/.gitignore b/apps/interpreters/prun/.gitignore
deleted file mode 100644
index 3e5ec9dcb..000000000
--- a/apps/interpreters/prun/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-/Make.dep
-/.depend
-/.built
-/*.o1
-/*.asm
-/*.obj
-/*.rel
-/*.lst
-/*.sym
-/*.adb
-/*.lib
-/*.src
-/*.err
diff --git a/apps/interpreters/prun/Kconfig b/apps/interpreters/prun/Kconfig
deleted file mode 100644
index 1f8ba4695..000000000
--- a/apps/interpreters/prun/Kconfig
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see misc/tools/kconfig-language.txt.
-#
-
-config INTERPRETERS_PRUN
- bool "Pascal P-Code interpreter"
- default n
- depends on INTERPRETERS_PCODE
- ---help---
- Build the Pascal P-Code interpreter / Virtual machine
-
-if INTERPRETERS_PRUN
-endif
diff --git a/apps/interpreters/prun/Makefile b/apps/interpreters/prun/Makefile
deleted file mode 100644
index 941284fae..000000000
--- a/apps/interpreters/prun/Makefile
+++ /dev/null
@@ -1,105 +0,0 @@
-############################################################################
-# apps/interpreters/prun/Makefile
-#
-# Copyright (C) 2014 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.
-#
-############################################################################
-
--include $(TOPDIR)/.config
--include $(TOPDIR)/Make.defs
-include $(APPDIR)/Make.defs
-
-# Pascal P-Code interpreter / Virtual machine
-
-ifeq ($(WINTOOL),y)
-INCDIROPT = -w
-endif
-
-CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" \
- "." \
- "$(APPDIR)$(DELIM)interpreters$(DELIM)pcode$(DELIM)include" \
- "$(APPDIR)$(DELIM)interpreters$(DELIM)pcode$(DELIM)insn$(DELIM)include"}
-
-ASRCS =
-CSRCS = prun.c
-
-AOBJS = $(ASRCS:.S=$(OBJEXT))
-COBJS = $(CSRCS:.c=$(OBJEXT))
-
-SRCS = $(ASRCS) $(CSRCS)
-OBJS = $(AOBJS) $(COBJS)
-
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
- BIN = ..\..\libapps$(LIBEXT)
-else
-ifeq ($(WINTOOL),y)
- BIN = ..\\..\\libapps$(LIBEXT)
-else
- BIN = ../../libapps$(LIBEXT)
-endif
-endif
-
-ROOTDEPPATH = --dep-path .
-
-# Common build
-
-VPATH =
-
-all: .built
-.PHONY: clean depend distclean
-
-$(AOBJS): %$(OBJEXT): %.S
- $(call ASSEMBLE, $<, $@)
-
-$(COBJS): %$(OBJEXT): %.c
- $(call COMPILE, $<, $@)
-
-.built: $(OBJS)
- $(call ARCHIVE, $(BIN), $(OBJS))
- @touch .built
-
-context:
-
-.depend: Makefile $(SRCS)
- @$(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep
- @touch $@
-
-depend: .depend
-
-clean:
- $(call DELFILE, .built)
- $(call CLEAN)
-
-distclean: clean
- $(call DELFILE, Make.dep)
- $(call DELFILE, .depend)
-
--include Make.dep
diff --git a/apps/interpreters/prun/README.txt b/apps/interpreters/prun/README.txt
deleted file mode 100644
index 8287d6a6d..000000000
--- a/apps/interpreters/prun/README.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-README
-^^^^^^
-
-hello.pas
-
- This is a sample "Hello, World!" Pascal Program
-
-hello.pex
-
- This is the compiled, linked P-Code executable that results
- when hello.pas is compiled.
-
-hello.h
-
- This file defines an initialized C array holds a copy of
- hello.pex. This file as created by:
-
- xxd -i hello.pex >hello.h
-
-mkhello.sh
-
- This is a scripts that can be used to rebuild both hello.pex
- and hello.h.
-
-device.c
-
- The hello.pex file must be provided to the interpreter as a file
- in the file system. Normally this would be done using real storage
- medium. In this example, we will use device.c:
-
- device.c implements a simple device driver. Reads from this device
- will access the in-memory copy of hello.pex This device driver is
- registered as /dev/prun in the pseudo filesystem.
-
diff --git a/apps/interpreters/prun/prun.c b/apps/interpreters/prun/prun.c
deleted file mode 100644
index 23235074e..000000000
--- a/apps/interpreters/prun/prun.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
- * apps/system/prun/prun.c
- *
- * Copyright (C) 2014 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 <nuttx/config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <debug.h>
-
-#include <apps/interpreters/prun.h>
-
-#include "pexec.h"
-#include "pedefs.h"
-#include "prun.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: prun
- *
- * Description:
- * Execute/interpret a P-Code file. This function does not return until
- * the P-code program terminates or until a fatal error occurs.
- *
- * Input Parameters:
- * exepath - The full path to the P-Code binary.
- * varsize - Size of the P-Code variable stack
- * strsize - the size of the P-Code string stack.
- *
- * Returned Value:
- * OK if the P-Code program successfully terminated; A negated errno value
- * is returned on the event of any failure.
- *
- ****************************************************************************/
-
-int prun(FAR char *exepath, size_t varsize, size_t strsize)
-{
- FAR struct pexec_s *st;
- int errcode;
- int ret = OK;
-
- /* Load the POFF file into memory */
-
- st = pload(exepath, varsize, varsize);
- if (!st)
- {
- bdbg("ERROR: Could not load %s\n", exepath);
- return -ENOEXEC;
- }
-
- bvdbg("Loaded %s\n", exepath);
-
- /* Execute the P-Code program until a stopping condition occurs */
-
- for (;;)
- {
- /* Execute the instruction; Check for exceptional conditions */
-
- errcode = pexec(st);
- if (errcode != eNOERROR)
- {
- break;
- }
- }
-
- if (errcode != eEXIT)
- {
- /* REVISIT: Select a more appropriated return errocode */
-
- bdbg("ERROR: Runtime error 0x%02x -- Execution Stopped\n", errcode);
- ret = -ENOEXEC;
- }
-
- /* Clean up resources used by the interpreter */
-
- bvdbg("Execution terminated\n");
- pexec_release(st);
- return ret;
-}
diff --git a/apps/interpreters/prun/prun.h b/apps/interpreters/prun/prun.h
deleted file mode 100644
index f9a3b843b..000000000
--- a/apps/interpreters/prun/prun.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
- * examples/prun/prun.h
- *
- * 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 __EXAMPLES_PASHELLO_H
-#define __EXAMPLES_PASHELLO_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
-
-/* Defined in device.c */
-
-extern void hello_register(void);
-
-#endif /* __EXAMPLES_PASHELLO_H */