/home/doxygen/libascend/compiler/commands.h

Go to the documentation of this file.
00001 /*
00002  *  Routines to Describe Interface Commands
00003  *  by Tom Epperly
00004  *  Version: $Revision: 1.7 $
00005  *  Version control file: $RCSfile: commands.h,v $
00006  *  Date last modified: $Date: 1997/07/29 18:29:27 $
00007  *  Last modified by: $Author: mthomas $
00008  *
00009  *  This file is part of the Ascend Language Interpreter.
00010  *
00011  *  Copyright (C) 1990, 1993, 1994 Thomas Guthrie Epperly
00012  *
00013  *  The Ascend Language Interpreter is free software; you can redistribute
00014  *  it and/or modify it under the terms of the GNU General Public License as
00015  *  published by the Free Software Foundation; either version 2 of the
00016  *  License, or (at your option) any later version.
00017  *
00018  *  The Ascend Language Interpreter is distributed in hope that it will be
00019  *  useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  *  General Public License for more details.
00022  *
00023  *  You should have received a copy of the GNU General Public License
00024  *  along with the program; if not, write to the Free Software Foundation,
00025  *  Inc., 675 Mass Ave, Cambridge, MA 02139 USA.  Check the file named
00026  *  COPYING.
00027  */
00028 
00037 #ifndef __commands_h_seen__
00038 #define __commands_h_seen__
00039 
00041 enum arg_type {
00042   instance_arg,
00043   definition_arg,
00044   id_arg,
00045   shell_arg   
00046 };
00047 
00048 #define MAX_COMMAND_ARGS 4
00049 
00051 extern void InitializeCommands(void);
00060 extern void DestroyCommands(void);
00063 typedef void (*InterfaceCommandF) (void);
00066 extern void AddCommand(int dummy, ...);
00079 extern unsigned long NumberCommands(void);
00082 extern CONST char *CommandName(unsigned long cmd_number);
00089 extern CONST char *CommandHelp(unsigned long cmd_number);
00096 extern void CommandFunc(unsigned long int cmd_number, InterfaceCommandF *func);
00104 extern int CommandTerminate(unsigned long cmd_number);
00111 extern int CommandNumArgs(unsigned long cmd_number);
00118 extern enum arg_type CommandArgument(unsigned long cmd_number, int n);
00125 extern void CommandArgsPrint(FILE *fp, unsigned long int cmd_number);
00132 extern void LimitCommand(unsigned long *lower,
00133                          unsigned long *upper,
00134                          CONST char *str,
00135                          int place);
00144 extern void CompleteCommand(unsigned long lower,
00145                             unsigned long upper,
00146                             char *str,
00147                             int *place);
00153 extern unsigned long FindCommand(CONST char *string);
00159 #endif  /* __commands_h_seen__ */
00160 

Generated on Thu Jul 17 04:00:10 2008 for libascend by  doxygen 1.5.1