ack/lang/cem/cemcom.ansi/declar.str
carl 750a6bc684 Better ANSI C compatibility and portability:
+ Addition of function prototypes and include files.
+ Change function definitions to ANSI C style.
+ Initial support for CMake
+ Scripts to generate compiler header is now sed based.
2019-02-19 00:54:23 +08:00

47 lines
1.1 KiB
Plaintext

/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
#ifndef DECLAR_H_
#define DECLAR_H_
/* $Id$ */
/* DEFINITION OF DECLARATOR DESCRIPTORS */
/* A 'declarator' consists of an idf and a linked list of
language-defined unary operations: *, [] and (), called
decl_unary's.
*/
struct declarator {
/* struct declarator *next; */
struct idf *dc_idf;
struct decl_unary *dc_decl_unary;
struct formal *dc_formal; /* params for function */
};
struct formal { /* list of formals */
struct formal *next;
struct idf *fm_idf;
};
/* ALLOCDEF "formal" 5 */
#define NO_PARAMS ((struct formal *) 0)
struct decl_unary {
struct decl_unary *next;
int du_fund; /* POINTER, ARRAY or FUNCTION */
int du_typequal; /* CONST, VOLATILE, or 0 */
arith du_count; /* for ARRAYs only */
struct proto *du_proto; /* params for function or prototype */
};
/* ALLOCDEF "decl_unary" 10 */
extern struct type *declare_type();
extern struct declarator null_declarator;
#endif