2019-03-01 17:39:25 +00:00
|
|
|
/* Copyright (c) 2019 ACK Project.
|
|
|
|
* See the copyright notice in the ACK home directory,
|
|
|
|
* in the file "Copyright".
|
|
|
|
*
|
|
|
|
* Created on: 2019-02-25
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#ifndef CSTOPER_H_
|
|
|
|
#define CSTOPER_H_
|
|
|
|
|
|
|
|
/* Compile time constant evaluations */
|
|
|
|
|
|
|
|
|
2019-05-10 17:09:03 +00:00
|
|
|
void cstunary(struct node **expp);
|
|
|
|
void cstibin(struct node **expp);
|
|
|
|
void cstfbin(struct node **expp);
|
|
|
|
void cstubin(struct node **expp);
|
2019-03-01 17:39:25 +00:00
|
|
|
/** Evaluates the constant set operators at compile time
|
|
|
|
* and returns the result in "expp".
|
|
|
|
*/
|
2019-05-10 17:09:03 +00:00
|
|
|
void cstset(struct node **expp);
|
2019-03-01 17:39:25 +00:00
|
|
|
/* Evaluates the result of internal procedures on constants
|
|
|
|
* at compile time, and returns the result in "expp".
|
|
|
|
*/
|
2019-05-10 17:09:03 +00:00
|
|
|
void cstcall(struct node **expp, int call);
|
2019-03-01 17:39:25 +00:00
|
|
|
/* Compile time constant evaluator system initialization. */
|
|
|
|
void InitCst(void);
|
|
|
|
|
|
|
|
#endif /* CSTOPER_H_ */
|