wudsn-ide/com.wudsn.ide.lng/schema/compilers.exsd
2021-09-28 13:39:39 +02:00

279 lines
10 KiB
XML

<?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>