Purple  0.1
Standard Language Specification
function.h
Go to the documentation of this file.
1
8#ifndef FUNCTION_H
9#define FUNCTION_H
10
11#include "scan.h"
12
16typedef struct FunctionParameter {
20 // TODO : fix this MAX_IDENTIFIER_LENGTH drop-in
21 char parameter_name[256];
23
27typedef struct Function {
33 unsigned long long int num_parameters;
35
39#define FUNCTION_FROM_OUT_IN(output_type, input_list, num_inputs) \
40 (Function) \
41 { \
42 .return_type = output_type, .parameters = input_list, .num_parameters = num_inputs \
43 }
44
45#endif /* FUNCTION_H */
struct Function Function
Container for function information.
struct FunctionParameter FunctionParameter
Container for function parameter information.
Lexical Scanner function headers.
TokenType
Types of scannable tokens.
Definition: scan.h:20
Container for function parameter information.
Definition: function.h:16
TokenType parameter_type
Definition: function.h:18
char parameter_name[256]
Definition: function.h:21
Container for function information.
Definition: function.h:27
FunctionParameter * parameters
Definition: function.h:31
unsigned long long int num_parameters
Definition: function.h:33
TokenType return_type
Definition: function.h:29