Takto funguje SDS-C překladač.
Je to z historického hlediska, kdy ještě předklad ze zdrojového textu probíhal na straně zařízení (dnes je v EXE na straně PC), což přineslo řadu omezení (tzn. SDS-C je velmi omezenou variantou FULL-C).
Jedno z těchto omezení je, že
IF umí pouze volat jedinou funkci (nebo použít goto) jako reakci na výsledek testu, tzn.
if (sys[140] == 1) funkceA() else funkceB();
Opakuji, umí volat jedinou funkci (nebo použít goto), tzn. neumí provést např. ono zmíněné LVar přiřazení v původním textu.
Správný zápis má vypadat takto:
if (sys[140] == 1) { sys[232] = 1; }
Preprocesor rozpozná závorky a upraví kód tak, že jej pak SDS-C překladač umí zpracovat.
Aktuální SDSC.exe by mělo i správně vypsat chybu, v případě porušení pravidel SDS-C pro IF.
Vše je popsáno na WiKi, doporučuji přečíst návody a prohlédnou vzorové příklady.
Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !