Błędy składniowe¶
Z powodu bardzo prostej składni jest bardzo mało typów błędów składniowych. Nawet instrukcje warunkowe i pętle są tworzone jako wywołania metod, więc błędy składniowe mogą wystąpić jedynie, gdy tokeny nie są ułożone w odpowiedni sposób.
Jak wykryć błędy składniowe?¶
W Plezuro nie ma fatalnych błędów. Każdy błąd to wyjątek. Kiedy skrypt zawierający błąd składniowy jest importowany, wyjątek powinien zostać wyrzucony. Kompilator powinien stworzyć plik wynikowy (lub funkcję w pliku wynikowym, gdzie wszystkie skrypty są łączone razem), który wyrzuci wyjątek.
Pełna lista błędów składniowych¶
Nazwa |
Wystąpienie |
Przykłady |
|---|---|---|
| BracketStackException | nawias nie jest domknięty, zamknięcie nieodpowiedniego typu nawiasu, nadmierne domknięcie nawiasu |
(2 + 3 (3 + 1 + [)] 4 + 5) |
| NonExistentTokenException | token nieistniejącego typu |
$αβγ = 21 |
| OperatorAfterBracketCloseException | po zamknięciu nawiasu coś innego niż operator lub następne domknięcie nawiasu |
$x=[2] “oo” |
| OperatorAfterBracketOpenException | nieodpowiedni operator po otwarciu nawiasu lub początku skryptu |
* 43 |
| OperatorAfterOperatorException | operator po operatorze (chociaż są wyjątki od tego) |
2 + * 5 |
| OperatorBeforeBracketCloseException | operator przed domknięciem nawiasu |
(2 + 3 -) |
| ValueAfterValueException | stały token po innym stałym tokenie |
3 + * |