47 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*  Copyright (c) 2019 ACK Project.
 | 
						|
 *  See the copyright notice in the ACK home directory, 
 | 
						|
 *  in the file "Copyright".
 | 
						|
 *
 | 
						|
 *  Created on: 2019-04-12
 | 
						|
 *  
 | 
						|
 */
 | 
						|
#ifndef SUBR_H_
 | 
						|
#define SUBR_H_
 | 
						|
 | 
						|
#include "data.h"
 | 
						|
#include "types.h"
 | 
						|
 | 
						|
int match(register token_p tp, register set_p tep, int optexp);
 | 
						|
void instance(int instno,register token_p token);
 | 
						|
void cinstance(int instno,register token_p token,
 | 
						|
		 register token_p tp,int regno);
 | 
						|
int eqtoken(token_p tp1,token_p tp2);
 | 
						|
int distance(int cindex);
 | 
						|
unsigned costcalc(cost_t cost);
 | 
						|
int ssize(int tokexpno);
 | 
						|
int tsize(register token_p tp);
 | 
						|
 | 
						|
#ifdef MAXSPLIT
 | 
						|
int instsize(int tinstno,token_p tp);
 | 
						|
#endif /* MAXSPLIT */
 | 
						|
 | 
						|
void tref(register token_p tp,int amount);
 | 
						|
 | 
						|
#ifdef MAXSPLIT
 | 
						|
int split(token_p tp,int *ip,int ply,int toplevel);
 | 
						|
#endif /* MAXSPLIT */
 | 
						|
 | 
						|
unsigned docoerc(token_p tp,c3_p cp,int ply,int toplevel,int forced);
 | 
						|
unsigned stackupto(token_p limit,int ply,int toplevel);
 | 
						|
c3_p findcoerc(token_p tp,set_p tep);
 | 
						|
void error(char *s, ...);
 | 
						|
void fatal(char *s, ...);
 | 
						|
 | 
						|
#ifndef NDEBUG
 | 
						|
void badassertion(char* asstr,char *file,int line);
 | 
						|
#endif
 | 
						|
 | 
						|
int max(int a,int b);
 | 
						|
 | 
						|
 | 
						|
#endif /* SUBR_H_ */
 |