-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Empty statements not working? #349
Comments
Removing the semicolon from one of them should work. |
Sure, but the point is exactly not having to remove the semicolon. |
All macro definitions are written without |
I agree, this looks like a bug. Either we should add this feature or remove this message from the docs. |
The first mention of this "feature" is in 2.11, but even the compile.exe from 2.11 doesn't work with the example. |
Is it a big problem to allow this? |
I don't think so. Just a matter of tweaking the parser a bit. |
Предлагаю вам этим и заняться. :) |
Did some quick comparison. The major change from sslc 2.9 to 2.11 is including the mcpp preprocessor, but I failed to notice if Timeslip added extra handling for semicolon. |
Я лет 5 на него не смотрел, но помню что именно парсер там супер-простой. Если нужно небольшое изменение внести - это элементарно. А вот новые фичи которые требуют много изменений - уже сложновато. |
А там парсер рукописный (и где он вообще)? Обычно если парсер в виде какой-то грамматики, то вносить изменения не сложно, что мелкие, что средней тяжести. |
parse.c |
@NovaRain |
No good, for a code like this: for (i = 0; i < 9; i++) begin // line 447
// do something
end The compiler will complain |
The exception for parseWhile |
OK, I replaced the Not sure if |
Whatever you guys change, don't forget to test by re-compiling ALL original scripts (with RP scripts as well for good measure) and making sure it still works. |
I would not use the method of optional semicolon characters, and would remove this description from the documentation. |
Problem is, some defines must have a semicolon, while others must not. And as of now you have to remember which is which all the time. |
С этого момента ты должен установить нормальную IDE для разработки и не париться с запоминанием. Как вариант сделать отдельную опцию компилятора, и тогда вся боль ляжет на того кто будет компилироваться без точки с запятой. :-) |
А по факту нужно делать совсем другую функцию, которая бы убирала двойной сивол |
Какую это нормальную IDE? |
ну по факту никакой IDE для нашего дела не существует (есть какая-то там универсально-настраиваемая Eclipse) кроме Sfall Script Editor, который подчеркнет вашу ошибку, покажет или перейдет к макросу.
с опцией это во первых страховка. |
Ну вот
... а значит если в макросе нет и не предолагается ";", то SSE вскрякнет. Так это в нем косяк, а не страховка. |
причем тут "в нем косяк", точка запятой это часть синтаксиса SSL. |
Я вообще не понимаю, что ты имеешь ввиду. |
Trying with 4.2.8.1:
Tried some earlier 4.x versions, also no go.
The text was updated successfully, but these errors were encountered: