GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1/**************************************************************************23al2.h4Colin Ramsay ([email protected])525 Feb 0067ADVANCED COSET ENUMERATOR, Version 3.00189Copyright 200010Centre for Discrete Mathematics and Computing,11Department of Mathematics and12Department of Computer Science & Electrical Engineering,13The University of Queensland, QLD 4072.14(http://staff.itee.uq.edu.au/havas)1516This is the header file for Level 2 of ACE; that is, a demonstration17application in the form of a stand alone, interactive interface.1819**************************************************************************/2021#include "al1.h"2223#include <setjmp.h> /* Needed for setjmp/longjmp jmp_buf type */2425extern jmp_buf env; /* Environment for error-recovery jump */2627/******************************************************************28To ensure that any index reported by the enumerator is correct, we29must take care that we do not call al0_enum() in an invalid mode.30If the okstart (okcont, okredo) flag is set, then it is permissible31to call Level 1/0 in start (continue, redo) mode; although other32things may have to be checked as well. Actions of the parser are33monitored, and will set/clear the appropriate flags. All three34flags start out FALSE (remember, P^3)!35******************************************************************/3637extern Logic okstart, okcont, okredo;3839/******************************************************************40In order that we do not do anything `silly' during postprocessing,41we maintain various status regarding the current state of the42table. lresult is the result of the last call to al1_start(). If43tabindex is T, then we have a (valid) index. If tabinfo is T, then44the table contains valid information; in particular, the SG phase45has been successfully completed.46******************************************************************/4748extern Logic tabinfo, tabindex;49extern int lresult;5051/******************************************************************52echo defaults to FALSE, and should be left that way for interactive53use. If output is redirected to a file, we might want to set this54so that the commands are also logged. If skipnl is set, then '\n'55is treated as whitespace (eg, as part of a multiline relator list).56currip is the current input character, currkey is the current57command (ie, keyword), and currname is the current name (ie, string58argument). currword is the word (group relator/subgroup generator)59currently being processed, and currsiz is the size of the array60allocated to currword (_not_ the size of the stored word). currexp61is the (most recent) exponent explicitly entered for currword (for62tracking involutions).63******************************************************************/6465extern Logic echo, skipnl;66extern int currip;67extern char currkey[64], currname[128];68extern int *currword, currsiz, currexp;6970/******************************************************************71Various parameters to Level 2 are lists of integers. We store them72& their number in these.73******************************************************************/7475extern int intcnt, intarr[32];7677/******************************************************************78Externally visible functions defined in util2.c79******************************************************************/8081void al2_init(void);82char *al2_strdup(char*);83int al2_outlen(int);84void al2_continue(char*);85#ifdef __GNUC__86void al2_restart(char*) __attribute__ ((noreturn));87#else88void al2_restart(char*);89#endif90void al2_abort(char*);9192void al2_aip(char*);93void al2_aop(char*);9495void al2_dump(Logic);96void al2_opt(void);97void al2_help(void);9899void al2_nextip(void);100void al2_skipws(void);101void al2_nextnw(void);102103/******************************************************************104Externally visible functions defined in parser.c105******************************************************************/106107void al2_cmdloop(void);108109/******************************************************************110Externally visible functions defined in postproc.c111******************************************************************/112113void al2_oo(int);114void al2_sc(int);115void al2_cycles(void);116void al2_normcl(Logic);117void al2_cc(int);118void al2_rc(int,int);119void al2_dw(Wlist*);120void al2_rep(int, int);121void al2_aep(int);122123124125