OpenCores
URL https://opencores.org/ocsvn/jtag_stapl_player/jtag_stapl_player/trunk

Subversion Repositories jtag_stapl_player

[/] [jtag_stapl_player/] [trunk/] [jamsym.h] - Rev 2

Compare with Previous | Blame | View Log

/****************************************************************************/
/*																			*/
/*	Module:			jamsym.h												*/
/*																			*/
/*					Copyright (C) Altera Corporation 1997					*/
/*																			*/
/*	Description:	Prototypes for symbol-table management functions		*/
/*																			*/
/*	Revisions:		1.1	added jam_free_symbol_table()						*/
/*																			*/
/****************************************************************************/
 
/****************************************************************************/
/*																			*/
/*	Actel version 1.1             May 2003									*/
/*																			*/
/****************************************************************************/
 
#ifndef INC_JAMSYM_H
#define INC_JAMSYM_H
 
/****************************************************************************/
/*																			*/
/*	Type definitions														*/
/*																			*/
/****************************************************************************/
 
/* types of symbolic names */
typedef enum
{
	JAM_ILLEGAL_SYMBOL_TYPE = 0,
	JAM_LABEL,
	JAM_INTEGER_SYMBOL,
	JAM_BOOLEAN_SYMBOL,
	JAM_INTEGER_ARRAY_WRITABLE,
	JAM_BOOLEAN_ARRAY_WRITABLE,
	JAM_INTEGER_ARRAY_INITIALIZED,
	JAM_BOOLEAN_ARRAY_INITIALIZED,
	JAM_DATA_BLOCK,
	JAM_PROCEDURE_BLOCK,
	JAM_SYMBOL_MAX
 
} JAME_SYMBOL_TYPE;
 
/* symbol record structure */
typedef struct JAMS_SYMBOL_STRUCT
{
	char name[JAMC_MAX_NAME_LENGTH + 1];
	JAME_SYMBOL_TYPE type;
	long value;
	long position;
	struct JAMS_SYMBOL_STRUCT *parent;
	struct JAMS_SYMBOL_STRUCT *next;
 
} JAMS_SYMBOL_RECORD;
 
/****************************************************************************/
/*																			*/
/*	Global variables														*/
/*																			*/
/****************************************************************************/
 
extern JAMS_SYMBOL_RECORD **jam_symbol_table;
 
extern void *jam_symbol_bottom;
 
extern JAMS_SYMBOL_RECORD *jam_current_block;
 
extern int jam_version;
 
/****************************************************************************/
/*																			*/
/*	Function prototypes														*/
/*																			*/
/****************************************************************************/
 
JAM_RETURN_TYPE jam_init_symbol_table
(
	void
);
 
void jam_free_symbol_table
(
	void
);
 
JAM_RETURN_TYPE jam_add_symbol
(
	JAME_SYMBOL_TYPE type,
	char *name,
	long value,
	long position
);
 
JAM_RETURN_TYPE jam_get_symbol_value
(
	JAME_SYMBOL_TYPE type,
	char *name,
	long *value
);
 
JAM_RETURN_TYPE jam_set_symbol_value
(
	JAME_SYMBOL_TYPE type,
	char *name,
	long value
);
 
JAM_RETURN_TYPE jam_get_symbol_record
(
	char *name,
	JAMS_SYMBOL_RECORD **symbol_record
);
 
#endif /* INC_JAMSYM_H */
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.