-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlang_compile.h
More file actions
51 lines (41 loc) · 1.55 KB
/
lang_compile.h
File metadata and controls
51 lines (41 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef LANG_COMPILE_H
#define LANG_COMPILE_H
#define LANG_LANGUAGES_FOLDER "languages//"
#define LANG_SYNTAX_FOLDER "1-Syntax//"
#define LANG_DEFINITION_FOLDER "2-Definition//"
#define LANG_TRANSLATION_FOLDER "3-Translation//"
#define LANG_LANGUAGE_FOLDER "4-Language//"
#define LANG_UTILS_FOLDER "utils//"
#define LANG_OPTIMIZATIONS_FOLDER "Optimizations//"
#define LANG_SYNTAX_TREES_FOLDER "trees//"
#define LANG_DEFINITION_CODES_FOLDER "codes//"
#define LANG_DEFINITION_GENERATED_FOLDER "generated//"
#define LANG_TRANSLATION_CODE_GROUPS_FOLDER "code_groups//"
#define LANG_SYNTAX_STATE_CODES_FOLDER "state_codes//"
#define LANG_SYNTAX_PATH LANG_LANGUAGES_FOLDER LANG_SYNTAX_FOLDER
#define LANG_DEFINITION_PATH LANG_LANGUAGES_FOLDER LANG_DEFINITION_FOLDER
#define LANG_TRANSLATION_PATH LANG_LANGUAGES_FOLDER LANG_TRANSLATION_FOLDER
#define LANG_LANGUAGE_PATH LANG_LANGUAGES_FOLDER LANG_LANGUAGE_FOLDER
#define LANG_PATH_SEPARATOR '.'
#define LANG_STANDALONE "standalones"
#define LANG_MERGES "merges"
#define LANG_ORDER "order"
// This should not be redefined.
// However, just in case there is one case
// that needs another compilation step, I'll
// semi-hardcode it here.
#ifndef LANG_GEN_RENAME_FROM
#define LANG_GEN_RENAME_FROM \
{LANG_SYNTAX_PATH "%s.json"}, \
{LANG_DEFINITION_PATH "%s.json"}
#endif
#ifndef LANG_GEN_RENAME_TO
#define LANG_GEN_RENAME_TO \
{LANG_TRANSLATION_PATH "%s.json"}, \
{LANG_LANGUAGE_PATH "%s.json"}
#endif
#ifndef LANG_GEN_RENAME_OTHER
#define LANG_GEN_RENAME_OTHER {}
#endif
#define max_flag(size) (pow(2,(size-1))-1)
#endif