diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 854dd39e4..321c3fd95 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -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 diff --git a/docs/images/ParserAndCommandSequenceDiagram.drawio b/docs/images/ParserAndCommandSequenceDiagram.drawio new file mode 100644 index 000000000..d990ce66a --- /dev/null +++ b/docs/images/ParserAndCommandSequenceDiagram.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/images/ParserAndCommandSequenceDiagram.png b/docs/images/ParserAndCommandSequenceDiagram.png new file mode 100644 index 000000000..b7d3a153b Binary files /dev/null and b/docs/images/ParserAndCommandSequenceDiagram.png differ diff --git a/docs/images/ParserComponent.drawio b/docs/images/ParserComponent.drawio new file mode 100644 index 000000000..ed32d32e7 --- /dev/null +++ b/docs/images/ParserComponent.drawio @@ -0,0 +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= \ No newline at end of file diff --git a/docs/images/ParserComponent.png b/docs/images/ParserComponent.png new file mode 100644 index 000000000..2c2b19ca9 Binary files /dev/null and b/docs/images/ParserComponent.png differ