المدخلات :
البرنامج يستقبل مدخل من نوع String ويقوم بتحليله باستخدام tokenizer ليتحقق من صحة توافقه مع صيغة JSON.
المخرجات :
البرنامج يعرض البيانات الناجحه بصيغة JSON وكذلك يتيح استدعاء قيمة معينة باستخدام index . في حال حدوث خطا في صيغة String يعرض رسالة الخطأ وسطر حدوثه.
Input.cs (Starter Code: with some slight changes) :
* Contains functions to deal with a String value
Tokenizer.cs :
* It uses the functions inside of Input.cs to generate tokens based on
a custom handlers written and tested by the team:
- WhiteSpaceTokenizer
- NewLineTokenizer
- JSymbolsTokenizer ({}[],)
- KeywordsTokenizer (false,true,null)
- StringTokenizer
- NumberTokenizer
All handlers written to match the JSON parser convention
JsonParser.cs (Main Design):
* It uses the generated list of tokens from the "Tokenizer" by the reference "ref".
* Classes:
- JsonParser :
~ Controls the flow and decide which JsonValue should the token be via using the method (parse)
- KeyValue : Helper class
[[Inheritance]]
- JSONValue (abstract & parent):
~ Children:
- StringJSONValue
- NumberJSONValue
- BooleanJSONValue
- NullJSONValue
- ObjectJSONValue
- ArrayJSONValue
Program.cs (main)
* To run and test.
تصميم آخر يعتمد على الوصول للمتغيرات :
https://github.com/anas-alhmoud/JSON-Parser
- سبب وجود أكثر من تصميم ناتج من نقاش المجموعة وفهمهم للمشكلة من جهة أخرى.
1- ثامر مشني
2- عبدالمجيد الميموني
3- أنس الحمود
4- منصور آل دندور