[Swift-devel] swift compilation error on compound expressions

Michael Wilde wilde at mcs.anl.gov
Mon Mar 23 08:30:06 CDT 2009


This script:

--

   string st = "foo";
   string tu = "bar";
   if  ((st != "") || (tu != ""))  {
     if ((st != "") && (tu != "")) {
       trace("sweep");
     }
     else {
       trace("Error");
     }
   }
   else {
     trace("simple_loop");
   }
sur$


gives:

--

Could not start execution.
         Error reading source:  : unexpected character in markup > 
(position: START_TAG seen ...<vdl:getfieldvalue><vdlop:or>\n\t\t 
     <>... @69:17)  :  : unexpected character in markup > (position: 
START_TAG seen ...<vdl:getfieldvalue><vdlop:or>\n\t\t            <>... 
@69:17)
sur$ cat tparse.swift


--

tparse.xml is:

--

<program xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <variable name="st" type="string" xsi:nil="true"/>
   <assign src="line 2">
    <variableReference>st</variableReference>
    <stringConstant>foo</stringConstant>
   </assign>
   <variable name="tu" type="string" xsi:nil="true"/>
   <assign src="line 3">
    <variableReference>tu</variableReference>
    <stringConstant>bar</stringConstant>
   </assign>
   <if>
     <or>
       <cond op="!=">
         <variableReference>st</variableReference>
         <stringConstant></stringConstant>
       </cond>
       <cond op="!=">
         <variableReference>tu</variableReference>
         <stringConstant></stringConstant>
       </cond>
     </or>
     <then>
       <if>
         <and>
           <cond op="!=">
             <variableReference>st</variableReference>
             <stringConstant></stringConstant>
           </cond>
           <cond op="!=">
             <variableReference>tu</variableReference>
             <stringConstant></stringConstant>
           </cond>
         </and>
         <then>
           <call proc="trace" src="line 5">
             <input><stringConstant>sweep</stringConstant></input>
           </call>
         </then>
         <else>
           <call proc="trace" src="line 8">
             <input><stringConstant>Error</stringConstant></input>
           </call>
         </else></if>
     </then>
     <else>
       <call proc="trace" src="line 12">
         <input><stringConstant>simple_loop</stringConstant></input>
       </call>
     </else></if>
</program>

--

tparse.kml is:

<project><!-- CACHE ID d263322d-8468-4df4-a357-e6aa9c628977 -->
   <import file="sys.xml"/>
   <import file="scheduler.xml"/>
   <import file="rlog.xml"/>
   <import file="vdl.k"/>
   <global name="swift#string#17004">
     <vdl:new type="string" value="Error" />
   </global>
   <global name="swift#string#17003">
     <vdl:new type="string" value="sweep" />
   </global>
   <global name="swift#string#17005">
     <vdl:new type="string" value="simple_loop" />
   </global>
   <global name="swift#string#17001">
     <vdl:new type="string" value="bar" />
   </global>
   <global name="swift#string#17000">
     <vdl:new type="string" value="foo" />
   </global>
   <global name="swift#string#17002">
     <vdl:new type="string" value="" />
   </global>
   <set name="st">
     <vdl:new type="string" dbgname="st" waitfor="88000">
       <vdl:mapping descriptor="concurrent_mapper">
         <vdl:parameter 
name="prefix">st-f2f01a13-f36f-458b-8cd9-2b8a8ee80c95</vdl:parameter>
       </vdl:mapping>
     </vdl:new>
   </set>
   <set name="tu">
     <vdl:new type="string" dbgname="tu" waitfor="88001">
       <vdl:mapping descriptor="concurrent_mapper">
         <vdl:parameter 
name="prefix">tu-91daec5d-486a-421f-8cac-58469d72f0ba</vdl:parameter>
       </vdl:mapping>
     </vdl:new>
   </set>
   <restartLog>
         <vdl:mains>
<!-- TODO can move into vdl:mains so karajan files are smaller -->
                 <vdl:startprogressticker />
                 <vdl:mainp>
                     <parallel>
                         <sequential>
                              <vdl:setfieldvalue>
                                <argument name="var">
                                  <variable>st</variable>
                                </argument>
                                <argument name="value">
                                  <variable>swift#string#17000</variable>
                                </argument>
                              </vdl:setfieldvalue>
                             <partialCloseDataset var="{st}" 
closeID="88000" />
                         </sequential>
                         <sequential>
                              <vdl:setfieldvalue>
                                <argument name="var">
                                  <variable>tu</variable>
                                </argument>
                                <argument name="value">
                                  <variable>swift#string#17001</variable>
                                </argument>
                              </vdl:setfieldvalue>
                             <partialCloseDataset var="{tu}" 
closeID="88001" />
                         </sequential>
                         <sequential>
                           <if>
                             <vdl:getfieldvalue><vdlop:or>
                             <>
                               <variable>st</variable>
                               <variable>swift#string#17002</variable>
                             </>
                             <>
                               <variable>tu</variable>
                               <variable>swift#string#17002</variable>
                             </>
                           </vdlop:or></vdl:getfieldvalue>
                             <then>

                                 <sequential>
                                   <if>
                                     <vdl:getfieldvalue><vdlop:and>
                                     <>
                                       <variable>st</variable>
 
<variable>swift#string#17002</variable>
                                     </>
                                     <>
                                       <variable>tu</variable>
 
<variable>swift#string#17002</variable>
                                     </>
                                   </vdlop:and></vdl:getfieldvalue>
                                     <then>

                                         <sequential>
                                           <trace>
                                             <parallel>
 
<variable>swift#string#17003</variable>
                                             </parallel>
                                           </trace>
                                         </sequential>
                                     </then>
                                     <else>

                                         <sequential>
                                           <trace>
                                             <parallel>
 
<variable>swift#string#17004</variable>
                                             </parallel>
                                           </trace>
                                         </sequential>
                                     </else>
                                   </if>
                                 </sequential>
                             </then>
                             <else>

                                 <sequential>
                                   <trace>
                                     <parallel>
 
<variable>swift#string#17005</variable>
                                     </parallel>
                                   </trace>
                                 </sequential>
                             </else>
                           </if>
                         </sequential>
                     </parallel>
                 </vdl:mainp>
                 <vdl:stopprogressticker />
         </vdl:mains>
   </restartLog>
</project>
sur$



More information about the Swift-devel mailing list