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

https://github.com/victoriaraven/compiler-design-java-gui-version

Java version of the Compiler Theory and Design class in UMGC. It was in C language now I turned it into Java for fun.
https://github.com/victoriaraven/compiler-design-java-gui-version

compiler-design compiler-principles compiler-theory java

Last synced: 30 days ago
JSON representation

Java version of the Compiler Theory and Design class in UMGC. It was in C language now I turned it into Java for fun.

Awesome Lists containing this project

README

        

# Compiler-Theory-Design-Java-version
## Copyright Usage and License

Regarding Copyright laws by GitHub it states that a public repository without a license means that if you want to use my code you must fork my repository as I retain all proprietary rights.

Links:
- [GitHub Copyright and Licenses](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)
- [GitHub Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service)

## Information

NOTE: THERE ARE SOME ERRORS AND I WILL UPDATE LATER ON TO FIX THE PROJECT AND MAKE IT WORK. This project uses the Compiler Theory and Design Course to help me comprehend how programming languages are built, covering their structure (syntax) and meaning (semantics). Students learn to create programs that automatically generate other programs, focusing on parsing techniques like LL and LR, and optimizing code. The curriculum involves practical projects where students implement parts of a compiler. As a side project for fun, I also took a C version of this concept (which is what I had to turn in during class) and rewrote it in Java as a side project. Under the copyright and policies of intellectual property for UMGC, I will only upload items that do not have an answer key. For this case, it is my project that I modifed it into java instead of using the c version which would be basically sharing the anwer key if I uploaded the c version. Read all comments in the code.

### Textbooks
- P. J. Deitel and H. Deitel, *Java How to Program (Early Objects), 10th ed.*, Pearson, 2015. [Online Textbook Available](https://learning.oreilly.com/library/view/javatm-how-to/9780133813036/). [Accessed: n.d.]
- Y. D. Liang, *Introduction to Java Programming and Data Structures, 13th ed.*, Pearson, May 23, 2023. [Online Textbook Available](https://www.pearson.com/en-us/subject-catalog/p/introduction-to-java-programming-and-data-structures/P200000010690/9780138092832). [Accessed: n.d.]
- Erickson, J., *Algorithms*, University of Illinois at Urbana-Champaign, n.d. [Online Textbook Available](https://jeffe.cs.illinois.edu/teaching/algorithms/)
- J. Kleinberg and É. Tardos, *Algorithm Design*, Pearson Education, 2006.
- E. Lehman, F. T. Leighton, and A. R. Meyer, *Mathematics for Computer Science*, LibreTexts, MIT, and UC Davis, 2021.
- D. Mount, *Algorithms [Lectures CMSC 251]*, UMGC.
- J. Nievergelt, *Algorithms and Data Structures*, University of Maryland Global Campus.
- K. Sierra and B. Bates, *Head First Java* (1st ed.), O'Reilly Media, 2005.
- J. Solomon, *Numerical Algorithms*, MIT, 2015.

### Contact

Feel free to pm me (VictoriaRaven) if you want to use my code under a specific license and without needing to fork my repository.

## Contributing

Please read [CONTRIBUTING.md](README.md) for details on our code
of conduct, and the process for submitting pull requests to me.

## Authors

- **Victoria Lee** - *provided by the README* -
[VictoriaRaven](https://github.com/VictoriaRaven)

See also the list of
[contributors](https://github.com/VictoriaRaven/Legal-Studies-IRAC-Python-Generator/main/README.md)
who participated in this project.

## Acknowledgments

- [Google Scholar](https://scholar.google.com/)
- [Java Doc](https://docs.oracle.com/javase/8/javase-books.htm)
- [Wikipedia](https://www.wikipedia.org/)
- [GeeksforGeeks: Time Complexity](https://www.geeksforgeeks.org/time-complexities-of-all-sorting-algorithms/)
- [GeeksforGeeks: Big-O](https://www.geeksforgeeks.org/analysis-algorithms-big-o-analysis/)
- [Big-O Chart: Eric](https://www.bigocheatsheet.com/)
- [UMGC Library](https://libguides.umgc.edu/home)
- [UMGC CS Resources](https://libguides.umgc.edu/c.php?g=316603&p=2114865)
- [UMGC Peer to Peer File Sharing](https://www.umgc.edu/content/dam/umgc/documents/upload/peer-to-peer-file-sharing.pdf)
- [UMGC Copyright and Fair Use](https://libguides.umgc.edu/copyright#s-lg-box-26283861)
- [UMGC Creative Commons](https://libguides.umgc.edu/c.php?g=23404&p=7944948)
- [UMGC CS Resources](https://libguides.umgc.edu/c.php?g=316603&p=2114865)
- Thank you!
- VictoriaRaven