Skip to content

Commit

Permalink
Merge pull request #134 from Zhilin-Huang/parser-component-dev-guide
Browse files Browse the repository at this point in the history
Add Parser component description to Developer Guide
  • Loading branch information
Zhilin-Huang authored Mar 29, 2020
2 parents 6ed10be + 5406482 commit 19a78bb
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 1 deletion.
17 changes: 16 additions & 1 deletion docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,22 @@

#### Parser Component

{Description for Parser Component}
The structure of the Parser Component is illustrated in the following diagram:

![ParserComponentDiagram](images/ParserComponent.png)

API : `Parser.java`

1. The `Main` class (not shown in the diagram above) uses the `Parser` class to parse the user command.
2. The `Parser` class depends on multiple classes including the `FlashcardFactory`, `FlashcardList`, `GroupFactory
`, `GroupList`, `StudyPlanList` and `Ui` classes to create a `Command` object from user input.
3. The resulting `Command` object which then can be executed by the `Main` class.

Given below is the Sequence Diagram for interactions between the `Parser` and `Command` components for the
`parseCommand` API call from `Main` class. We use the interaction between the `Parser` and `DeleteCommand` class as
an example:

![ParserAndCommandSequenceDiagram](images/ParserAndCommandSequenceDiagram.png)

#### Storage Component

Expand Down
1 change: 1 addition & 0 deletions docs/images/ParserAndCommandSequenceDiagram.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2020-03-29T07:40:04.985Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" etag="-En9C7uy7tlo2SQPH_sy" version="12.9.3" type="device"><diagram name="Page-1" id="13e1069c-82ec-6db2-03f1-153e76fe0fe0">7Zhdb5swFIZ/DdJ2sYrPtLksSdtJ66Rqkbru0oADVg2mxjTJfv2OwXyTjLVJV2nLRWS/Nj7G7+NjJ5q1iLc3HKXRVxZgqpl6sNWspWaac3sG31LYlYIzV0LISVBKRiOsyE+sRF2pOQlw1ukoGKOCpF3RZ0mCfdHREOds0+22ZrQbNUUhHggrH9Gh+p0EIlKqoetNw2dMwkiFvnBUg4f8x5CzPFHxNNNaF5+yOUbVWKp/FqGAbVqSdaVZC86YKEvxdoGpXNpq2crnrve01vPmOBFTHjj3kIcM3/Z883xte/onsxzhGdFcrYVmXd4hnmGuZix21SrB5FNZzGN6S9aYkgRqboo5ibGA/taSKvmu0dxNRARepciXj24AH9AiEVOoGVAESwWCR3hdpxSlGfGKqDooHPs5z8gz/oazkhypslzISIuaiKKrdAIHaqh6sfVi3Jj4qkyRh6lbW7dglMnwCSteKBOcPdYcyIHWMMdrFBMq8b7HPEAJUrJi2YBlcxElYQIVH8woXn3ojjLsGXOBty1JuXWDGSwb30EX1Wraihy1sy5UddPCtKI0ahHqVB2R2hphPXSDBxQUIRNpqfZrG5c+JS1vU0YSUcR3XM1Z9mBhXEQsZAmibVwaC/X3aeHeLTTZU9vpWFr71/F0aKl1EkutsQSwxBTs0MwZhdiuB6lgFsrSgsUxglz3PzP8/cxg9zKDOZ+YGqzzk6SGEZD++dRg/bGp3dRgT8sMhnMSR42Bo6m8GNRJoJ8dPkDhKZdXGTdQCUQ3G+3jIR7kEhG4kF2qVfaYECyGBpwEl/KGJzXK/MdCgld7UG4XlR+TrJ9oNA7gbqgmianHNleN4BYCNFTzPbSXBeIh3odG5aOMdpAMjikSkOO6l94Ro9Wjd3JnNUQZs26aMPqnSMZy7mP1VIMLLDratbqpDbs3jumMx2noK0dsWKzf8YV42gM8y2NrP59rirLIRzy4JRlMfSGHh4yyLYs5ORqh74vDUyMGv/861lvGNMQGA/WPtMFA5Y56Nat2L81CnDPjqLQGX6zknrKnKL9AeXJ/Y6/i9dhVq89biyUfYM3koda+EwUAcH2LOWrigWkULh06yYbktA4mZ+xXiNJeCVifC3tiDhsh1TjrWT87DWL1Jas35ZMCNnsrwH6bUd6GC3PeNdPpmzmVi/4hORjoSFSY1viEX0gFVJu/jsruzd9z1tUv</diagram></mxfile>
Binary file added docs/images/ParserAndCommandSequenceDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/images/ParserComponent.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2020-03-29T07:26:01.618Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" etag="FgviFThq2dPEwF7CgJK_" version="12.9.3" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">7Vvbdps4FP0aHuMFAgR+jJ1LM9POSlemk2ZeZskg21qRkSPkxO7Xj2QuBoGL4xqTOslDgg66oL2P9jlCxLCHs+U1R/PpFxZiagAzXBr2hQEAdIH8rQyrxOBYVmKYcBImpoLhjvzAqdFMrQsS4rhUUTBGBZmXjQGLIhyIkg1xzl7K1caMlkedowmuGO4CRKvWexKKaWL1gbexf8JkMs1GtmA/uTNDWeV0JvEUheylYLIvDXvIGRPJ1Ww5xFRhl+Fyf7O6p58f4fUfX+Mn9G3w599//XOWdHb1mib5FDiOxN5d//fj5v7h3+ENfviCvt48PftmND0D6WSfEV2kgKWTFasMQc4WUYhVL6ZhD16mROC7OQrU3RfpMtI2FTMqS5a8HBNKh4wyLssRi2SlwYSjkMgn18zpwJgLvNSoapinlYMvnRazGRZ8JdvlHusm/aQOa2X8vWzoz23TAvU50Sh1uUne9wZWeZEi+wqUrUOjvAXSGvARJZNIFikeixZB981GzF23DnO7NcwrkN8iHmN+OPc2gB0i7I8DaY8FZ4+4cAcGPh6NW0TcMTXI3Srk/RrEnbYABxXAryiKpwHi4RUKBEuHOAHo+2XkgVcjMOYxobeb5QVH4bmKprIUSFpiEpTRxUsivisiem5aeijcuVimHK0Lq6wQyYcvNFLFh+K9TbN1KWsXSrdYs27lJOGwEsV3oUhOkS14gJt1QCA+waLJfauUFwWshtLMxjFFgjyX51DHczrCLSNydrlH2V7ZpWzdVZJppq2KQV7ryAGab/a1jhIcKh2t3S6f9v6e6GwXgc8kFqeiAMBslgD/mArgvl8FaFzZzmuUoisFcFzQc/qFn3Jw9/fUAxd4vXI6fGxFgBXPvJaLfn5iKcEuOYEPMyqOIgnehyQ0OeVblwSn1z+8JEC7a0mwqvnqWhNOKUOwdxAEeMwMwaqmZh96oHvk2xYEz9febOnrdlcJ8GC3uwSrmq7eiUW4uqUoOiURcHScu94mWNVs7EMEdK98JyLgw87zgGqK+o2cytrPX3f/ZO07R137/kHXPnSKq79n2v32FUD1eIs5kYBgnlZoXRW8d6UKfa9rVcgm33xyI1esKPtneZk3n4oF0keUJw3U+icBoufpjRkJQzVMrd6UFaktAbHt5nPMOgFp7RQT1OwgvAEaSdBRIAxPGiBVhIwkVXCiroZsNkNReCqaDrXX9FaNph/3zO11731HlAWPmqJv0WWrQZdlr1dEPWwu9dWc0PxpRPhF4W7UYwB3VPjErztTbkuTW3dP5dYTjkoIaFu3q3uL77LSaStAvn3rTAEO8Zo314BSZrYRhG0asMdO8G2e/cIuFcDVDxP3PfztXAHqdhhJSjBm6wfdOCV8WrDsxlm8/mrwXFawwHy5uZmlEQHHSOBYFtFMSUM0itUf4xIYfWgMYDaKfOpkoKTZO0sYKzvOrhPG7Nuugj9sCwenzQzsv7FU3q7usYqx2lybzAtM5UY7t8qhzFtOGCdiVTJiEfQqjMZTNFeXkgnKFqI5yM8LG/u0UWGvr+cA4/EYBCqOzVlMBGERWAci21cxhnAcKJsaB8eiLlMI4Qi6sM3V6Fklzu0sMBc4B2bNgbDXGung11OFw4Xv7k5Vyyqpw73zl1Z6sNXz9paDrX2Aj/5+fzb13dO+bHqW04OwTKje196EyuLmvwSS6pt/tbAv/wc=</diagram></mxfile>
Binary file added docs/images/ParserComponent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 19a78bb

Please sign in to comment.