|
1 | 1 |  |
2 | 2 | [](https://github.com/vladimir98vk/CAT-symbolic-programming-language-interpreter/actions/workflows/dart.yml) |
3 | | -# CAT-symbolic-programming-language-interpreter |
| 3 | +# virtual-CAT-programming-language-interpreter |
| 4 | + |
| 5 | +The virtual CAT Interpreter is a component of the [virtual Cross Array Task (CAT) platform](https://github.com/GiorgiaAuroraAdorni/virtual-CAT-app). |
| 6 | +It plays a crucial role in translating student actions, which include gesture interactions and arranged visual programming blocks, into executable machine-readable instructions. |
| 7 | +This interpreter analyses user input and converts these actions into a formal algorithm specified using the CAT programming language. |
| 8 | + |
| 9 | +## Validation of Commands |
| 10 | + |
| 11 | +Each command that makes up the algorithm, such as colour selections and other operations, undergoes a rigorous validation process. |
| 12 | +This process is designed to identify and address semantic errors. |
| 13 | +Notably, the platform's interface has been thoughtfully designed with predefined programming blocks and buttons. This design inherently eliminates the need for syntax checking, significantly streamlining the process. However, semantic errors can still occur during command execution. |
| 14 | +For example, they might occur when users attempt to move outside the board boundaries using invalid directions or apply an inappropriate pattern for a colouring command. |
| 15 | + |
| 16 | +## Real-time Feedback |
| 17 | + |
| 18 | +Once the validation process is complete and the code is deemed error-free, the interpreter executes it. |
| 19 | +The user is provided real-time feedback, including the current progress on the colouring cross and the CAT-score. If the interpreter detects errors during execution, it handles them by providing users with error notifications and potential suggestions for correction. |
| 20 | + |
| 21 | +## Integration |
| 22 | + |
| 23 | +We've developed a dedicated Dart package to seamlessly integrate the interpreter within the Virtual CAT application. This package is imported into the Flutter project, ensuring that the interpreter functions seamlessly within the application. |
| 24 | + |
| 25 | +[Documentation]([link-to-documentation](https://giorgiaauroraadorni.github.io/virtual-CAT-programming-language-interpreter/)https://giorgiaauroraadorni.github.io/virtual-CAT-programming-language-interpreter/) |
0 commit comments