Translates from IBTL to GForth.
danalbert / compiler Goto Github PK
View Code? Open in Web Editor NEWTranslates from IBTL to GForth.
Translates from IBTL to GForth.
We need to add floating point support for this milestone.
We'll need to support several symbol tables in order to properly implement scoped symbols. The simplest way to do this is to add a link to the next higher scoped symbol table with each symbol table and store a pointer to the top symbol table for processing.
1- is currently parsed as two tokens, 1 and -. This needs to be parsed as the single symbol token 1-.
We need some tests for the code generator. These should verify that the output of the compiler matches the expected gforth program.
The parser does not yet have any tests.
We need some sort of design documentation for the parsing algorithm. This will start with a grammar for the language, and may need more. Research will need to be done for the recursive descent parser.
The lexer does not yet have any tests.
We need a syntax tree structure before we can create the parser.
Need a code generator to translate the syntax tree to gforth.
The syntax tree does not yet have any tests.
The lexer seems to be doing two jobs: parsing the file, and recognizing and parsing tokens. We should probably split the token recognition and parsing off into a separate class that is called by the lexer.
We'll need to improve our functional tests to include verification of our parsing phase.
For this milestone, we're required to implement a recursive descent parser. The interface should be abstract enough that we can easily replace it with a faster parsing algorithm if we choose to optimize.
We need to develop some built in symbols (specifically arithmetic operations). The list of symbols we need to support can be found at the bottom of http://classes.engr.oregonstate.edu/eecs/winter2013/cs480/assignments/M4-ConstantOnly.htm
The symbol table isn't being filled. This needs to be done while parsing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.