This project must be developed in teams of up to three members. Using C#, you must implement the different compiler phases for the Griffin programming language. Each phase will be evaluated using the following grading criteria:
Concept | % |
---|---|
Phase implementation | 80% |
Version control usage | 20% |
Each team member must create a Bitbucket account. The team leader must create a new repository for the project with these characteristics:
Afterwards, the team leader must send invitations to the other team members (and also to ariel.ortiz@itesm.mx) so that they can all join the repo.
Read the Bitbucket 101 tutorial in order to learn how to get started with Bitbucket using Git. Also, you are strongly advised to read chapters 1, 2 and 3 from the “Pro Git” book.
All team members are expected to clone the Git repository and to commit and push frequently all code contributions.
Source file | Description | Date added |
---|---|---|
hello.griffin | Prints "Hello World!" in the screen. | 27-Aug-2014 |
palindrome.griffin | Determines if a string is a palindrome. | 27-Aug-2014 |
variables.griffin | Using variables and constants with different scopes. | 17-Sep-2014 |
binary.griffin | Converts numbers into binary. | 17-Sep-2014 |
factorial.griffin | Computes factorials using iteration and recursion. | 01-Oct-2014 |
lists.griffin | Implementation of typical list operations. | 01-Oct-2014 |
Phase | Date | Description | Exemplar |
---|---|---|---|
1 | 03-Sep-2014 | Lexical analysis. | buttercup-0.1.tgz |
2 | 01-Oct-2014 | Syntactic analysis. | buttercup-0.2.tgz |
3 | 22-Oct-2014 | AST construction. | buttercup-0.3.tgz |
4 | 12-Nov-2014 | Semantic analysis. | buttercup-0.4.tgz |
5 | 03-Dec-2014 | CIL code generation. | buttercup-0.5.tgz |
The project assessment will be carried out with each team personally during class hours in the specified date. All your code should be in the Bitbucket repo, so nothing else needs to be delivered.