Course Notices | COMP3131 22T1 | WebCMS3 Toggle navigation WebCMS3 Search Courses Login COMP3131 22T1 Home Q and A Course Outline Forums Course Work Exams Lectures Assignments Tutorials Activities Timetable Groups Toggle Menu COMP3131 Notices Notices Today's In-Person Tutorial Class (W14A) Changed to Onliine Posted by Jingling Xue Wednesday 09 March 2022, 01:30:44 PM. Due to heavy rain, today's in-person tutorial class (W14A) will be done online. Sorry for the short notice. Here is the email from the tutorial (including a zoom link): Hi Jingling, Thanks. Here is the link: https://unsw.zoom.us/j/81345787013?pwd=ZTlSL1hQakVnZTF5U25UY01Kc0k0UT09 Password: 669333 Regards, Samad Assignment 2 Marked Posted by Jingling Xue Tuesday 08 March 2022, 08:52:56 AM. Dear COMP3131/9102 Student, Assignment 2 has been marked. Please check your marks. I am pleased to see a lot of great implementations in Assignment 2! Please take a look at the assignment 2 page (including a short feedback video for this assignment). Please move on to extend your recogniser to obtain a parser in Assignment 3. --- Jingling Assignment 3 Posted by Jingling Xue Wednesday 02 March 2022, 03:46:20 PM. The spec for Assignment 3 has been released. Today's lecture explains how to extend your recogniser (developed in Assignment 2) to obtain a parser to be developed in Assignment 3. Please compare Recogniser.java (provided in Assignment 2) with Parser.java (provided in Assignment 3) carefully to understand how the former can be easily extended to obtain the latter for a subset of VC. Please note once again that Assignments 2 and 3 are actually one assignment focusing on developing an (AST-building) parser for VC. After Assignment 3, the recogniser will no longer be used. For this reason, the spec for Assignment 3 is released before Assignment 2 is due (as planned according to the course outline). If you have submitted your Assignment 2, you are welcome to work on Assignment 3 now. Otherwise, you can do it after you have completed your Assignment 2 before 7 March. --- Jingling Assignment 2 Posted by Jingling Xue Sunday 27 February 2022, 05:47:36 PM, last modified Monday 28 February 2022, 09:37:11 AM. Dear COMP3131/9102 Student, Please take a look at Parser.java provided in the supporting code, which is already a working parser written for a subset of VC. This implementation demonstrates clearly how to eliminate left recursion (based on the rules introduced in lectures (Slide 194)). All it remains to be done is to perform a left factoring transformation to eliminate the common prefix shared by func-decl and var-decl. Otherwise, you would need to look ahead by 3 tokens to distinguish two constructs. Once you have eliminated the common prefix (and the left recursion), the resulting grammar will be LL(1) and can be parsed by using one single token of lookahead. In other words, the supporting code already provides most of the implementation for the parser to be developed for VC. Feedback video for Assignment 1 Posted by Jingling Xue Friday 25 February 2022, 10:29:29 AM. Dear COMP3131/9102 Student, I have just released a short feedback video for Assignment 1, which can be found from the course's home page. Assignments ==> Assignment 1 ==> Feedback (Video) Assignment 1 Marked and Assignment 2 Released Posted by Jingling Xue Friday 25 February 2022, 12:24:25 AM. Dear COMP3131/9102 Student, Assignment 1 has been marked. Please let me know if you have any issues with your marks. Please go to the course's home page to look for some feedback for this assignment. I will also release a short feedback video tomorrow. Assignment 2, which asks you to write a recogniser, has been released. Tutorial Recordings Posted by Jingling Xue Wednesday 23 February 2022, 10:28:22 PM. Dear COMP3131/9102 Student, The tutorial recordings can be accessed from the course's home page (by clicking the Tutorial button on the left menu). The tutor will make a week's tutorial recording available here usually after he has done all the tutorial classes for that week. Today's lecture recording Posted by Jingling Xue Wednesday 23 February 2022, 08:52:05 AM. Dear COMP3131/9102 Student, In today's lecture recording (divided into 3 parts), I have spent some time working out some examples to show you how to apply the first and follow set construction algorithms to compute the first and follow sets for a CFG. As a result, the total duration of the lecture time is longer than 2 hours. I hope this is OK with you. Of course, you are also encouraged to try a few examples given in the tutorials yourself to ensure your understanding of both algorithms. Tutorials (Zoom Links) Posted by Jingling Xue Tuesday 22 February 2022, 03:08:46 PM, last modified Tuesday 01 March 2022, 05:06:40 PM. Dear COMP3131/9102 Student, Students cannot find the zoom links for their tutorials. Below, you will find an email that I sent to the class just before our first tutorial. --- Jingling Dear COMP3131/9102 Student, Here is a message from our tutor regarding the zoom links used for our tutorial classes: Hi Jingling, Here is the list of tutorials' meetings info. The same link and passcode should work for all weeks. COMP3131 Tutorial - T16A Meeting URL: https://unsw.zoom.us/j/87648480563?pwd=cWFKQ2hkM1pQaWxjZGt0akt2YlNwZz09 Meeting Passcode: 147217 Meeting ID : 87648480563 COMP3131 Tutorial - T17A Meeting URL: https://unsw.zoom.us/j/89551526390?pwd=ZUtDRjdKbWU0Z2R1UjkvVm9mZkladz09 Meeting Passcode: 180910 Meeting ID : 89551526390 COMP3131 Tutorial - W15A Meeting URL: https://unsw.zoom.us/j/82614806619?pwd=eDhhV2hLc2wyWDFxb0Z6VFd4Y2k3dz09 Meeting Passcode: 000584 Meeting ID : 82614806619 COMP3131 Tutorial - W18A Meeting URL: https://unsw.zoom.us/j/83083046697?pwd=V1IzclU4SndJMk5rVHMyOEN1MUVKUT09 Meeting Passcode: 043955 Meeting ID : 83083046697 COMP3131 Tutorial - W19A Meeting URL: https://unsw.zoom.us/j/82256667776?pwd=d08ra2JaSFlCZVBNbStxTW4vT1RsQT09 Meeting Passcode: 117757 Meeting ID : 82256667776 Regards, Samad Public Interface vs. Private Implementation Posted by Jingling Xue Friday 18 February 2022, 04:46:30 PM. Dear COMP3131/9102 Student, For each compiler module implemented in an assignment, there is always a public interface dictating how the compiler module can be used. In the case of Assignment 1 for writing a scanner for VC, its public interface is simply just getNextToken(). You are certainly allowed to use whatever is necessary (by, e.g., using some additional classes from JDK or yourself) in your private implementation if you think this is a good design for your solution. This will be where you should practise information hiding. Compilation vs. Coding Posted by Jingling Xue Friday 18 February 2022, 09:06:10 AM. Dear COMP3131/9102 Student, As I explained in my first lecture, this course focuses on learning how to write a compiler in Java for a realistic programming language. As COMP2511 is a pre-requisite, you are assumed to know OO and you are also assumed to be able to write programs in Java efficiently. Therefore, there are no lectures on how to code in Java. However, the course does provide an opportunity for you to develop a better understanding of OO and improve your programming/software engineering skills in Java. The videos for Week 1's Wed Lecture Posted by Jingling Xue Wednesday 16 February 2022, 09:37:39 AM. Dear COMP3131/9102 Student, The videos for today's lecture are now available. From now on, the video(s) for a particular lecture will always be released before the lecture. I will not send further notices on this matter. Once again, if you haven't started working on Assignment 1, you may consider to start asap. Microsoft Teams Posted by Jingling Xue Monday 14 February 2022, 02:17:23 PM. In the Team Page set up for this course, I have created one channel for each lecture time slot as shown below. For each lecture, I may use the lecture hours at its corresponding channel for consultation purposes (and for providing feedback to our programming assignments). The spec for Assignment 1 Posted by Jingling Xue Monday 14 February 2022, 01:03:24 PM. Dear COMP3131/9102 Student, Please be reminded that the spec for Assignment has already been released with 24 Feb as the submission deadline. Once again, there will not be live lectures this term. If you have some questions to ask me, I will be available via our course's Team page during the lecture hours. Of course, you are welcome to post your questions to the course forum at any time. Welcome Video Posted by Jingling Xue Monday 14 February 2022, 09:39:01 AM. Dear COMP3131/9102 Student, I have also made the short welcome video available under "Lectures" (just before Week 1's teaching material) on our course's home page. Lecture Recordings Posted by Jingling Xue Sunday 13 February 2022, 09:54:41 PM. Dear COMP3131/9102 Student, I have decided to use Echo360 (instead of Microsoft Teams) to host our lecture recordings. I will make the lecture recording(s) for a lecture, together with its lecture notes, available on our course's home page. As shown below, the lecture recording for our first lecture is now available: I will no longer make our lecture recordings (also) available on Microsoft Teams, as it takes ages to upload a video to Microsoft Teams and the uploaded video seems quite blurry. We will continue to use the Team Page created for this course for consultation purposes and for providing feedback to our programming assignments after they have been marked. Welcome to COMP3131/9102 Posted by Jingling Xue Monday 07 February 2022, 04:46:19 PM. Dear COMP3131/9102 Student, 1. I have created a short welcome video for this course. You can find this video from the "Week 0 (Introduction)" channel of this course set up at Microsoft Teams: Name: COMP3131/9102 (22T1) Team Code: grez5g2 2. All the lectures will be released as pre-recorded videos and made available at our course's team. 3. The lecture time slots will be used for providing assignment feedback (and consultation). 4. Moodle will not be used. --- Jingling Back to top COMP3131/COMP9102 22T1 (Programming Languages and Compilers) is powered by WebCMS3 CRICOS Provider No. 00098G