Implemented ExpIdentifier, so all things have a core implementation, however there are bugs in these implementations, currently in ExpCall
I've created a different project in IntelliJ, because NetBeans was giving me stupid error reports.... In the project I identified an error in my defintion of pushStack(), which was causing variables to be given only local scopes, but this is now fixed...... I've also redefined part of the ExpCall method, because it was performing duties that PushStack was performing - so they were being done twice.... I've also edited setLocal() in MJObjectRunTime, so that if setLocal() is called, and the identifier is not a local variable, it will see whether the variable is one in the object which calls the method which is currently on the stack... and THEN if it isnt found it reports an error................................... there are still a load of errors.. I think the current error I'm working on is a NullPointerException, which comes from attemptig to interpret our CourseWork1.jj file, and is thrown when printArray() is called.
I've fixed the null pointer exception - my implementation of inheritance was not identifying the methods belonging to parents... so I've changed the definition of getMethodSignature in SymbolTable......................................... Which solves that problem (however another has come up)... also I'm not sure whether the methods in symbol table are meant to be changed, so its potentially not a permanent solution, but at least has identified the problem
Implemented everything so that it can pass through our CourseWork1.jj and give the expected results. Only problems are potentially with the fact that we may not be allowed my implementation of Method Inheritance, which essentially changes the ClassSignature.getMethod(), so that if the method cannot be found, then it checks the class signatures parent, before throwing any errors........ Also, I haven't tested the Interpretter on anything other than CourseWork1.jj