<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="com.wudsn.ide.lng" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appinfo>
         <meta.schema plugin="com.wudsn.ide.lng" id="compilers" name="Compilers"/>
      </appinfo>
      <documentation>
         This extension point allows for adding new assemblers and compilers to the WUDSN IDE.
      </documentation>
   </annotation>

   <element name="supportedTarget">
      <complexType>
         <attribute name="target" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="MOS6502">
                  </enumeration>
                  <enumeration value="MOS6502_ILLEGAL">
                  </enumeration>
                  <enumeration value="MOS65C02">
                  </enumeration>
                  <enumeration value="MOS6502_DTV">
                  </enumeration>
                  <enumeration value="MOS65816">
                  </enumeration>
                  <enumeration value="PASCAL">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="helpDocument">
      <complexType>
         <attribute name="path" type="string" use="required">
            <annotation>
               <documentation>
                  Relative path of the help document or help folder, relative to the folder of the executables.
Or absolute URL starting with &quot;http://&quot; or &quot;https://&quot;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="language" type="string">
            <annotation>
               <documentation>
                  The 2 letter &quot;de&quot; or 5 letter &quot;de_DE&quot; representation of the language of the document.
Use &quot;*&quot; is the entry is valid for all languages
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="executable">
      <complexType>
         <attribute name="os" use="required">
            <annotation>
               <documentation>
                  OSGI OS value as described in org.eclipse.core.runtime.Platform
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="OS_MACOSX">
                  </enumeration>
                  <enumeration value="OS_LINUX">
                  </enumeration>
                  <enumeration value="OS_WIN32">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="osArch" use="required">
            <annotation>
               <documentation>
                  OSGI OS archiecture value as described in org.eclipse.core.runtime.Platform
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="ARCH_X86">
                  </enumeration>
                  <enumeration value="ARCH_X86_64">
                  </enumeration>
                  <enumeration value="ARCH_PPC">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="path" type="string" use="required">
            <annotation>
               <documentation>
                  Relative path of the executable inside the base folder
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="compiler">
      <complexType>
         <choice>
            <sequence>
               <element ref="supportedTarget" minOccurs="1" maxOccurs="unbounded"/>
            </sequence>
            <sequence>
               <element ref="helpDocument" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
            <sequence>
               <element ref="executable" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
         </choice>
         <attribute name="language" use="required">
            <annotation>
               <documentation>
                  The technical ID of the language.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="ASM">
                  </enumeration>
                  <enumeration value="PAS">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The technical ID of the compiler. Must consist of lower case letters or digits. Must be unique without one language.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  Translatable name of the compiler. Typically contains only upper case letters.
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The name of the compiler class.
               </documentation>
               <appinfo>
                  <meta.attribute kind="java" basedOn="com.wudsn.ide.lng.compiler.Compiler:"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="version" type="string" use="required">
            <annotation>
               <documentation>
                  Supported (minimum) version of the compiler. All compiler directives and major compiler features up to this version have been incorporated into this version of WUDSN IDE.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="homePageURL" type="string">
            <annotation>
               <documentation>
                  The absolute URL pointing to the homepage of the compiler where the latest version can be downloaded.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="defaultParameters" type="string" use="required">
            <annotation>
               <documentation>
                  The default compiler parameters which are use if not other parameters are specified in the preferences.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="defaultHardware" use="required">
            <annotation>
               <documentation>
                  The default hardware which is assumed, if no source annotation is found.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="APPLE2">
                  </enumeration>
                  <enumeration value="ATARI2600">
                  </enumeration>
                  <enumeration value="ATARI7800">
                  </enumeration>
                  <enumeration value="ATARI8BIT">
                  </enumeration>
                  <enumeration value="C64">
                  </enumeration>
                  <enumeration value="NES">
                  </enumeration>
                  <enumeration value="TEST">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="extension">
      <annotation>
         <appinfo>
            <meta.element />
         </appinfo>
      </annotation>
      <complexType>
         <sequence minOccurs="1" maxOccurs="unbounded">
            <element ref="compiler"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appinfo>
         <meta.section type="since"/>
      </appinfo>
      <documentation>
         WUDSN IDE 1.1.0
      </documentation>
   </annotation>


   <annotation>
      <appinfo>
         <meta.section type="apiinfo"/>
      </appinfo>
      <documentation>
         To implement this extension point, you have to create a sub-class of com.wudsn.ide.lng.compiler.Compiler, a sub-class of com.wudsn.ide.lng.compiler.parser.CompilerSourceParser and a sub-class of com.wudsn.ide.lng.compiler.CompilerLogParser. In the constructor of the compiler you have to set the source parser instance. In the &quot;createLogParser&quot; method of the compiler you have to create a new instance of the corresponding log parser.
      </documentation>
   </annotation>


   <annotation>
      <appinfo>
         <meta.section type="copyright"/>
      </appinfo>
      <documentation>
         (c) 2009 Peter Dell
      </documentation>
   </annotation>

</schema>
