- 12 Jan, 2019 8 commits
-
-
Tianqi Yang authored
Add test cases to test suite 'positive': - op_ex_mod_int: Example of integer a modulo - overload_operator1: operator overloading with override Add test cases to test suite 'negative': - bin_op_ambiguous_error1: Ambiguous binary operator - bin_op_ambiguous_error2: Check the return type of binary operator at TypeCheck - bin_op_not_found_error1: Binary operator not found - print_not_found_error1 Print function not found - unary_op_not_found_error1 Unary operator not found
-
Tianqi Yang authored
Modify test cases: - miscerror: Modify the error message of BadPrintArgError
-
Tianqi Yang authored
Add support for operator overloading: - Binary operator: + : add - : sub * : mul / : div % : mod &&: and ||: or ==: eq !=: ne < : lt > : gt <=: le >=: ge - Unary operator: - : neg ! : not - print function Binary operator overloading: - Try to find op and rop, if ambiguous then issue an error Modify AST: - Add member callExpr to some of the nodes to store operator function Add errors: - BinaryOperatorAmbiguousError: Ambiguous candidates for binary operator - BinaryOperatorNotFoundError No method match the binary operator - UnaryOperatorNotFoundError No method match the unary operator
-
Tianqi Yang authored
Add test cases: - visit_ident_error1: visit a function table identifier
-
Tianqi Yang authored
Add type FuncTableType and return it in FunctionTable.getType Solve the null pointer return value at TypeCheck.visitIdent
-
Tianqi Yang authored
Add test suite original_error for compilation error tests
-
Tianqi Yang authored
Add test cases: - inher_overload1: Overload combining with inheritance
-
Tianqi Yang authored
Fix the output of ClassScope to iterate over all Functions in all FunctionTables
-
- 11 Jan, 2019 13 commits
-
-
Tianqi Yang authored
Add test cases: - overload_multi2: Tests of overloaded functions with multiple parameters
-
Tianqi Yang authored
Add test cases: - overload_error2: Overload errors
-
Tianqi Yang authored
Check only methods which can be a valid call while checking whether a function can be a candidate
-
Tianqi Yang authored
Add runAll.py to run all specified test suites
-
Tianqi Yang authored
Fix runAll.py to remove test case blackjack if exists
-
Tianqi Yang authored
Add test cases: - overload_error1: Overload errors - override_error1: Override overloaded functions errors - redef_error1: Redefinition errors
-
Tianqi Yang authored
Add test cases: - overload_single1: Tests of overloads functions with single parameters - overload_multi1: Tests of overloaded functions with multiple parameters
-
Tianqi Yang authored
Add runAll.py to run the test suite
-
Tianqi Yang authored
Add runAll.py to run the test suite
-
Tianqi Yang authored
Modify symbol.Class.resolveFieldOrder: - handle overloaded functions while calculating the offset of each member of a class Modfiy translate.Translater.fillVTableEntries: - handle overloaded functions while building VTable Modify translate.Translater.createFuncty: - replace the function names with function signatures
-
Tianqi Yang authored
Add FuncUtils: - getCallFunction: Get a suitable function symbol for a specific call or return an error Return value is of type getCallFunctionReturn - getArgListString: Get the string of a function with function name and parameter list Modify the process of building the symbol table: - visitMethodDef: Modify the function table with this name instead of inserting a single function Add the signature of this function into the table - checkOverride: Check overrides of overloaded functions - isMainClass: Issue errors if main function is overloaded Modify type checks: - call FuncUtils.getCallFunction to get the symbol of this function call Modify symbol Function: - toSignature: Return the signature of this function - conflictArgList: Check whether this function is conflicted with another
-
Tianqi Yang authored
Add errors: - AmbiguousNewDeclarationError: Ambiguous new declarations with the same parameter list but different return values - ConflictMainError: Multiple main functions - MethodCallAmbiguousError: Ambiguous method matches the method call - NoMatchMethodError: No method matches the call - RedefinitionError: Redefine the same function - VarOverrideMethodError: Try to override the method with a variable Add CommonUtils: - copyList: shallow copy a List
-
Tianqi Yang authored
- Add symbol FunctionTable to store the overload table of a function - Add function isFunctionTable in Symbol to check the type
-
- 08 Jan, 2019 1 commit
-
-
Tianqi Yang authored
-
- 07 Jan, 2019 2 commits
-
-
Tianqi Yang authored
-
Tianqi Yang authored
-