An open API service indexing awesome lists of open source software.

https://github.com/certseeds/cs323_compilers_2020f

SUSTech's CS323-Compilers in 2020-Fall.
https://github.com/certseeds/cs323_compilers_2020f

agpl-v3 bison-flex compiler compilers cs323 flex modern-cmake sustech

Last synced: 8 months ago
JSON representation

SUSTech's CS323-Compilers in 2020-Fall.

Awesome Lists containing this project

README

          

# CS323_Compilers_2020F

Coursework of SUSTech CS323_Compilers_2020F (2020fall)

## Lab Schedule

| | Date | Description | Highlight |
| :---: | ------- | ------------------------------ | -------------------------------------- |
| Lab1 | Sept.8 | C language tutorial | Project 1 release (due: Oct.11) |
| Lab2 | Sept.15 | Flex tutorial | |
| Lab3 | Sept.22 | Bison tutorial | Check the "project1-output_format.pdf" |
| Lab4 | Sept.29 | Error recovery in Bison | |
| - | Oct.6 | - | National Day & Golden week |
| Lab5 | Oct.13 | Maintaining symbol table | Project 2 release (due: Nov.15) |
| Lab6 | Oct.20 | **LR parsing** & Type checking | |
| Lab7 | Oct.27 | Scope checking | |
| Lab8 | Nov.3 | JSON key checker | There is a *quiz* in the lab! |
| Lab9 | Nov.10 | | |
| Lab10 | Nov.17 | | Project 3 release (due: Dec.27) |
| Lab11 | Nov.24 | | |
| Lab12 | Dec.1 | Binary exploitation on Linux | |
| Lab13 | Dec.8 | | Project4 release (due: Jan.8, 2021) |
| Lab14 | Dec.15 | | |

+ The bold contents are theoretical sessions

---

## Useful Resources

+ C language Basics
+ C language tutorial (Simple): [Learn C - Free Interactive C Tutorial](https://www.learn-c.org/)
+ C language tutorial (Detail): [Short C Tutorial](http://www.stat.cmu.edu/~brian/cprog.html)
+ Makefile tutorial: [A Simple Makefile Tutorial](https://cs.colby.edu/maxwell/courses/tutorials/maketutor/)

+ Data Structures
+ Data structure and algorithms tutorial series: [Linked List](https://www.tutorialspoint.com/data_structures_algorithms/linked_list_algorithms.htm)
+ Data structure and algorithms tutorial series: [Binary Search Tree](https://www.tutorialspoint.com/data_structures_algorithms/binary_search_tree.htm)
+ Data structure and algorithms tutorial series: [Hash Table](https://www.tutorialspoint.com/data_structures_algorithms/hash_data_structure.htm)
+ Hash function algorithms: [node-hashes](https://github.com/liushoukai/node-hashes)

+ Flex/Bison Metacompiler
+ Their predecessors: [The LEX & YACC Page](http://dinosaur.compilertools.net/)
+ Introduction: [Flex and Bison](https://aquamentus.com/flex_bison.html)

+ Regular Expression
+ Testing regex: [Online regex tester and debugger](https://regex101.com/)
+ Visualizing regex: [Regulex: JavaScript Regular Expression Visualizer](https://jex.im/regulex/)

+ JSON Related
+ Introduction of JSON format: [json.org](https://www.json.org/)
+ The JSON standard: [RFC4627](https://tools.ietf.org/html/rfc4627)
+ Parsing malformed JSON: [A Dirty JSON Parser](https://rmarcus.info/blog/2014/10/05/dirty-json-parser.html)

## License

All code that commit by github user certseeds, or named nanoseeds, is based on AGPL3.0(or any later version).

Any other files create or commit signed by certseeds or named nanoseeds, is based on CC-BY-NC-SA-4.0(or any later version).