# Tranquility TODO list ## Parser - [ ] data model for numbers - [ ] data model for strings - [ ] data model for booleans - [ ] parseStatement - [ ] parseProgram - [ ] parseHintedStatement - [ ] parseHint - [ ] parseEventDeclaration - [ ] parseStructDeclaration - [ ] parseStorageDeclaration - [ ] parseContractDeclaration - [ ] parseInterfaceDeclaration - [ ] parseObjectDeclaration - [ ] parseGenericParameters - [ ] parseMemberDeclaration - [ ] parseFieldDeclaration - [ ] parseUseDeclaration - [ ] parseMethodDeclaration - [ ] parseMethodParams - [ ] parseMethodParam - [ ] parseTypeAnnotation - [ ] parseType - [ ] parseTypeParams - [ ] parseFunctionDeclaration - [ ] parseVariableDeclaration - [ ] parseIfStatement - [ ] parseElseStatement - [ ] parseWhileLoop - [ ] parseForLoop - [ ] parseBlock - [ ] parseReturnStatement - [ ] parseEmitStatement - [ ] parseExpression - [ ] parseExceptionExpression - [ ] parseVariableAssignment - [ ] parseAssignmentOperator - [ ] parseLogicalOr - [ ] parseLogicalOrOperator - [ ] parseLogicalAnd - [ ] parseLogicalAndOperator - [ ] parseEquality - [ ] parseEqualityOperator - [ ] parseComparison - [ ] parseComparisonOperator - [ ] parseAddSub - [ ] parseAddSubOperator - [ ] parseMulDivRem - [x] parseMulDivRemOperator - [x] parseUnary - [x] parseUnaryOperator - [x] parseAccess - [x] parseAccessMethod - [x] parseFunctionCall - [x] parseFunctionParameters - [x] parseLiteralOrParenthesized - [x] parseLiteral - [x] parseNumber - [ ] parseInteger - [ ] parseHexadecimal - [ ] parseBinary - [x] parseString - [ ] (Nice to have) git merge conflict strings (`======`, `>>>>>>`, `<<<<<<`) raise readable errors ## Interpreter - [ ] evalAstNode - [ ] evalExpression - [ ] evalMemberDeclaration - [ ] evalStatement - [ ] evalBinaryOperation - [ ] evalFunctionCall - [ ] evalFunctionParameter - [ ] evalIdentifier - [ ] evalIndexAccess - [ ] evalType - [ ] evalBlock - [ ] evalBooleanLiteral - [ ] evalNumberLiteral - [ ] evalStringLiteral - [ ] evalZeroLiteral - [ ] evalEventEmit - [ ] evalFieldDeclaration - [ ] evalFunctionDeclaration - [ ] evalMethodDeclaration - [ ] evalProgram - [ ] evalReturnStatement - [ ] evalStatementWithError - [ ] evalStorageDeclaration - [ ] evalUsingDeclaration - [ ] evalVariableAssignment - [ ] evalVariableDeclaration ## Type checker - [ ] read about type checking ## Compiler - [ ] read about compiling and IR - [ ] devise an IR - [ ] translate everything into IR - [ ] optimize IR - [ ] compile IR to EVM
Tranquility TODO list
Parser
======,>>>>>>,<<<<<<) raise readable errorsInterpreter
Type checker
Compiler