Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC309 Lecture 17

CSC309 Lecture 17

Software Engineering II
GitHub Issues II
(202302)

Javier Gonzalez-Sanchez

February 21, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSC 309 Software Engineering II Lecture 17: GitHub Issues

    II Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  2. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    4 Branch or Fork • Create a Branch –branches allow you to develop features, fix bugs, or safely experiment with new ideas in a contained area of your repository • Make a fork – a local copy of a repository to make changes without affecting the original repository
  3. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    12 Notes • Do not commit *.class files or configuration files (XML, etc.). Only source code • Create a branch associated with your assigned GitHub-Issue
  4. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    16 Office Hours Tuesday and Thursday 3 - 5 pm But an appointment required Sent me an email – [email protected]
  5. jgs

  6. jgs CSC 309 Software Engineering II Lab 17: GitHub Issues

    + Develop a Lexer+Parser Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  7. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    19 Write code here … Case 0 – We need a GUI Input: Results to be shown here … Output: send
  8. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    20 void student (){ } Case 1 Input: Method: * student Diamonds: Boxes: Output:
  9. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    21 void student () { Hello world; } Case 2 Input: Method: * student Diamonds: Boxes: * Hello world – variable declaration Output:
  10. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    22 void student () { Hello_world(); } Case 4 Input: Method: * student Diamonds: Boxes: * Hello world – call method Output:
  11. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    23 int x; void student () { world(); for (int x=0; x<10; x++) { hello(); x = x + 1; break; } } Case 4 Input: Output:
  12. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    24 1. Read a File and Split the lines 2. For each line read character by character 3. Concatenate characters, creating the largest STRING possible. Stop when a delimiter, white space, operator, or quotation mark is found. If there are more characters in the line, go to step 2. 4. Bonus points: for each STRING report its TYPE as correspond. E.g., class is a keyword, { is a delimiter, hello is a name (identifier), Student is a name (identifier), + is an operator, extends is a keyword, etc. Part 1
  13. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    25 public class Parser { private static Vector<Token> tokens; private static int currentToken; public static void rule_method () {} public static void rule_body () {} public static void rule_variable () {} public static void rule_method () {} public static void rule_instruction () {} public static void rule_call_method () {} public static void rule_assignment () {} // ignore precedence public static void rule_for () {} public static void rule_if() {} } Part 2
  14. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    26 Let’s Work Assignment 04 (due next Friday) (use GitHub Issues And Add me to your Repository)
  15. jgs CSC 309 Software Engineering II Javier Gonzalez-Sanchez, Ph.D. [email protected]

    Winter 2023 Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly. They cannot be distributed or used for another purpose.