<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - [vyřešeno] error in IF code: > invalid definition for true-IF-result]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=590</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=590&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v [vyřešeno] error in IF code: > invalid definition for true-IF-result.]]></description>
		<lastBuildDate>Sun, 31 Aug 2014 16:50:02 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [vyřešeno] error in IF code: > invalid definition for true-IF-result]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4588#p4588</link>
			<description><![CDATA[<p>Takto funguje SDS-C překladač.</p><p>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).</p><p>Jedno z těchto omezení je, že<br />IF umí pouze volat jedinou funkci (nebo použít goto) jako reakci na výsledek testu, tzn.<br /></p><div class="codebox"><pre><code>if (sys[140] == 1) funkceA() else funkceB();</code></pre></div><p>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.</p><p>Správný zápis má vypadat takto:<br /></p><div class="codebox"><pre><code>if (sys[140] == 1) { sys[232] = 1; }</code></pre></div><p>Preprocesor rozpozná závorky a upraví kód tak, že jej pak SDS-C překladač umí zpracovat.</p><p>Aktuální SDSC.exe by mělo i správně vypsat chybu, v případě porušení pravidel SDS-C pro IF.</p><p>Vše je popsáno na WiKi, doporučuji přečíst návody a prohlédnou vzorové příklady.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Sun, 31 Aug 2014 16:50:02 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4588#p4588</guid>
		</item>
		<item>
			<title><![CDATA[[vyřešeno] error in IF code: > invalid definition for true-IF-result]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=4530#p4530</link>
			<description><![CDATA[<p>Další divná chyba na kterou jsem narazil, kdo ten kompiler proboha psal?</p><div class="codebox"><pre><code>if(sys[140] == 1) sys[232] = 1;</code></pre></div><div class="quotebox"><blockquote><p>13: coding error : error in IF code: &gt; invalid definition for true-IF-result</p><p>*** Analyze done - Code is OK ***</p></blockquote></div><p>Přitom by to mělo fungovat, protože např. toto se zkompiluje bez problému:</p><div class="codebox"><pre><code>loop:
if(sys[64] != 0) goto loop;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (MightyPork)]]></author>
			<pubDate>Wed, 30 Jul 2014 07:48:34 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=4530#p4530</guid>
		</item>
	</channel>
</rss>
