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.
- Host: GitHub
- URL: https://github.com/certseeds/cs323_compilers_2020f
- Owner: Certseeds
- License: mit
- Created: 2020-09-08T15:47:23.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-06-26T06:11:18.000Z (over 3 years ago)
- Last Synced: 2023-03-04T00:55:20.164Z (over 2 years ago)
- Topics: agpl-v3, bison-flex, compiler, compilers, cs323, flex, modern-cmake, sustech
- Language: C++
- Homepage: https://github.com/sqlab-sustech/CS323-Compilers-2020fall
- Size: 17.2 MB
- Stars: 11
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
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).