aboutsummaryrefslogtreecommitdiff
path: root/src/compiler/source_code/source_code.h
blob: 7e5b42d19011f37e647ea2562ad2f1e2721b6e69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

#include <stdio.h>

typedef struct Code {
  char *filePath;
  char *code;
} Code;

typedef struct SourceCode {
  Code **codes;
  size_t size;
} SourceCode;

extern Code makeCode(char *filePath, char *code);

extern SourceCode makeSourceCode();
extern SourceCode *newSourceCode();

extern void pushToSourceCode(SourceCode *sourceCode,Code *code);

extern void deleteSourceCodeInners(SourceCode sourceCode);
extern void deleteSourceCode(SourceCode *sourceCode);
extern void deleteCode(Code *code);