Basic Compiler Studies
Jump to navigation
Jump to search
Basic Compiler Studies
Introduction
- add something here
Phase I
The Task
- Simple put this way: Fry a few brain cells by studying something that might be by most people's thinking to be too hard to learn.
- Learn it anyway by breaking the 'task' in to smaller steps.
- So the first task is to learn how to parse a command line and do a simple calculator!
The Runtime Details
The Tools
- EASy68K — Editor/Assembler/Simulator for the 68000
- Host computer — VPS running FreeBSD 13.2
- FreePascal compiler — (this replace the Turbo-Pascal compiler from book)
- List Item
- List Item
- Optional: Turbo Pascal running in a DOS box.
The Books
- Dragon Book by Alfred V Aho : Compilers Principles, Techniques, and Tools (2nd Edition)
- Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages (Pragmatic Programmers) 1st Edition
- List Item
- List Item
- List Item
Other Docs
- "Let's build a COMPILER!" by Jack W. Crenshaw, Ph.D. — (link)
- List Item
- List Item
- List Item
- MarkeyJester's Motorola 68000 Beginner Tutorial — (link)
- Online book about 68000 : (link)
Miscellaneous
- Desk calculator — dc (computer program)
- Basic calculator — (Examples) : How to Use GNU bc in Linux.
- Calc — An arbitrary precision calculator : by David I. Bell, Landon Curt Noll and others.
- List Item
- List Item
- The Free 15C RPN Scientific Calculator
Summary
- This will answer what I really learned.
Phase I (supplemental)
- Short list of goals:
- Never try to replace: FreeBASIC (fbc) or FreePascal (fpc)
- Priority of coding : a. works; b: readable; c: not to big/bloated; d: sort of fast (in that order)
- Port my calculator code and and then a Tiny Pascal compiler (front end) and an assembly source back-end.
- What the "backend" is defined as is:
- NASM code for (amd86/x86_64)
- GNU asm (as) for ARM,
- RiscV,
- Motorola 68000,
- Atmel-8bit,
- Raspberry Pi,
- ..... etc : TI-430 (unknown), Z80 (unknown)?
- Seriously try to make 6 month progress, with documentation showing each months progress going though the online docs (that I have already found)
- Break these tasks in to 5 well defined steps (with defined objective in each phase)
Phase II
The Task
- add something here
The Runtime Details
The Tools
- List Item
- List Item
- List Item
The Books
- List Item
Other Docs
- List Item
Miscellaneous
- add something here
Summary
- add something here
Phase III
- I, Digital Dave, of being sound mind and body, do hereby pledge to commit to studying interpreters and compilers starting today and get to a point where I know 100% how they work!
- Signature: DB
- Date: 17 November 2023
The Task
- add something here
The Runtime Details
The Tools
The Books
- Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages (Pragmatic Programmers) 1st Edition
- Writing Compilers and Interpreters: A Software Engineering Approach 3rd Edition
- Andrew W. Appel : Modern Compiler Implementation in Java 2nd Edition
- Modern Compiler Design 2nd ed. 2012 Edition
- Dragon Book by Alfred V Aho : Compilers Principles, Techniques, and Tools (2nd Edition)
Other Docs
- Let's Build A Simple Interpreter.
- Part 1: ...
- Part 2: ...
- Part 3: ...
- Part 4: ...
- Part 5: ...
- Part 6: ...
- Part 7: Abstract Syntax Trees
Miscellaneous
- add something here
Summary
- add something here