aboutsummaryrefslogtreecommitdiffstats
path: root/Notes.org
blob: 58cd47bf5f8e5b162f8da26c0ac3e3b648361415 (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
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
#+TITLE: Notes
#+DATE: <2017-02-20 Mon>
#+AUTHOR: Yann Herklotz
#+EMAIL: ymherklotz@gmail.com
#+DESCRIPTION: These are notes about the Compiler project.

* Lexer

** DONE Lab (calculate statistics over text)
   DEADLINE: <2017-01-31 Tue>

*** Task

    We had to calculate statistics over text. This was to learn about 
    flex and how to use it.


** DONE Coursework (c lexer)
   DEADLINE: <2017-02-07 Tue>

*** Task

    Design a C lexer that could lex C and output the important information 
    about the C code. This made us read the C spec for the first time.


* Parser

** DONE Lab (parse maths)
   DEADLINE: <2017-02-14 Tue>

*** Task

    We had to design a maths parser and then analyse the tree that was 
    created by parsing it. The additional parts where to differentiate 
    equations using the different rules for differentiating. We also had to 
    evaluate the expressions and do other operations on the tree. This taught 
    us how to use bison.


** TODO Coursework (c parser)
   DEADLINE: <2017-03-07 Tue>

*** Task

*** AST (Abstract Syntax Tree)
    
    Finsihed the AST for now, using polymorphism to achieve this. Right now i
    t achieves the goal of this coursework as it does print out the AST in xml 
    format and supports all the features that the parser should support. The 
    expressions branch of the AST is completely bare because they are not needed 
    for this parser. I will continue working on this AST in the compiler section 
    so that it supports all the other constructs that I need for the compiler.

*** Grammar

    The grammar is not completely done yet as I dont support all of the declartions 
    that are possible, and as I add more constructs in the AST I will also have to add 
    declarations in the bison file. This I will only continue in the Compiler section.


* Compiler

** DONE Lab (codegen)
   DEADLINE: <2017-02-28 Tue>

*** Task

    In this lab we used the setup provided to us to make a compiler for the language
    specified in the lab. The AST was already built for us and the language was already
    parsed using C++ instead of bison.


** TODO Coursework (c compiler)
   DEADLINE: <2017-03-28 Tue>