Skip to content

Instantly share code, notes, and snippets.

@kpmy
Created December 22, 2014 11:10
Show Gist options
  • Save kpmy/b2315aa9d7b1421559e0 to your computer and use it in GitHub Desktop.
Save kpmy/b2315aa9d7b1421559e0 to your computer and use it in GitHub Desktop.
MODULE XevDemo3;
VAR i, j: INTEGER;
PROCEDURE Do(a: BYTE; VAR x: INTEGER): INTEGER;
BEGIN
x:=i+14;
RETURN i+34+a
END Do;
BEGIN
i:=4;
j:=Do(17, i)
END XevDemo3.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<graphml xmlns:cpt="urn:bbcb:component:dev:cpt" xmlns="http://graphml.graphdrawing.org/xmlns">
<graph edgedefault="undirected" cpt:scope="0">
<node id="20">
<data>
<cpt:object cpt:name="FALSE" cpt:mode="constant" cpt:type="BOOLEAN">FALSE</cpt:object>
</data>
</node>
<node id="24">
<data>
<cpt:object cpt:name="INF" cpt:mode="constant" cpt:type="SHORTREAL">inf</cpt:object>
</data>
</node>
<node id="47">
<data>
<cpt:object cpt:name="TRUE" cpt:mode="constant" cpt:type="BOOLEAN">TRUE</cpt:object>
</data>
</node>
<node id="50">
<data>
<cpt:object cpt:name="Do" cpt:mode="local procedure" />
</data>
</node>
<edge source="50" target="51" cpt:link="link" />
<node id="52">
<data>
<cpt:object cpt:name="i" cpt:mode="variable" cpt:type="INTEGER" />
</data>
</node>
<edge source="52" target="53" cpt:link="link" />
<node id="53">
<data>
<cpt:object cpt:name="j" cpt:mode="variable" cpt:type="INTEGER" />
</data>
</node>
</graph>
<graph edgedefault="undirected" cpt:proc="XevDemo3">
<node id="0">
<data>
<cpt:node cpt:proto="statement" cpt:class="enter" cpt:enter="module" />
</data>
</node>
<edge source="0" target="54" cpt:link="left" />
<edge source="0" target="55" cpt:link="right" />
<node id="54">
<data>
<cpt:node cpt:proto="statement" cpt:class="enter" cpt:enter="procedure" />
</data>
</node>
<edge source="54" target="57" cpt:link="right" />
<edge source="54" target="50" cpt:link="object" />
<node id="57">
<data>
<cpt:node cpt:proto="statement" cpt:class="assign" cpt:statement="assign" />
</data>
</node>
<edge source="57" target="58" cpt:link="left" />
<edge source="57" target="59" cpt:link="link" />
<edge source="57" target="60" cpt:link="right" />
<node id="58">
<data>
<cpt:node cpt:proto="designator" cpt:class="parameter" />
</data>
</node>
<edge source="58" target="56" cpt:link="object" />
<node id="60">
<data>
<cpt:node cpt:proto="expression" cpt:class="dyadic" cpt:operation="plus" />
</data>
</node>
<edge source="60" target="61" cpt:link="left" />
<edge source="60" target="62" cpt:link="right" />
<node id="61">
<data>
<cpt:node cpt:proto="designator" cpt:class="variable" />
</data>
</node>
<edge source="61" target="52" cpt:link="object" />
<node id="62">
<data>
<cpt:node cpt:proto="expression" cpt:class="constant" cpt:type="INTEGER">0000000E</cpt:node>
</data>
</node>
<node id="59">
<data>
<cpt:node cpt:proto="statement" cpt:class="return" />
</data>
</node>
<edge source="59" target="63" cpt:link="left" />
<edge source="59" target="50" cpt:link="object" />
<node id="63">
<data>
<cpt:node cpt:proto="expression" cpt:class="dyadic" cpt:operation="plus" />
</data>
</node>
<edge source="63" target="64" cpt:link="left" />
<edge source="63" target="65" cpt:link="right" />
<node id="64">
<data>
<cpt:node cpt:proto="expression" cpt:class="dyadic" cpt:operation="plus" />
</data>
</node>
<edge source="64" target="66" cpt:link="left" />
<edge source="64" target="67" cpt:link="right" />
<node id="66">
<data>
<cpt:node cpt:proto="designator" cpt:class="variable" />
</data>
</node>
<edge source="66" target="52" cpt:link="object" />
<node id="67">
<data>
<cpt:node cpt:proto="expression" cpt:class="constant" cpt:type="INTEGER">00000022</cpt:node>
</data>
</node>
<node id="65">
<data>
<cpt:node cpt:proto="expression" cpt:class="monadic" cpt:operation="convert" cpt:type="INTEGER" />
</data>
</node>
<edge source="65" target="68" cpt:link="left" />
<node id="68">
<data>
<cpt:node cpt:proto="designator" cpt:class="variable" />
</data>
</node>
<edge source="68" target="51" cpt:link="object" />
<node id="55">
<data>
<cpt:node cpt:proto="statement" cpt:class="assign" cpt:statement="assign" />
</data>
</node>
<edge source="55" target="69" cpt:link="left" />
<edge source="55" target="70" cpt:link="link" />
<edge source="55" target="71" cpt:link="right" />
<node id="69">
<data>
<cpt:node cpt:proto="designator" cpt:class="variable" />
</data>
</node>
<edge source="69" target="52" cpt:link="object" />
<node id="71">
<data>
<cpt:node cpt:proto="expression" cpt:class="constant" cpt:type="INTEGER">00000004</cpt:node>
</data>
</node>
<node id="70">
<data>
<cpt:node cpt:proto="statement" cpt:class="assign" cpt:statement="assign" />
</data>
</node>
<edge source="70" target="72" cpt:link="left" />
<edge source="70" target="73" cpt:link="right" />
<node id="72">
<data>
<cpt:node cpt:proto="designator" cpt:class="variable" />
</data>
</node>
<edge source="72" target="53" cpt:link="object" />
<node id="73">
<data>
<cpt:node cpt:proto="statement" cpt:class="call" />
</data>
</node>
<edge source="73" target="74" cpt:link="left" />
<edge source="73" target="75" cpt:link="right" />
<edge source="73" target="51" cpt:link="object" />
<node id="74">
<data>
<cpt:node cpt:proto="designator" cpt:class="procedure" />
</data>
</node>
<edge source="74" target="50" cpt:link="object" />
<node id="75">
<data>
<cpt:node cpt:proto="expression" cpt:class="constant" cpt:type="BYTE">00000011</cpt:node>
</data>
</node>
<edge source="75" target="76" cpt:link="link" />
<node id="76">
<data>
<cpt:node cpt:proto="designator" cpt:class="variable" />
</data>
</node>
<edge source="76" target="52" cpt:link="object" />
</graph>
<graph edgedefault="undirected" cpt:scope="54">
<node id="51">
<data>
<cpt:object cpt:name="a" cpt:mode="variable" cpt:type="BYTE" />
</data>
</node>
<edge source="51" target="56" cpt:link="link" />
<node id="56">
<data>
<cpt:object cpt:name="x" cpt:mode="parameter" cpt:type="INTEGER" />
</data>
</node>
</graph>
</graphml>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment