$30 off During Our Annual Pro Sale. View Details »

CSC309 Lecture 17

CSC309 Lecture 17

Software Engineering II
GitHub Issues II
(202302)

Javier Gonzalez-Sanchez
PRO

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

    View Slide

  2. jgs
    Previously …

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 3
    Did you remember this?

    View Slide

  4. 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

    View Slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 5
    GitHub Issues

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 6
    GitHub Issues

    View Slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 7

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 8
    Pull Request

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 9
    Pull Request

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 10
    Pull Request

    View Slide

  11. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 11
    Pull Request

    View Slide

  12. 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

    View Slide

  13. jgs
    Let Us Work

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 14
    Let’s Work

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 15
    Questions

    View Slide

  16. 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]

    View Slide

  17. jgs

    View Slide

  18. 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

    View Slide

  19. 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

    View Slide

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

    View Slide

  21. 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:

    View Slide

  22. 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:

    View Slide

  23. 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:

    View Slide

  24. 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

    View Slide

  25. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 25
    public class Parser {
    private static Vector 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

    View Slide

  26. 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)

    View Slide

  27. 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.

    View Slide