summaryrefslogtreecommitdiff
path: root/misc/pascal
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-01-06 15:13:24 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-01-06 15:13:24 +0000
commit9714df0891d803f1e2311e7acf29a9fbabe72a49 (patch)
tree229d5d563003947ec0310bb43de284a102dcaedc /misc/pascal
parentbe612b780f0d2ff1a201fad343244895e53978fc (diff)
downloadnuttx-9714df0891d803f1e2311e7acf29a9fbabe72a49.tar.gz
nuttx-9714df0891d803f1e2311e7acf29a9fbabe72a49.tar.bz2
nuttx-9714df0891d803f1e2311e7acf29a9fbabe72a49.zip
Move private types out of common header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@514 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'misc/pascal')
-rw-r--r--misc/pascal/include/pdefs.h236
-rw-r--r--misc/pascal/pascal/Makefile4
-rw-r--r--misc/pascal/pascal/pas.c2
-rw-r--r--misc/pascal/pascal/pas.h2
-rw-r--r--misc/pascal/pascal/pasdefs.h281
-rw-r--r--misc/pascal/pascal/pblck.c2
-rw-r--r--misc/pascal/pascal/pcexpr.c2
-rw-r--r--misc/pascal/pascal/pcfunc.c2
-rw-r--r--misc/pascal/pascal/perr.c2
-rw-r--r--misc/pascal/pascal/pexpr.c2
-rw-r--r--misc/pascal/pascal/pffunc.c2
-rw-r--r--misc/pascal/pascal/pgen.c2
-rw-r--r--misc/pascal/pascal/pprgm.c2
-rw-r--r--misc/pascal/pascal/pproc.c2
-rw-r--r--misc/pascal/pascal/pstm.c2
-rw-r--r--misc/pascal/pascal/ptbl.c2
-rw-r--r--misc/pascal/pascal/ptkn.c2
-rw-r--r--misc/pascal/pascal/punit.c2
-rw-r--r--misc/pascal/plink/Makefile5
19 files changed, 304 insertions, 252 deletions
diff --git a/misc/pascal/include/pdefs.h b/misc/pascal/include/pdefs.h
index daa73736b..15879dca2 100644
--- a/misc/pascal/include/pdefs.h
+++ b/misc/pascal/include/pdefs.h
@@ -1,6 +1,6 @@
/***********************************************************************
- * pdefs.h
- * General definitions for the Pascal Compiler/Optimizer
+ * include/pdefs.h
+ * Common definitions
*
* Copyright (C) 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -48,20 +48,12 @@
* Definitions
***********************************************************************/
-/* Size Parameters -- some of these can be overridden from the
- * command line.
- */
+/* Common Sizing Parameters */
-#define MAX_SYM (4096)
-#define MAX_STRINGS (65536)
-#define MAX_INCL 3
-#define MAX_FILES 8 /* max number of opened files */
-#define FNAME_SIZE 40 /* max size file name */
-#define LINE_SIZE 256 /* max size of input line buffer */
-#define FNAME_SIZE 40 /* max size of file name */
-#define MAX_INCPATHES 8 /* max number of include pathes */
+#define FNAME_SIZE 40 /* Max size file name */
+#define LINE_SIZE 256 /* Max size of input line buffer */
-/* Data Storage Sizes */
+/* Target P-Machine Data Storage Sizes */
#ifdef CONFIG_INSN16
# define sINT_SIZE 2
@@ -96,180 +88,11 @@
#define MAXCHAR 255
#define MINCHAR 0
-/* Bit values for the 'flags' field of the symType_t, symProc_t, and
- * symVar_t (see below)
- */
-
-#define STYPE_VARSIZE 0x01 /* Type has variable size */
-#define SPROC_EXTERNAL 0x01 /* Proc/func. is defined externally */
-#define SVAR_EXTERNAL 0x01 /* Variable is defined externally */
-
-/***********************************************************************
- * Public Enumeration Types
- ***********************************************************************/
-
-/* This enumeration identies what kind of binary object we are creating
- * with the compilation. At present, we may be generating either a
- * program binary or a unit binary.
- */
-
-enum fileKind_e
-{
- eIsProgram = 0,
- eIsUnit
-};
-typedef enum fileKind_e fileKind_t;
-
-/* This enumeration determines what part of a file that we are
- * processing now.
- */
-
-enum fileSection_e
-{
- eIsOtherSection = 0, /* Unspecified part of the file */
- eIsProgramSection, /* Any part of a program file */
- eIsInterfaceSection, /* INTERFACE section of a unit file */
- eIsImplementationSection, /* IMPLEMENTATION section of a unit file */
- eIsInitializationSection, /* INITIALIZATION section of a unit file */
-};
-typedef enum fileSection_e fileSection_t;
-
/***********************************************************************
- * Public Structure Types
+ * Public Structure/Types
***********************************************************************/
-/* Reserved word table entry */
-
-struct R
-{
- char *rname; /* pointer to name in string stack */
- ubyte rtype; /* reserved word type */
- ubyte subtype; /* reserved word extended type */
-};
-typedef struct R RTYPE;
-
-/* Symbol table entry */
-
-struct symType_s /* for sKind = sTYPE */
-{
- ubyte type; /* specific type */
- ubyte rtype; /* reference to type */
- ubyte subType; /* constant type for subrange types */
- ubyte flags; /* flags to customize a type (see above) */
- uint32 asize; /* size of allocated instances of this type */
- uint32 rsize; /* size of reference to an instances of this type */
- sint32 minValue; /* minimum value taken subrange */
- sint32 maxValue; /* maximum value taken by subrange or scalar */
- struct S *parent; /* pointer to parent type */
-};
-typedef struct symType_s symType_t;
-
-struct symConst_s /* for sKind == constant type */
-{
- union
- {
- float64 f; /* real value */
- sint32 i; /* integer value */
- } val;
- struct S *parent; /* pointer to parent type */
-};
-typedef struct symConst_s symConst_t;
-
-struct symStringConst_s /* for sKind == sSTRING_CONST */
-{
- uint32 offset; /* RO data section offset of string */
- uint32 size; /* length of string in bytes */
-};
-typedef struct symStringConst_s symStringConst_t;
-
-struct symVarString_s /* for sKind == sSTRING */
-{
- uint16 label; /* label at string declaration */
- uint16 size; /* valid length of string in bytes */
- uint16 alloc; /* max length of string in bytes */
-};
-typedef struct symVarString_s symVarString_t;
-
-struct symLabel_s /* for sKind == sLABEL */
-{
- uint16 label; /* label number */
- boolean unDefined; /* set false when defined */
-};
-typedef struct symLabel_s symLabel_t;
-
-struct symVar_s /* for sKind == type identifier */
-{
- sint32 offset; /* Data stack offset */
- uint32 size; /* Size of variable */
- ubyte flags; /* flags to customize a variable (see above) */
- uint32 symIndex; /* POFF symbol table index (if undefined) */
- struct S *parent; /* pointer to parent type */
-};
-typedef struct symVar_s symVar_t;
-
-struct symProc_s /* for sKind == sPROC or sFUNC */
-{
- uint16 label; /* entry point label */
- uint16 nParms; /* number of parameters that follow */
- ubyte flags; /* flags to customize a proc/func (see above) */
- uint32 symIndex; /* POFF symbol table index (if undefined) */
- struct S *parent; /* pointer to parent type (sFUNC only) */
-};
-typedef struct symProc_s symProc_t;
-
-struct symRecord_s /* for sKind == sRECORD_OBJECT */
-{
- uint32 size; /* size of this field */
- uint32 offset; /* offset into the RECORD */
- struct S *record; /* pointer to parent sRECORD type */
- struct S *parent; /* pointer to parent field type */
-};
-typedef struct symRecord_s symRecord_t;
-
-struct S
-{
- char *sName; /* pointer to name in string stack */
- ubyte sKind; /* kind of symbol */
- ubyte sLevel; /* static nesting level */
- union
- {
- symType_t t; /* for type definitions */
- symConst_t c; /* for constants */
- symStringConst_t s; /* for strings of constant size*/
- symVarString_t vs; /* for strings of variable size*/
- uint16 fileNumber; /* for files */
- symLabel_t l; /* for labels */
- symVar_t v; /* for variables */
- symProc_t p; /* for functions & procedures */
- symRecord_t r; /* for files of RECORDS */
- } sParm;
-};
-typedef struct S STYPE;
-
-/* WITH structure */
-
-struct W
-{
- ubyte level; /* static nesting level */
- boolean pointer; /* TRUE if offset is to pointer to RECORD */
- boolean varParm; /* TRUE if VAR param (+pointer) */
- sint32 offset; /* Data stack offset */
- uint16 index; /* RECORD offset (if pointer) */
- STYPE *parent; /* pointer to parent RECORD type */
-};
-typedef struct W WTYPE;
-
-/* File table record */
-
-struct F
-{
- sint16 defined;
- sint16 flevel;
- sint16 ftype;
- sint32 faddr;
- sint16 fsize;
-};
-typedef struct F FTYPE;
+/* Representation of one P-Code */
#ifdef CONFIG_INSN16
typedef struct P
@@ -288,47 +111,4 @@ typedef struct P
} OPTYPE;
#endif
-/* This structure captures the parsing state of the compiler for a particular
- * file. Since multiple, nested files can be processed, this represents
- * only level in the "stack" of nested files.
- */
-
-struct fileState_s
-{
- /* These fields are managed by the higher level parsing logic
- *
- * stream - Stream pointer the input stream associated with this
- * file.
- * kind - Kind of file we are processing. If include > 0,
- * this should be eIsUnit.
- * section - This is the part of the program that we are parsing
- * now.
- * dstack - Level zero dstack offset at the time the unit was
- * included. This is used to convert absolute program
- * stack offsets into relative unit stack offsets.
- * include - Is a unique number that identifies the file. In
- * POFF ouput file, this would be the index to the
- * entry in the .files section.
- */
-
- FILE *stream;
- fileKind_t kind;
- fileSection_t section;
- sint32 dstack;
- sint16 include;
-
- /* These fields are managed by the tokenizer. These are all
- * initialized by primeTokenizer().
- *
- * buffer[] - Holds the current input line
- * line - Is the line number in this file for the current line
- * cp - Is the current pointer into buffer[]
- */
-
- uint32 line;
- unsigned char *cp;
- unsigned char buffer[LINE_SIZE + 1];
-};
-typedef struct fileState_s fileState_t;
-
#endif /* __PDEFS_H */
diff --git a/misc/pascal/pascal/Makefile b/misc/pascal/pascal/Makefile
index 4c4eaf700..6029fb245 100644
--- a/misc/pascal/pascal/Makefile
+++ b/misc/pascal/pascal/Makefile
@@ -47,10 +47,6 @@ BINDIR-$(CONFIG_INSN16) = $(PASCAL)/bin16
BINDIR-$(CONFIG_INSN32) = $(PASCAL)/bin32
#
-# Tools
-#
-CFLAGS += -I.
-#
# Objects and targets
#
PASSRCS = pas.c pprgm.c punit.c pblck.c pstm.c pexpr.c \
diff --git a/misc/pascal/pascal/pas.c b/misc/pascal/pascal/pas.c
index b9ca3d889..8b8a03c53 100644
--- a/misc/pascal/pascal/pas.c
+++ b/misc/pascal/pascal/pas.c
@@ -48,7 +48,7 @@
#include "config.h"
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/pas.h b/misc/pascal/pascal/pas.h
index 5a4829948..8b55187fe 100644
--- a/misc/pascal/pascal/pas.h
+++ b/misc/pascal/pascal/pas.h
@@ -47,7 +47,7 @@
* Included Files
***************************************************************************/
-#include "pdefs.h"
+#include "pasdefs.h"
#include "pofflib.h"
/***************************************************************************
diff --git a/misc/pascal/pascal/pasdefs.h b/misc/pascal/pascal/pasdefs.h
new file mode 100644
index 000000000..081c32a66
--- /dev/null
+++ b/misc/pascal/pascal/pasdefs.h
@@ -0,0 +1,281 @@
+/***********************************************************************
+ * pascal/pasdefs.h
+ * General definitions for the Pascal Compiler/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.
+ *
+ ***********************************************************************/
+
+#ifndef __PASDEFS_H
+#define __PASDEFS_H
+
+/***********************************************************************
+ * Included Files
+ ***********************************************************************/
+
+#include <stdio.h> /* for FILE */
+#include <config.h>
+#include "pdefs.h" /* Common definitions */
+
+/***********************************************************************
+ * Definitions
+ ***********************************************************************/
+
+/* Size Parameters -- some of these can be overridden from the
+ * command line.
+ */
+
+#define MAX_SYM (4096)
+#define MAX_STRINGS (65536)
+#define MAX_INCL 3 /* Max number of nested include files */
+#define MAX_FILES 8 /* Max number of opened files */
+#define FNAME_SIZE 40 /* Max size file name */
+#define MAX_INCPATHES 8 /* Max number of include pathes */
+
+/* Bit values for the 'flags' field of the symType_t, symProc_t, and
+ * symVar_t (see below)
+ */
+
+#define STYPE_VARSIZE 0x01 /* Type has variable size */
+#define SPROC_EXTERNAL 0x01 /* Proc/func. is defined externally */
+#define SVAR_EXTERNAL 0x01 /* Variable is defined externally */
+
+/***********************************************************************
+ * Public Enumeration Types
+ ***********************************************************************/
+
+/* This enumeration identies what kind of binary object we are creating
+ * with the compilation. At present, we may be generating either a
+ * program binary or a unit binary.
+ */
+
+enum fileKind_e
+{
+ eIsProgram = 0,
+ eIsUnit
+};
+typedef enum fileKind_e fileKind_t;
+
+/* This enumeration determines what part of a file that we are
+ * processing now.
+ */
+
+enum fileSection_e
+{
+ eIsOtherSection = 0, /* Unspecified part of the file */
+ eIsProgramSection, /* Any part of a program file */
+ eIsInterfaceSection, /* INTERFACE section of a unit file */
+ eIsImplementationSection, /* IMPLEMENTATION section of a unit file */
+ eIsInitializationSection, /* INITIALIZATION section of a unit file */
+};
+typedef enum fileSection_e fileSection_t;
+
+/***********************************************************************
+ * Public Structure/Types
+ ***********************************************************************/
+
+/* Reserved word table entry */
+
+struct R
+{
+ char *rname; /* pointer to name in string stack */
+ ubyte rtype; /* reserved word type */
+ ubyte subtype; /* reserved word extended type */
+};
+typedef struct R RTYPE;
+
+/* Symbol table entry */
+
+struct symType_s /* for sKind = sTYPE */
+{
+ ubyte type; /* specific type */
+ ubyte rtype; /* reference to type */
+ ubyte subType; /* constant type for subrange types */
+ ubyte flags; /* flags to customize a type (see above) */
+ uint32 asize; /* size of allocated instances of this type */
+ uint32 rsize; /* size of reference to an instances of this type */
+ sint32 minValue; /* minimum value taken subrange */
+ sint32 maxValue; /* maximum value taken by subrange or scalar */
+ struct S *parent; /* pointer to parent type */
+};
+typedef struct symType_s symType_t;
+
+struct symConst_s /* for sKind == constant type */
+{
+ union
+ {
+ float64 f; /* real value */
+ sint32 i; /* integer value */
+ } val;
+ struct S *parent; /* pointer to parent type */
+};
+typedef struct symConst_s symConst_t;
+
+struct symStringConst_s /* for sKind == sSTRING_CONST */
+{
+ uint32 offset; /* RO data section offset of string */
+ uint32 size; /* length of string in bytes */
+};
+typedef struct symStringConst_s symStringConst_t;
+
+struct symVarString_s /* for sKind == sSTRING */
+{
+ uint16 label; /* label at string declaration */
+ uint16 size; /* valid length of string in bytes */
+ uint16 alloc; /* max length of string in bytes */
+};
+typedef struct symVarString_s symVarString_t;
+
+struct symLabel_s /* for sKind == sLABEL */
+{
+ uint16 label; /* label number */
+ boolean unDefined; /* set false when defined */
+};
+typedef struct symLabel_s symLabel_t;
+
+struct symVar_s /* for sKind == type identifier */
+{
+ sint32 offset; /* Data stack offset */
+ uint32 size; /* Size of variable */
+ ubyte flags; /* flags to customize a variable (see above) */
+ uint32 symIndex; /* POFF symbol table index (if undefined) */
+ struct S *parent; /* pointer to parent type */
+};
+typedef struct symVar_s symVar_t;
+
+struct symProc_s /* for sKind == sPROC or sFUNC */
+{
+ uint16 label; /* entry point label */
+ uint16 nParms; /* number of parameters that follow */
+ ubyte flags; /* flags to customize a proc/func (see above) */
+ uint32 symIndex; /* POFF symbol table index (if undefined) */
+ struct S *parent; /* pointer to parent type (sFUNC only) */
+};
+typedef struct symProc_s symProc_t;
+
+struct symRecord_s /* for sKind == sRECORD_OBJECT */
+{
+ uint32 size; /* size of this field */
+ uint32 offset; /* offset into the RECORD */
+ struct S *record; /* pointer to parent sRECORD type */
+ struct S *parent; /* pointer to parent field type */
+};
+typedef struct symRecord_s symRecord_t;
+
+struct S
+{
+ char *sName; /* pointer to name in string stack */
+ ubyte sKind; /* kind of symbol */
+ ubyte sLevel; /* static nesting level */
+ union
+ {
+ symType_t t; /* for type definitions */
+ symConst_t c; /* for constants */
+ symStringConst_t s; /* for strings of constant size*/
+ symVarString_t vs; /* for strings of variable size*/
+ uint16 fileNumber; /* for files */
+ symLabel_t l; /* for labels */
+ symVar_t v; /* for variables */
+ symProc_t p; /* for functions & procedures */
+ symRecord_t r; /* for files of RECORDS */
+ } sParm;
+};
+typedef struct S STYPE;
+
+/* WITH structure */
+
+struct W
+{
+ ubyte level; /* static nesting level */
+ boolean pointer; /* TRUE if offset is to pointer to RECORD */
+ boolean varParm; /* TRUE if VAR param (+pointer) */
+ sint32 offset; /* Data stack offset */
+ uint16 index; /* RECORD offset (if pointer) */
+ STYPE *parent; /* pointer to parent RECORD type */
+};
+typedef struct W WTYPE;
+
+/* File table record */
+
+struct F
+{
+ sint16 defined;
+ sint16 flevel;
+ sint16 ftype;
+ sint32 faddr;
+ sint16 fsize;
+};
+typedef struct F FTYPE;
+
+/* This structure captures the parsing state of the compiler for a particular
+ * file. Since multiple, nested files can be processed, this represents
+ * only level in the "stack" of nested files.
+ */
+
+struct fileState_s
+{
+ /* These fields are managed by the higher level parsing logic
+ *
+ * stream - Stream pointer the input stream associated with this
+ * file.
+ * kind - Kind of file we are processing. If include > 0,
+ * this should be eIsUnit.
+ * section - This is the part of the program that we are parsing
+ * now.
+ * dstack - Level zero dstack offset at the time the unit was
+ * included. This is used to convert absolute program
+ * stack offsets into relative unit stack offsets.
+ * include - Is a unique number that identifies the file. In
+ * POFF ouput file, this would be the index to the
+ * entry in the .files section.
+ */
+
+ FILE *stream;
+ fileKind_t kind;
+ fileSection_t section;
+ sint32 dstack;
+ sint16 include;
+
+ /* These fields are managed by the tokenizer. These are all
+ * initialized by primeTokenizer().
+ *
+ * buffer[] - Holds the current input line
+ * line - Is the line number in this file for the current line
+ * cp - Is the current pointer into buffer[]
+ */
+
+ uint32 line;
+ unsigned char *cp;
+ unsigned char buffer[LINE_SIZE + 1];
+};
+typedef struct fileState_s fileState_t;
+
+#endif /* __PASDEFS_H */
diff --git a/misc/pascal/pascal/pblck.c b/misc/pascal/pascal/pblck.c
index b1ac5f815..f3abfb78b 100644
--- a/misc/pascal/pascal/pblck.c
+++ b/misc/pascal/pascal/pblck.c
@@ -42,7 +42,7 @@
#include <string.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "pedefs.h"
#include "podefs.h"
diff --git a/misc/pascal/pascal/pcexpr.c b/misc/pascal/pascal/pcexpr.c
index 040c330ad..d3ccebd12 100644
--- a/misc/pascal/pascal/pcexpr.c
+++ b/misc/pascal/pascal/pcexpr.c
@@ -43,7 +43,7 @@
#include <math.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/pcfunc.c b/misc/pascal/pascal/pcfunc.c
index cfa3700d2..4fc83d9bf 100644
--- a/misc/pascal/pascal/pcfunc.c
+++ b/misc/pascal/pascal/pcfunc.c
@@ -42,7 +42,7 @@
#include <math.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pfdefs.h"
diff --git a/misc/pascal/pascal/perr.c b/misc/pascal/pascal/perr.c
index 498917eb6..b09afd675 100644
--- a/misc/pascal/pascal/perr.c
+++ b/misc/pascal/pascal/perr.c
@@ -44,7 +44,7 @@
#include "config.h"
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "pedefs.h"
#include "pas.h"
diff --git a/misc/pascal/pascal/pexpr.c b/misc/pascal/pascal/pexpr.c
index 79cf69044..188eb67e8 100644
--- a/misc/pascal/pascal/pexpr.c
+++ b/misc/pascal/pascal/pexpr.c
@@ -42,7 +42,7 @@
#include <string.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h" /* general operation codes */
#include "pfdefs.h" /* floating point operations */
diff --git a/misc/pascal/pascal/pffunc.c b/misc/pascal/pascal/pffunc.c
index bd2418133..609944d19 100644
--- a/misc/pascal/pascal/pffunc.c
+++ b/misc/pascal/pascal/pffunc.c
@@ -41,7 +41,7 @@
#include <stdio.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pfdefs.h"
diff --git a/misc/pascal/pascal/pgen.c b/misc/pascal/pascal/pgen.c
index 78c81f801..afb49cf39 100644
--- a/misc/pascal/pascal/pgen.c
+++ b/misc/pascal/pascal/pgen.c
@@ -44,7 +44,7 @@
#include "config.h" /* Configuration */
#include "keywords.h" /* Standard types */
-#include "pdefs.h" /* Common types */
+#include "pasdefs.h" /* Common types */
#include "ptdefs.h" /* Token / symbol table definitions */
#include "podefs.h" /* Logical opcode definitions */
#include "pedefs.h" /* error code definitions */
diff --git a/misc/pascal/pascal/pprgm.c b/misc/pascal/pascal/pprgm.c
index 4acd116d6..d56ba7b09 100644
--- a/misc/pascal/pascal/pprgm.c
+++ b/misc/pascal/pascal/pprgm.c
@@ -45,7 +45,7 @@
#include <errno.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/pproc.c b/misc/pascal/pascal/pproc.c
index 9934b0b3b..fcba0cc86 100644
--- a/misc/pascal/pascal/pproc.c
+++ b/misc/pascal/pascal/pproc.c
@@ -42,7 +42,7 @@
#include <string.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/pstm.c b/misc/pascal/pascal/pstm.c
index b1b2fe887..ad6236839 100644
--- a/misc/pascal/pascal/pstm.c
+++ b/misc/pascal/pascal/pstm.c
@@ -41,7 +41,7 @@
#include <stdio.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/ptbl.c b/misc/pascal/pascal/ptbl.c
index da3db7f54..528c5482f 100644
--- a/misc/pascal/pascal/ptbl.c
+++ b/misc/pascal/pascal/ptbl.c
@@ -44,7 +44,7 @@
#include "config.h"
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/ptkn.c b/misc/pascal/pascal/ptkn.c
index e6be2bc09..bad5bac28 100644
--- a/misc/pascal/pascal/ptkn.c
+++ b/misc/pascal/pascal/ptkn.c
@@ -43,7 +43,7 @@
#include <ctype.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/pascal/punit.c b/misc/pascal/pascal/punit.c
index c86cc7b49..b24ba45c6 100644
--- a/misc/pascal/pascal/punit.c
+++ b/misc/pascal/pascal/punit.c
@@ -45,7 +45,7 @@
#include <errno.h>
#include "keywords.h"
-#include "pdefs.h"
+#include "pasdefs.h"
#include "ptdefs.h"
#include "podefs.h"
#include "pedefs.h"
diff --git a/misc/pascal/plink/Makefile b/misc/pascal/plink/Makefile
index 260639417..9b76aa6a0 100644
--- a/misc/pascal/plink/Makefile
+++ b/misc/pascal/plink/Makefile
@@ -47,11 +47,6 @@ BINDIR-$(CONFIG_INSN16) = $(PASCAL)/bin16
BINDIR-$(CONFIG_INSN32) = $(PASCAL)/bin32
#
-# Tools
-#
-CFLAGS += -I.
-
-#
# Objects and targets
#
PLINKSRCS = plink.c plsym.c plreloc.c