Purple  0.1
Standard Language Specification
function.h
Go to the documentation of this file.
1
8#ifndef FUNCTION
9#define FUNCTION
10
11#include "scan.h"
12
16typedef struct FunctionParameter {
22
26typedef struct Function {
32 unsigned long long int num_parameters;
34
38#define FUNCTION_FROM_OUT_IN(output_type, input_list, num_inputs) \
39 (Function) \
40 { \
41 .return_type = output_type, .parameters = input_list, .num_parameters = num_inputs \
42 }
43
44#endif /* FUNCTION */
struct Function Function
Container for function information.
struct FunctionParameter FunctionParameter
Container for function parameter information.
#define MAX_IDENTIFIER_LENGTH
Definition: identifier.h:12
Lexical Scanner function headers.
TokenType
Types of scannable tokens.
Definition: scan.h:20
Container for function parameter information.
Definition: function.h:16
Number parameter_type
Definition: function.h:18
char parameter_name[MAX_IDENTIFIER_LENGTH]
Definition: function.h:20
Container for function information.
Definition: function.h:26
FunctionParameter * parameters
Definition: function.h:30
unsigned long long int num_parameters
Definition: function.h:32
TokenType return_type
Definition: function.h:28
Container for various kinds of number data.
Definition: number.h:56