Merge pull request #21 from UB-CSE443/Sprint2-Infrastructure-FE-t#30
Makefile updated t#30
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,3 +2,5 @@
|
||||
*.o
|
||||
alpha
|
||||
flex.h
|
||||
grammar.tab.c
|
||||
grammar.tab.h
|
16
Makefile
16
Makefile
@ -2,10 +2,9 @@ CC := gcc
|
||||
FLEX := flex
|
||||
LEX := lexicalStructure.lex
|
||||
EXE := alpha
|
||||
CFLAGS := -std=c99 -Wall
|
||||
CPPFLAGS :=
|
||||
CFLAGS :=
|
||||
|
||||
build: lex.yy.c runner.o runner
|
||||
compiler: lex.yy.c runner.o runner
|
||||
|
||||
lex.yy.c: lexicalStructure.lex
|
||||
$(FLEX) -o lex.yy.c $(LEX)
|
||||
@ -14,10 +13,13 @@ runner.o: runner.c runner.h flex.h
|
||||
$(CC) $(CFLAGS) -o runner.o -c runner.c
|
||||
|
||||
runner: lex.yy.c runner.o
|
||||
$(CC) -o $(EXE) runner.o lex.yy.c
|
||||
$(CC) $(CFLAGS) -o $(EXE) runner.o lex.yy.c
|
||||
|
||||
bison: grammar.y
|
||||
bison -d grammar.y
|
||||
|
||||
debug: CFLAGS += -DDEBUG=1
|
||||
debug: clean runner
|
||||
debug: clean compiler
|
||||
|
||||
test:
|
||||
./$(EXE) ./tests/test_comments.alpha
|
||||
@ -48,4 +50,6 @@ clean:
|
||||
rm -f $(EXE)
|
||||
rm -f flex.h
|
||||
rm -f *.tok
|
||||
rm -f *.st
|
||||
rm -f grammar.tab.c
|
||||
rm -f grammar.tab.h
|
||||
rm -f *.st
|
@ -1,43 +0,0 @@
|
||||
CC := gcc
|
||||
FLEX := flex
|
||||
LEX := lexicalStructure.lex
|
||||
EXE := runner
|
||||
CFLAGS := -std=c99 -Wall
|
||||
CPPFLAGS :=
|
||||
|
||||
runner: flex.o runner.o
|
||||
$(CC) -o runner runner.o flex.o
|
||||
|
||||
debug: CFLAGS += -DDEBUG=true
|
||||
debug: clean runner
|
||||
|
||||
runner.o: runner.c runner.h flex.h
|
||||
$(CC) $(CFLAGS) -o runner.o -c runner.c
|
||||
|
||||
flex.o: lex.yy.c typedefs.h
|
||||
$(CC) $(CFLAGS) -o flex.o -c lex.yy.c
|
||||
|
||||
lex.yy.c: lexicalStructure.lex
|
||||
$(FLEX) -o lex.yy.c $(LEX)
|
||||
|
||||
test:
|
||||
./$(EXE) ./tests/test_comments.alpha
|
||||
./$(EXE) ./tests/test_generalTokenTest.alpha
|
||||
./$(EXE) ./tests/test_keywords.alpha
|
||||
./$(EXE) ./tests/test_operators.alpha
|
||||
./$(EXE) ./tests/test_otherpunc.alpha
|
||||
./$(EXE) ./tests/test_simpleIntTest.alpha
|
||||
./$(EXE) ./tests/test_simpleLiterals.alpha
|
||||
./$(EXE) -tok ./tests/test_comments.alpha
|
||||
./$(EXE) -tok ./tests/test_generalTokenTest.alpha
|
||||
./$(EXE) -tok ./tests/test_keywords.alpha
|
||||
./$(EXE) -tok ./tests/test_operators.alpha
|
||||
./$(EXE) -tok ./tests/test_otherpunc.alpha
|
||||
./$(EXE) -tok ./tests/test_simpleIntTest.alpha
|
||||
./$(EXE) -tok ./tests/test_simpleLiterals.alpha
|
||||
clean:
|
||||
rm -f *.o
|
||||
rm -f lex.yy.c
|
||||
rm -f $(EXE)
|
||||
rm -f flex.h
|
||||
rm -f *.tok
|
17
README.MD
Normal file
17
README.MD
Normal file
@ -0,0 +1,17 @@
|
||||
# The Translators α Compiler
|
||||
#### Members: Annie Slenker, Meyer Simon, Partho Bhattacharya, & Scarlett Kadan
|
||||
|
||||
## Lexical Analyzer
|
||||
* **Undefined Behavior:**
|
||||
* Spaces are not required between tokens. For instance, an INTEGER and an ID are valid even if there is no space between them
|
||||
```
|
||||
Input: *5variable*
|
||||
Output: 2 14 301 "5"
|
||||
1 1 101 "variable"
|
||||
```
|
||||
|
||||
## Syntax Analyzer
|
||||
* *Incomplete*
|
||||
|
||||
## Symbol Table
|
||||
* *TODO: Create diagram.*
|
11
grammar.y
11
grammar.y
@ -1,3 +1,11 @@
|
||||
/* Syntax Analyzer with Bison (3.8.1) */
|
||||
/* (referenced Bison manual for file boilerplate [3.1]) */
|
||||
|
||||
// Prologue
|
||||
%{
|
||||
#include <stdio.h>
|
||||
%}
|
||||
|
||||
%token ID 101
|
||||
%token T_INTEGER 201
|
||||
%token T_ADDRESS 202
|
||||
@ -44,3 +52,6 @@
|
||||
%token RESERVE 613
|
||||
%token RELEASE 614
|
||||
%token COMMENT 700
|
||||
%%
|
||||
|
||||
%%
|
||||
|
Reference in New Issue
Block a user