-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCompilers.h
More file actions
120 lines (104 loc) · 3.81 KB
/
Compilers.h
File metadata and controls
120 lines (104 loc) · 3.81 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*
************************************************************
* COMPILERS COURSE - Algonquin College
* Code version: Summer, 2024
* Author: TO_DO
* Professors: Paulo Sousa
************************************************************
#
# ECHO "=---------------------------------------="
# ECHO "| COMPILERS - ALGONQUIN COLLEGE (S24) |"
# ECHO "=---------------------------------------="
# ECHO " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ”
# ECHO " @@ @@ ”
# ECHO " @@ %&@@@@@@@@@@@ @@ ”
# ECHO " @@ @%% (@@@@@@@@@ @ @@ ”
# ECHO " @@ @& @ @ @ @ @@ ”
# ECHO " @@ @ @ % / / @@@@@@ @@ ”
# ECHO " @@ & @ @ @@ @@ ”
# ECHO " @@ @/ @*@ @ @ @ @@ ”
# ECHO " @@ @@@@ @@ @ @ @@ ”
# ECHO " @@ /@@ @@@ @ @@ ”
# ECHO " @@ @ / / @@ @ @@ ”
# ECHO " @@ @ @@ /@/ @@@ @ @@ ”
# ECHO " @@ @@@@@@@@@@@@@@@ @@ ”
# ECHO " @@ @@ ”
# ECHO " @@ S O F I A @@ ”
# ECHO " @@ @@ ”
# ECHO " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ”
# ECHO " "
# ECHO "[READER SCRIPT .........................]"
# ECHO " "
*/
/*
************************************************************
* File name: Compilers.h
* Compiler: MS Visual Studio 2022
* Course: CST 8152 – Compilers, Lab Section: [011, 012]
* Assignment: A12, A22, A32.
* Date: May 01 2024
* Professor: Paulo Sousa
* Purpose: This file defines the functions called by main function.
* Function list: mainReader(), mainScanner(), mainParser().
*************************************************************/
#ifndef COMPILERS_H_
#define COMPILERS_H_
#define DEBUG 0
/*
* ............................................................................
* ADVICE 1:
* Please check the "TODO" labels to develop your activity.
*
* ADVICE 2: This file must be updated according to each assignment
* (see the progression: reader > scanner > parser).
* ............................................................................
*/
/* TO_DO: Adjust your language (cannot be "Sofia") */
/* Language name */
#define STR_LANGNAME "Sofia"
/* Logical constants - adapt for your language */
#define TRUE 1
#define FALSE 0
/*
------------------------------------------------------------
Data types definitions
NOTE: Some types may not be directly used by your language,
but they can be necessary for conversions.
------------------------------------------------------------
*/
/* TO_DO: Define your typedefs */
typedef char mobile_char;
typedef char* mobile_string;
typedef int mobile_intg;
typedef float mobile_real;
typedef void mobile_void;
typedef unsigned char mobile_boln;
typedef unsigned char mobile_byte;
typedef long mobile_long;
typedef double mobile_doub;
/*
------------------------------------------------------------
Programs:
1: Reader - invokes MainReader code
2: Scanner - invokes MainScanner code
3: Parser - invokes MainParser code
------------------------------------------------------------
*/
enum PROGRAMS {
PGM_READER = 'r',
PGM_SCANNER = 's',
PGM_PARSER = 'p'
};
/*
------------------------------------------------------------
Main functions signatures
(Code will be updated during next assignments)
------------------------------------------------------------
*/
mobile_intg mainReader(mobile_intg argc, mobile_string* argv);
mobile_intg main(mobile_intg argc, mobile_string* argv);
/*
TO_DO: Include later mainScaner (A22) and mainParser (A32)
*/
mobile_void printLogo();
#endif