Changeset 277
- Timestamp:
- 04/15/07 19:13:59 (5 years ago)
- Files:
-
- trunk/build/ddl/doc.d (modified) (2 diffs)
- trunk/build/ddl/sdk.d (modified) (1 diff)
- trunk/build/ddl/ver.d (modified) (1 diff)
- trunk/doc/ddl/html/css/style.css (modified) (1 diff)
- trunk/doc/ddl/html/ddl/Attributes.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/DDLError.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/DDLException.html (modified) (2 diffs)
- trunk/doc/ddl/html/ddl/DDLReader.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/DDLWriter.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/DefaultRegistry.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/Demangle.html (modified) (2 diffs)
- trunk/doc/ddl/html/ddl/DynamicLibrary.html (modified) (7 diffs)
- trunk/doc/ddl/html/ddl/DynamicLibraryLoader.html (modified) (2 diffs)
- trunk/doc/ddl/html/ddl/DynamicModule.html (modified) (11 diffs)
- trunk/doc/ddl/html/ddl/ExportSymbol.html (modified) (4 diffs)
- trunk/doc/ddl/html/ddl/FileBuffer.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/Linker.html (modified) (10 diffs)
- trunk/doc/ddl/html/ddl/LoaderRegistry.html (modified) (3 diffs)
- trunk/doc/ddl/html/ddl/Mangle.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/PathLibrary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/Utils.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/all.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/ar/ArchiveLibrary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/ar/ArchiveLoader.html (modified) (2 diffs)
- trunk/doc/ddl/html/ddl/ar/ArchiveReader.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/ddl/DDLBinary.html (modified) (3 diffs)
- trunk/doc/ddl/html/ddl/ddl/DDLLibrary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/ddl/DDLLoader.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/elf/ELFBinary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/elf/ELFHeaders.html (modified) (2 diffs)
- trunk/doc/ddl/html/ddl/elf/ELFLibrary.html (modified) (2 diffs)
- trunk/doc/ddl/html/ddl/elf/ELFModule.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/elf/ELFObjLoader.html (modified) (5 diffs)
- trunk/doc/ddl/html/ddl/elf/ELFPrinter.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/elf/ELFReader.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/insitu/InSituBinary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/insitu/InSituLibBinary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/insitu/InSituLibrary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/insitu/InSituLoader.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/insitu/InSituMapBinary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/insitu/InSituModule.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/omf/DLLProvider.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/omf/OMFBinary.html (modified) (9 diffs)
- trunk/doc/ddl/html/ddl/omf/OMFException.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/omf/OMFLibrary.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/omf/OMFLoader.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/omf/OMFModule.html (modified) (1 diff)
- trunk/doc/ddl/html/ddl/omf/OMFReader.html (modified) (6 diffs)
- trunk/doc/ddl/html/examples/host.html (modified) (4 diffs)
- trunk/doc/ddl/html/examples/mule.html (modified) (1 diff)
- trunk/doc/ddl/html/index.html (modified) (1 diff)
- trunk/doc/ddl/html/meta/conv.html (modified) (1 diff)
- trunk/doc/ddl/html/meta/ctype.html (modified) (1 diff)
- trunk/doc/ddl/html/meta/math.html (modified) (1 diff)
- trunk/doc/ddl/html/meta/string.html (modified) (1 diff)
- trunk/doc/ddl/html/utils/ArgParser.html (modified) (7 diffs)
- trunk/doc/ddl/index.ddoc (modified) (2 diffs)
- trunk/doc/ddl/xhtml.ddoc (modified) (2 diffs)
- trunk/enki/EnkiBackend.d (modified) (1 diff)
- trunk/enki/EnkiParser.d (modified) (82 diffs)
- trunk/enki/bootstrap.d (modified) (2 diffs)
- trunk/enki/enki.bnf (modified) (1 diff)
- trunk/enki/enki_bn.d (modified) (1 diff)
- trunk/enki/types.d (modified) (2 diffs)
- trunk/utils/Script.d (modified) (1 diff)
- trunk/utils/bless_bn.d (modified) (1 diff)
- trunk/utils/ddlinfo_bn.d (modified) (1 diff)
- trunk/utils/insitu_bn.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build/ddl/doc.d
r251 r277 26 26 module build.ddl.doc; 27 27 28 import build.ddl.ver; 29 28 30 import utils.Script; 29 31 30 32 void main(){ 33 auto packageName = "../downloads/ddl.sdk." ~ ddlDocVersion ~ ".zip"; 34 35 writefln("\n* Building DDL Documentation"); 36 removeFile(packageName); 37 31 38 // crawl the source tree 32 build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","ddl/all.d");33 build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","examples/host.d");34 build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","examples/mule.d");39 utils.Script.build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","ddl/all.d"); 40 utils.Script.build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","examples/host.d"); 41 utils.Script.build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","examples/mule.d"); 35 42 36 43 // build("-nolink -o- doc/ddl/xhtml.ddoc -Dd./doc/ddl/html -full -Xmango","utils/bless.d"); … … 40 47 // create an index for the doc tree 41 48 compile("-c -o- doc/ddl/modules.ddoc doc/ddl/index.ddoc -Df./doc/ddl/html/index.html","ddl/all.d"); 49 50 char[][] fileListing; 51 fileListing ~= listdir("doc/ddl",RegExp(docFiles)); 52 fileListing ~= listdir("doc/meta",RegExp(docFiles)); 53 54 zip(packageName,fileListing); 42 55 } 43 56 trunk/build/ddl/sdk.d
r251 r277 39 39 fileListing ~= listdir("meta","*.d"); 40 40 fileListing ~= listdir("utils","*.d"); 41 fileListing ~= listdir("test","*.d"); 41 fileListing ~= listdir("test","*.d"); 42 42 fileListing ~= listdir("examples","*.d"); 43 fileListing ~= listdir("doc/ddl","*.*"); 44 fileListing ~= listdir("doc/meta","*.*"); 43 44 fileListing ~= listdir("doc/ddl",RegExp(docFiles)); 45 fileListing ~= listdir("doc/meta",RegExp(docFiles)); 46 45 47 fileListing ~= listdir("build/ddl","*.d"); 46 48 fileListing ~= "build/clean.d"; trunk/build/ddl/ver.d
r251 r277 26 26 27 27 version(Windows){ 28 static const char[] ddlBinVersion = "beta.1. 2.win32.bin";29 static const char[] ddl SrcVersion = "beta.1.2.src";28 static const char[] ddlBinVersion = "beta.1.3.win32.bin"; 29 static const char[] ddlDocVersion = "beta.1.3.doc"; 30 30 } 31 31 version(linux){ 32 static const char[] ddlBinVersion = "beta.1. 2.linux.X86.bin";33 static const char[] ddl SrcVersion = "beta.1.2.src";32 static const char[] ddlBinVersion = "beta.1.3.linux.X86.bin"; 33 static const char[] ddlDocVersion = "beta.1.3.doc"; 34 34 } 35 36 static const char[] ddlSrcVersion = "beta.1.3.src"; 37 static const char[] docFiles = r"\.(ddoc|html|pdf|doc|css|js|jpg|gif|png)$"; trunk/doc/ddl/html/css/style.css
r256 r277 1 body{ 2 margin: 0px; 3 padding: 0px; 1 2 /* set background in Moz */ 3 body {font:normal 9pt arial; margin:10px;} 4 5 html>body #content{ 6 background: #FFF; 7 background-image: url('../img/watermark.png'); 8 background-repeat: no-repeat; 9 background-position: bottom right; 4 10 } 5 11 6 #pageheader{ 7 position: absolute; 8 top: 0px; 9 left: 0px; 10 width: 200px; 11 height: 40px; 12 overflow: auto; 13 } 14 15 #pageheader h2{ 16 margin: 0px; 17 } 18 19 #explorer{ 20 position: absolute; 21 top: 40px; 22 left: 0px; 23 width: 200px; 24 bottom: 0px; 25 overflow: auto; 12 #top{ 13 background: url('../img/logo.png') top left no-repeat; 14 padding-top: 0px; 26 15 } 27 16 28 17 #content{ 29 position: absolute; 30 top: 0px; 31 left: 200px; 32 right: 0px; 33 bottom: 0px; 34 overflow: auto; 18 padding-top: 10px; 35 19 } 36 20 37 #footer{ 38 position: absolute; 39 bottom: 0px; 40 left: 0px; 41 right: 0px; 42 height: 40px; 43 overflow: auto; 21 #menutree{ 22 overflow: hidden; 44 23 } 24 25 #bottom{ 26 background: #fff; 27 } 28 29 #bottom p{ 30 padding: 10px; 31 } 32 33 #tabheader{ 34 padding: 0px; 35 margin: 0px; 36 display: block; 37 white-space: nowrap; 38 height: 30px; 39 } 40 41 /**********************************************************/ 42 .tab-header{ 43 height: 30px; 44 width: 100%; 45 table-layout: fixed; 46 } 47 48 .tab{ 49 margin-left: 15px; 50 height: 30px; 51 text-align: left; 52 color: #ddd; 53 cursor: pointer; 54 overflow: hidden; 55 background: url('../img/tab/tab.disabled.left.png') top left no-repeat; 56 } 57 58 .tab nobr{ 59 height: 30px; 60 margin-left: 15px; 61 padding-top: 8px; 62 color: #fff; 63 display: block; 64 background: url('../img/tab/tab.disabled.png') repeat-x; 65 } 66 67 .tab-active{ 68 background: url('../img/tab/tab.enabled.left.png') top left no-repeat; 69 70 } 71 72 .tab-active nobr{ 73 height: 30px; 74 margin-left: 15px; 75 color: #000; 76 background: url('../img/tab/tab.enabled.png') repeat-x; 77 } 78 79 .tab-close{ 80 height: 30px; 81 width: 30px; 82 margin-right: 5px; 83 cursor: pointer; 84 background: url('../img/tab/close.disabled.png') top left no-repeat; 85 } 86 87 .tab-close-active{ 88 background: url('../img/tab/close.enabled.png') top left no-repeat; 89 } 90 91 /**********************************************************/ 92 93 .tab-body{ 94 display: none; 95 } 96 97 .tab-body-active{ 98 display: block; 99 } 100 101 /**********************************************************/ 102 .tab-inverted .tab-header{ 103 height: 30px; 104 width: 100%; 105 table-layout: fixed; 106 } 107 108 .tab-inverted .tab{ 109 margin-left: 15px; 110 height: 30px; 111 text-align: left; 112 color: #ddd; 113 cursor: pointer; 114 overflow: hidden; 115 background: url('../img/tab-inverted/tab.disabled.left.png') top left no-repeat; 116 } 117 118 .tab-inverted .tab nobr{ 119 height: 30px; 120 margin-left: 15px; 121 padding-top: 8px; 122 color: #fff; 123 display: block; 124 background: url('../img/tab-inverted/tab.disabled.png') repeat-x; 125 } 126 127 .tab-inverted .tab-active{ 128 background: url('../img/tab-inverted/tab.enabled.left.png') top left no-repeat; 129 130 } 131 132 .tab-inverted .tab-active nobr{ 133 height: 30px; 134 margin-left: 15px; 135 color: #000; 136 background: url('../img/tab-inverted/tab.enabled.png') repeat-x; 137 } 138 139 .tab-inverted .tab-close{ 140 height: 30px; 141 width: 30px; 142 margin-right: 5px; 143 cursor: pointer; 144 background: url('../img/tab-inverted/close.disabled.png') top left no-repeat; 145 } 146 147 .tab-inverted .tab-close-active{ 148 background: url('../img/tab-inverted/close.enabled.png') top left no-repeat; 149 } trunk/doc/ddl/html/ddl/Attributes.html
r250 r277 15 15 <br/><br/> 16 16 17 < dl></dl>17 <span class="d-modulemembers"></span> 18 18 19 19 </body></html> trunk/doc/ddl/html/ddl/DDLError.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>DDLError</u>: object.Error; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="DDLError">DDLError</span>: object.Error; 16 </span></dt> 17 17 18 <dd>Error subclass for DDL internals. Used when the application needs to halt, due to something 18 19 un-recoverable. 19 20 <br/><br/> 20 21 21 <dl>< /dl>22 <dl><span class="d-members"></span></dl> 22 23 </dd> 23 </ dl>24 </span> 24 25 25 26 </body></html> trunk/doc/ddl/html/ddl/DDLException.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>DDLException</u>: object.Exception; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="DDLException">DDLException</span>: object.Exception; 16 </span></dt> 17 17 18 <dd>Error subclass for DDL internals. Used when the application needs to be warned about something 18 19 that could adversely affect its behavior, but is potentially recoverable. The error message here … … 21 22 <br/><br/> 22 23 23 <dl>< /dl>24 <dl><span class="d-members"></span></dl> 24 25 </dd> 25 </ dl>26 </span> 26 27 27 28 </body></html> trunk/doc/ddl/html/ddl/DDLReader.html
r250 r277 15 15 <br/><br/> 16 16 17 < dl></dl>17 <span class="d-modulemembers"></span> 18 18 19 19 </body></html> trunk/doc/ddl/html/ddl/DDLWriter.html
r250 r277 15 15 <br/><br/> 16 16 17 < dl></dl>17 <span class="d-modulemembers"></span> 18 18 19 19 </body></html> trunk/doc/ddl/html/ddl/DefaultRegistry.html
r250 r277 16 16 <br/><br/> 17 17 18 < dl></dl>18 <span class="d-modulemembers"></span> 19 19 20 20 </body></html> trunk/doc/ddl/html/ddl/Demangle.html
r250 r277 16 16 <br/><br/> 17 17 18 <dl><dt><big>enum <u>DemangleType</u>; 19 </big></dt> 18 <span class="d-modulemembers"><dt><span class="d-decl">enum <span class="d-symbol" decl="DemangleType">DemangleType</span>; 19 </span></dt> 20 20 21 <dd>The type of symbol that is represented by a given mangled name. 21 22 <br/><br/> … … 24 25 <br/><br/> 25 26 26 <dl>< /dl>27 <dl><span class="d-members"></span></dl> 27 28 </dd> 28 <dt><big>char[] <u>demangleSymbol</u>(char[] <i>symbol</i>); 29 </big></dt> 30 <dd>Parses a mangled D <i>symbol</i> and returns the equivalent D code to match the <i>symbol</i>. 29 <dt><span class="d-decl">char[] <span class="d-symbol" decl="demangleSymbol">demangleSymbol</span>(char[] <span class="d-param">symbol</span> 30 ); 31 </span></dt> 32 33 <dd>Parses a mangled D <span class="d-param">symbol</span> 34 and returns the equivalent D code to match the <span class="d-param">symbol</span> 35 . 31 36 <br/><br/> 32 <table><tr><td>char[] <i>symbol</i></td> 33 <td>The mangled D <i>symbol</i>.</td></tr> 34 </table><br/><br/> 37 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">symbol</span> 38 </td> 39 <td><span class="d-paramdesc">The mangled D <span class="d-param">symbol</span> 40 .</span></td></tr> 41 </table><br/><br/></span> 35 42 <b>Returns:</b><br/> 36 A D code representation of the <i>symbol</i>. 43 A D code representation of the <span class="d-param">symbol</span> 44 . 37 45 <br/><br/> 38 46 39 47 </dd> 40 <dt><big>DemangleType <u>getDemangleType</u>(char[] <i>symbol</i>); 41 </big></dt> 42 <dd>Parses a mangled D <i>symbol</i> and returns its DemangleType. 48 <dt><span class="d-decl">DemangleType <span class="d-symbol" decl="getDemangleType">getDemangleType</span>(char[] <span class="d-param">symbol</span> 49 ); 50 </span></dt> 51 52 <dd>Parses a mangled D <span class="d-param">symbol</span> 53 and returns its DemangleType. 43 54 <br/><br/> 44 <table><tr><td>char[] <i>symbol</i></td> 45 <td>The mangled D <i>symbol</i>.</td></tr> 46 </table><br/><br/> 55 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">symbol</span> 56 </td> 57 <td><span class="d-paramdesc">The mangled D <span class="d-param">symbol</span> 58 .</span></td></tr> 59 </table><br/><br/></span> 47 60 <b>Returns:</b><br/> 48 The DemangleType for the <i>symbol</i>. 61 The DemangleType for the <span class="d-param">symbol</span> 62 . 49 63 <br/><br/> 50 64 51 65 </dd> 52 </ dl>66 </span> 53 67 54 68 </body></html> trunk/doc/ddl/html/ddl/DynamicLibrary.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>DynamicLibrary</u>; 16 </big></dt> 17 <dd>Abstract base class for all <u>DynamicLibrary</u> types for use with DDL. 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="DynamicLibrary">DynamicLibrary</span>; 16 </span></dt> 17 18 <dd>Abstract base class for all <span class="d-symbol" decl="DynamicLibrary">DynamicLibrary</span> types for use with DDL. 18 19 <br/><br/> 19 20 20 <dl><dt><big>ExportSymbol * <u>getSymbol</u>(char[] <i>name</i>); 21 </big></dt> 21 <dl><span class="d-members"><dt><span class="d-decl">ExportSymbol * <span class="d-symbol" decl="getSymbol">getSymbol</span>(char[] <span class="d-param">name</span> 22 ); 23 </span></dt> 24 22 25 <dd><b>Returns:</b><br/> 23 an export for the requested symbol <i>name</i>. Will throw if the symbol does not exist. 26 an export for the requested symbol <span class="d-param">name</span> 27 . Will throw if the symbol does not exist. 24 28 25 29 <br/><br/> 26 30 27 31 </dd> 28 <dt><big>DynamicModule[] <u>getModules</u>(); 29 </big></dt> 32 <dt><span class="d-decl">DynamicModule[] <span class="d-symbol" decl="getModules">getModules</span>(); 33 </span></dt> 34 30 35 <dd><b>Returns:</b><br/> 31 36 all the modules controled by this library. … … 34 39 35 40 </dd> 36 <dt><big>char[] <u>getType</u>(); 37 </big></dt> 41 <dt><span class="d-decl">char[] <span class="d-symbol" decl="getType">getType</span>(); 42 </span></dt> 43 38 44 <dd>This provides a means to identify what type of library is being used here. 39 45 The string returned matches the string returned by the DymamicLibraryLoader … … 46 52 47 53 </dd> 48 <dt><big>char[][char[]] <u>getAttributes</u>(); 49 </big></dt> 54 <dt><span class="d-decl">char[][char[]] <span class="d-symbol" decl="getAttributes">getAttributes</span>(); 55 </span></dt> 56 50 57 <dd><b>Returns:</b><br/> 51 58 the attributes for this library. … … 54 61 55 62 </dd> 56 <dt><big>DynamicModule <u>getModuleForSymbol</u>(char[] <i>name</i>); 57 </big></dt> 58 <dd>The <u>getModuleForSymbol</u>() method provides a way for DymamicLibrary implementations to implement 63 <dt><span class="d-decl">DynamicModule <span class="d-symbol" decl="getModuleForSymbol">getModuleForSymbol</span>(char[] <span class="d-param">name</span> 64 ); 65 </span></dt> 66 67 <dd>The <span class="d-symbol" decl="getModuleForSymbol">getModuleForSymbol</span>() method provides a way for DymamicLibrary implementations to implement 59 68 conservative loading of modules when a link operation is in progress. The linker 60 uses this method to get a module for a given export <i>name</i>, and then processes 69 uses this method to get a module for a given export <span class="d-param">name</span> 70 , and then processes 61 71 the link operation against the module returned. 62 72 <br/><br/> … … 64 74 forces the implementation to return every and all modules it controls, without exception. 65 75 <br/><br/> 66 67 76 68 77 In light of that, Relying on the getModules() (and getSymbols()) methods can have serious … … 74 83 <br/><br/> 75 84 <b>Returns:</b><br/> 76 the module contianing the export, or <b>null</b>if no module in this library contains85 the module contianing the export, or $B(<span class="d-keyword">null</span>) if no module in this library contains 77 86 the export. The module is not guaranteed to contain the symbol provided, and can simply be 78 87 the library's best guess as to a match. Call getSymbol() on the returned module to eliminate 79 any such <b>false</b>-positives.88 any such $B(<span class="d-keyword">false</span>)-positives. 80 89 81 90 <br/><br/> 82 <table><tr><td>char[] <i>name</i></td> 83 <td>the <i>name</i> of the symbol to find a module match for.</td></tr> 84 </table><br/><br/> 91 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">name</span> 92 </td> 93 <td><span class="d-paramdesc">the <span class="d-param">name</span> 94 of the symbol to find a module match for.</span></td></tr> 95 </table><br/><br/></span> 85 96 86 97 </dd> 87 <dt><big>ubyte[] <u>getResource</u>(char[] <i>name</i>); 88 </big></dt> 89 <dd>The use of the <u>getResource</u> method is primarily to support resource loading on 98 <dt><span class="d-decl">ubyte[] <span class="d-symbol" decl="getResource">getResource</span>(char[] <span class="d-param">name</span> 99 ); 100 </span></dt> 101 102 <dd>The use of the <span class="d-symbol" decl="getResource">getResource</span> method is primarily to support resource loading on 90 103 .zip style collections. Its behavior is very implementation dependent, but it 91 can be reliably expected to return <b>null</b>if a resource cannot be reproduced.104 can be reliably expected to return $B(<span class="d-keyword">null</span>) if a resource cannot be reproduced. 92 105 <br/><br/> 93 106 <b>Returns:</b><br/> 94 the requested resource, or <b>null</b>if it does not exist.107 the requested resource, or $B(<span class="d-keyword">null</span>) if it does not exist. 95 108 <br/><br/> 96 <table><tr><td>char[] <i>name</i></td> 97 <td>the <i>name</i> of the symbol to search for.</td></tr> 98 </table><br/><br/> 109 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">name</span> 110 </td> 111 <td><span class="d-paramdesc">the <span class="d-param">name</span> 112 of the symbol to search for.</span></td></tr> 113 </table><br/><br/></span> 99 114 100 115 </dd> 101 <dt><big>template <u>getClassInfo</u>(char[] classname)</big></dt> 116 <dt><span class="d-decl">template <span class="d-symbol" decl="getClassInfo">getClassInfo</span>(char[] classname)</span></dt> 117 102 118 <dd>Template method that returns a ClassInfo instance for the given classname. 103 119 <br/><br/> 104 120 <b>Returns:</b><br/> 105 a ClassInfo instance for classname, or <b>null</b>if none exists.121 a ClassInfo instance for classname, or $B(<span class="d-keyword">null</span>) if none exists. 106 122 <br/><br/> 107 < table><tr><td>classname</td>108 <td> the D namespace and name of the class to search for.</td></tr>109 </table><br/><br/> 123 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">classname</td> 124 <td><span class="d-paramdesc">the D namespace and name of the class to search for.</span></td></tr> 125 </table><br/><br/></span> 110 126 111 <dl>< /dl>127 <dl><span class="d-members"></span></dl> 112 128 </dd> 113 <dt><big>template <u>getCtor</u>(TInterface,char[] classname)</big></dt> 114 <dd>TInterface function(P1) <u>getCtor</u>!(TInterface, classname, P1); 129 <dt><span class="d-decl">template <span class="d-symbol" decl="getCtor">getCtor</span>(TInterface,char[] classname)</span></dt> 130 131 <dd>TInterface function(P1) <span class="d-symbol" decl="getCtor">getCtor</span>!(TInterface, classname, P1); 115 132 <br/><br/> 116 133 Returns a function which constructs a class, using the given parameters. … … 128 145 <br/><br/> 129 146 130 <dl>< /dl>147 <dl><span class="d-members"></span></dl> 131 148 </dd> 132 </ dl>149 </span></dl> 133 150 </dd> 134 </ dl>151 </span> 135 152 136 153 </body></html> trunk/doc/ddl/html/ddl/DynamicLibraryLoader.html
r250 r277 15 15 <br/><br/> 16 16 17 <dl><dt><big>class <u>DynamicLibraryLoader</u>; 18 </big></dt> 17 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="DynamicLibraryLoader">DynamicLibraryLoader</span>; 18 </span></dt> 19 19 20 <dd>Base class for all dynamic library loaders. 20 21 <br/><br/> 21 22 22 <dl><dt><big>char[] <u>getLibraryType</u>(); 23 </big></dt> 23 <dl><span class="d-members"><dt><span class="d-decl">char[] <span class="d-symbol" decl="getLibraryType">getLibraryType</span>(); 24 </span></dt> 25 24 26 <dd><b>Returns:</b><br/> 25 27 the type for this library. … … 28 30 29 31 </dd> 30 <dt><big>bool <u>canLoadLibrary</u>(FileBuffer <i>file</i>); 31 </big></dt> 32 <dd>The implementaiton is understood to check the <i>file</i> by inspecting its contents. 32 <dt><span class="d-decl">bool <span class="d-symbol" decl="canLoadLibrary">canLoadLibrary</span>(FileBuffer <span class="d-param">file</span> 33 ); 34 </span></dt> 35 36 <dd>The implementaiton is understood to check the <span class="d-param">file</span> 37 by inspecting its contents. 33 38 The implementor must be sure to not advance the internal buffer pointer, so that 34 39 future checks against the buffer can all begin at the same location. 35 40 <br/><br/> 36 41 <b>Returns:</b><br/> 37 <b>true</b> if the <i>file</i> can be loaded by this loader, <b>false</b> if it cannot. 42 $B(<span class="d-keyword">true</span>) if the <span class="d-param">file</span> 43 can be loaded by this loader, $B(<span class="d-keyword">false</span>) if it cannot. 38 44 39 45 <br/><br/> 40 46 41 47 </dd> 42 <dt><big>DynamicLibrary <u>load</u>(LoaderRegistry <i>registry</i>, FileBuffer <i>file</i>); 43 </big></dt> 44 <dd>Loads a binary <i>file</i>. 48 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="load">load</span>(LoaderRegistry <span class="d-param">registry</span> 49 , FileBuffer <span class="d-param">file</span> 50 ); 51 </span></dt> 52 53 <dd>Loads a binary <span class="d-param">file</span> 54 . 45 55 <br/><br/> 46 56 <b>Returns:</b><br/> 47 the library stored in the provided <i>file</i>. 57 the library stored in the provided <span class="d-param">file</span> 58 . 48 59 <br/><br/> 49 <table><tr><td>FileBuffer <i>file</i></td> 50 <td>the <i>file</i> that contains the binary library data.</td></tr> 51 </table><br/><br/> 60 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">FileBuffer <span class="d-param">file</span> 61 </td> 62 <td><span class="d-paramdesc">the <span class="d-param">file</span> 63 that contains the binary library data.</span></td></tr> 64 </table><br/><br/></span> 52 65 53 66 </dd> 54 </ dl>67 </span></dl> 55 68 </dd> 56 </ dl>69 </span> 57 70 58 71 </body></html> trunk/doc/ddl/html/ddl/DynamicModule.html
r250 r277 14 14 15 15 $(DDOC_MODULE_MEMBERS 16 <dt><big>class <u>DynamicModule</u>; 17 </big></dt> 16 <dt><span class="d-decl">class <span class="d-symbol" decl="DynamicModule">DynamicModule</span>; 17 </span></dt> 18 18 19 <dd>Represents a binary module within DDL. 19 20 <br/><br/> … … 23 24 <br/><br/> 24 25 25 <dl><dt><big>char[] <u>getName</u>(); 26 </big></dt> 26 <dl><span class="d-members"><dt><span class="d-decl">char[] <span class="d-symbol" decl="getName">getName</span>(); 27 </span></dt> 28 27 29 <dd>Returns the name of the module. 28 30 <br/><br/> 29 While the result of < u>getName</u>() is largely compiler dependent for .asm or .c31 While the result of <span class="d-symbol" decl="getName">getName</span>() is largely compiler dependent for .asm or .c 30 32 based binary files, D compilers reliably use the file name with the '.d' file extension 31 33 for the name of the module. 32 34 <br/><br/> 33 34 35 35 36 For D modules, the name of the module should look like a module namespace followed … … 43 44 44 45 </dd> 45 <dt><big>char[] <u>getNamespace</u>(); 46 </big></dt> 46 <dt><span class="d-decl">char[] <span class="d-symbol" decl="getNamespace">getNamespace</span>(); 47 </span></dt> 48 47 49 <dd>This implementation depends on the behavior of getName(). Implementers may wish to 48 50 override this method if that is unacceptable or may yield unpredicable results. … … 54 56 55 57 </dd> 56 <dt><big>char[] <u>getRawNamespace</u>(); 57 </big></dt> 58 <dt><span class="d-decl">char[] <span class="d-symbol" decl="getRawNamespace">getRawNamespace</span>(); 59 </span></dt> 60 58 61 <dd>The value returned by this method is the raw namespace (eg. "3std6foobar"), which is the 59 62 same format used for all D symbols. As D symbols are declared along with their namespace, … … 71 74 72 75 </dd> 73 <dt><big>char[][char[]] <u>getAttributes</u>(); 74 </big></dt> 76 <dt><span class="d-decl">char[][char[]] <span class="d-symbol" decl="getAttributes">getAttributes</span>(); 77 </span></dt> 78 75 79 <dd>Looks for a symbol of the form "static const char[][char[]] {namespace}.DDLAttributes", 76 80 and returns it if it exists. Note that the module does not have to be resolved for this … … 90 94 91 95 </dd> 92 <dt><big>ExportSymbol [] <u>getSymbols</u>(); 93 </big></dt> 96 <dt><span class="d-decl">ExportSymbol [] <span class="d-symbol" decl="getSymbols">getSymbols</span>(); 97 </span></dt> 98 94 99 <dd>Returns the set of all symbols for the module. 95 100 … … 97 102 98 103 </dd> 99 <dt><big>ExportSymbol * <u>getSymbol</u>(char[] <i>name</i>); 100 </big></dt> 101 <dd>Gets a specific export by <i>name</i>. If the export does not exist, the method returns ExportSymbol.init. 104 <dt><span class="d-decl">ExportSymbol * <span class="d-symbol" decl="getSymbol">getSymbol</span>(char[] <span class="d-param">name</span> 105 ); 106 </span></dt> 107 108 <dd>Gets a specific export by <span class="d-param">name</span> 109 . If the export does not exist, the method returns ExportSymbol.init. 102 110 103 111 <br/><br/> 104 112 105 113 </dd> 106 <dt><big>void <u>resolveFixups</u>(); 107 </big></dt> 114 <dt><span class="d-decl">void <span class="d-symbol" decl="resolveFixups">resolveFixups</span>(); 115 </span></dt> 116 108 117 <dd>Prods the module to resolve any pending fixups. Used during linking. 109 118 … … 111 120 112 121 </dd> 113 <dt><big>bool <u>isResolved</u>(); 114 </big></dt> 122 <dt><span class="d-decl">bool <span class="d-symbol" decl="isResolved">isResolved</span>(); 123 </span></dt> 124 115 125 <dd>Returns the current resolution state of the module. 116 126 <br/><br/> 117 Generally speaking, < u>isResolved</u> is <b>false</b>if there are still external symbols (dependencies to118 resolve. If all these dependencies are resolved, then < u>isResolved</u> returns <b>true</b>.127 Generally speaking, <span class="d-symbol" decl="isResolved">isResolved</span> is $B(<span class="d-keyword">false</span>) if there are still external symbols (dependencies to 128 resolve. If all these dependencies are resolved, then <span class="d-symbol" decl="isResolved">isResolved</span> returns $B(<span class="d-keyword">true</span>). 119 129 <br/><br/> 120 121 130 122 131 It is ill-advised to attempt to use any symbols returned from a DynamicModule in an interactive … … 127 136 <br/><br/> 128 137 129 <dt><big>bool <u>isLinking</u>; 130 </big></dt> 138 <dt><span class="d-decl">bool <span class="d-symbol" decl="isLinking">isLinking</span>; 139 </span></dt> 140 131 141 <dd>Determines if the module is being linked. 132 142 <br/><br/> … … 136 146 <br/><br/> 137 147 138 139 If <b>true</b>, the module is being linked. If <b>false</b>, the module is not being linked. 148 If $B(<span class="d-keyword">true</span>), the module is being linked. If $B(<span class="d-keyword">false</span>), the module is not being linked. 140 149 141 150 <br/><br/> … … 143 152 </dd> 144 153 </dd> 145 </ dl>154 </span></dl> 146 155 </dd> 147 156 trunk/doc/ddl/html/ddl/ExportSymbol.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>struct <u>ExportSymbol</u>; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">struct <span class="d-symbol" decl="ExportSymbol">ExportSymbol</span>; 16 </span></dt> 17 17 18 <dd>Defines a symbol within a DynamicModule. 18 19 <br/><br/> 19 20 20 <dl><dt><big>SymbolType <u>type</u>; 21 </big></dt> 22 <dd>The <u>type</u> of the symbol. 21 <dl><span class="d-members"><dt><span class="d-decl">SymbolType <span class="d-symbol" decl="type">type</span>; 22 </span></dt> 23 24 <dd>The <span class="d-symbol" decl="type">type</span> of the symbol. 23 25 24 26 <br/><br/> 25 27 26 28 </dd> 27 <dt><big>void* <u>address</u>; 28 </big></dt> 29 <dd>The <u>address</u> of the symbol. 29 <dt><span class="d-decl">void* <span class="d-symbol" decl="address">address</span>; 30 </span></dt> 31 32 <dd>The <span class="d-symbol" decl="address">address</span> of the symbol. 30 33 <br/><br/> 31 In some very rare cases, this may be a <b>null</b>value. It is reccomended that the developer test34 In some very rare cases, this may be a $B(<span class="d-keyword">null</span>) value. It is reccomended that the developer test 32 35 against ExportSymbol.init if they wish to determine if an ExportSymbol has been set/defined. 33 36 … … 35 38 36 39 </dd> 37 <dt><big>char[] <u>name</u>; 38 </big></dt> 39 <dd>The <u>name</u> of the symbol. 40 <dt><span class="d-decl">char[] <span class="d-symbol" decl="name">name</span>; 41 </span></dt> 42 43 <dd>The <span class="d-symbol" decl="name">name</span> of the symbol. 40 44 <br/><br/> 41 Invariably, this string will contain the "mangled" < u>name</u> that the compiler generates for45 Invariably, this string will contain the "mangled" <span class="d-symbol" decl="name">name</span> that the compiler generates for 42 46 the symbol. For D Modules, this will contain a properly mangled D symbol, per the D ABI. 43 47 <br/><br/> 44 45 48 46 49 C symbols are usually exported as an underscore followed by the identifier as it reads in … … 52 55 53 56 </dd> 54 <dt><big>bool <u>isResolved</u>(); 55 </big></dt> 57 <dt><span class="d-decl">bool <span class="d-symbol" decl="isResolved">isResolved</span>(); 58 </span></dt> 59 56 60 <dd>Returns the resolution status of this symbol. 57 61 <br/><br/> 58 62 59 63 </dd> 60 <dt><big>static ExportSymbol <u>NONE</u>; 61 </big></dt> 64 <dt><span class="d-decl">static ExportSymbol <span class="d-symbol" decl="NONE">NONE</span>; 65 </span></dt> 66 62 67 <dd>Can be used as an empty symbol, e.g. 63 return ExportSymbol.< u>NONE</u>;68 return ExportSymbol.<span class="d-symbol" decl="NONE">NONE</span>; 64 69 65 70 <br/><br/> 66 71 67 72 </dd> 68 <dt><big>char[] <u>getTypeName</u>(); 69 </big></dt> 73 <dt><span class="d-decl">char[] <span class="d-symbol" decl="getTypeName">getTypeName</span>(); 74 </span></dt> 75 70 76 <dd>Returns a friendly name for the type of symbol, based on it's 'type' member. 71 77 … … 73 79 74 80 </dd> 75 </ dl>81 </span></dl> 76 82 </dd> 77 </ dl>83 </span> 78 84 79 85 </body></html> trunk/doc/ddl/html/ddl/FileBuffer.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\FileBuffer.d --> 8 8 <br/><br/> 9 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="FileBuffer">FileBuffer</span>: mango.io.Buffer.Buffer; 10 </span></dt> 9 11 10 <dl><dt><big>class <u>FileBuffer</u>: mango.io.Buffer.Buffer;11 </big></dt>12 12 <dd>Gives the basic Mango buffer class some additional information about its origin. 13 13 <br/><br/> 14 14 15 <dl>< /dl>15 <dl><span class="d-members"></span></dl> 16 16 </dd> 17 </ dl>17 </span> 18 18 19 19 </body></html> trunk/doc/ddl/html/ddl/Linker.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>LinkModuleException</u>: object.Exception; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="LinkModuleException">LinkModuleException</span>: object.Exception; 16 </span></dt> 17 17 18 <dd>Exception class used exclusively by the Linker. 18 19 <br/><br/> 19 <u>LinkModuleException</u> are generated when the linker cannot resolve a module during the linking process. 20 <br/><br/> 21 22 <dl><dt><big>DynamicModule <u>reason</u>(); 23 </big></dt> 20 <span class="d-symbol" decl="LinkModuleException">LinkModuleException</span> are generated when the linker cannot resolve a module during the linking process. 21 <br/><br/> 22 23 <dl><span class="d-members"><dt><span class="d-decl">DynamicModule <span class="d-symbol" decl="reason">reason</span>(); 24 </span></dt> 25 24 26 <dd>Module that prompted the link exception. 25 27 … … 27 29 28 30 </dd> 29 <dt><big>this(DynamicModule <i>reason</i>); 30 </big></dt> 31 <dt><span class="d-decl">this(DynamicModule <span class="d-param">reason</span> 32 ); 33 </span></dt> 34 31 35 <dd>Constructor. 32 36 <br/><br/> 33 <table><tr><td>DynamicModule <i>reason</i></td> 34 <td>the module that prompts the exception</td></tr> 35 </table><br/><br/> 36 37 </dd> 38 </dl> 39 </dd> 40 <dt><big>class <u>Linker</u>; 41 </big></dt> 37 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">DynamicModule <span class="d-param">reason</span> 38 </td> 39 <td><span class="d-paramdesc">the module that prompts the exception</span></td></tr> 40 </table><br/><br/></span> 41 42 </dd> 43 </span></dl> 44 </dd> 45 <dt><span class="d-decl">class <span class="d-symbol" decl="Linker">Linker</span>; 46 </span></dt> 47 42 48 <dd>General-Purpose runtime linker for DDL. 43 49 <br/><br/> 44 50 45 <dl><dt><big>protected DynamicLibrary[] <u>libraries</u>; 46 </big></dt> 47 <dd>Library list for <u>libraries</u> used for linking. 51 <dl><span class="d-members"><dt><span class="d-decl">protected DynamicLibrary[] <span class="d-symbol" decl="libraries">libraries</span>; 52 </span></dt> 53 54 <dd>Library list for <span class="d-symbol" decl="libraries">libraries</span> used for linking. 48 55 <br/><br/> 49 56 The implementation here is deliberately simple -- some would call it brain-dead. … … 51 58 develop more sophisticated linking and library management behaviors. 52 59 <br/><br/> 53 54 60 55 61 The order of insertion into the library list is used as a priority scheme … … 57 63 added to the linker should be the current in-situ library, should linking 58 64 to classes and types in the current runtime be a requirement. In any case 59 the next candidates for addition to the linker should be the runtime < u>libraries</u>65 the next candidates for addition to the linker should be the runtime <span class="d-symbol" decl="libraries">libraries</span> 60 66 in no particular order. 61 67 <br/><br/> 62 63 68 64 69 The linker will attept to link against the first library first, and so on … … 68 73 69 74 </dd> 70 <dt><big>this(LoaderRegistry <i>registry</i>); 71 </big></dt> 75 <dt><span class="d-decl">this(LoaderRegistry <span class="d-param">registry</span> 76 ); 77 </span></dt> 78 72 79 <dd>The linker uses an LoaderRegistry to handle internal library dependencies 73 80 automatically, such that the developer can more easily automate linking behavior. 74 81 <br/><br/> 75 <table><tr><td>LoaderRegistry <i>registry</i></td> 76 <td>the LoaderRegistry to use when loading binaries.</td></tr> 77 </table><br/><br/> 78 79 </dd> 80 <dt><big>LoaderRegistry <u>getRegistry</u>(); 81 </big></dt> 82 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">LoaderRegistry <span class="d-param">registry</span> 83 </td> 84 <td><span class="d-paramdesc">the LoaderRegistry to use when loading binaries.</span></td></tr> 85 </table><br/><br/></span> 86 87 </dd> 88 <dt><span class="d-decl">LoaderRegistry <span class="d-symbol" decl="getRegistry">getRegistry</span>(); 89 </span></dt> 90 82 91 <dd><b>Returns:</b><br/> 83 92 the current registry … … 86 95 87 96 </dd> 88 <dt><big>protected void <u>initModule</u>(ModuleInfo <i>m</i>, int <i>skip</i>); 89 </big></dt> 97 <dt><span class="d-decl">protected void <span class="d-symbol" decl="initModule">initModule</span>(ModuleInfo <span class="d-param">m</span> 98 , int <span class="d-param">skip</span> 99 ); 100 </span></dt> 101 90 102 <dd>Initalizes a ModuleInfo instance from a DynamicModule. 91 103 <br/><br/> … … 95 107 96 108 </dd> 97 <dt><big>void <u>link</u>(DynamicModule <i>mod</i>, inout ModuleInfo[DynamicModule] <i>moduleSet</i>, bool <i>canSelfResolve</i> = false); 98 </big></dt> 109 <dt><span class="d-decl">void <span class="d-symbol" decl="link">link</span>(DynamicModule <span class="d-param">mod</span> 110 , inout ModuleInfo[DynamicModule] <span class="d-param">moduleSet</span> 111 , bool <span class="d-param">canSelfResolve</span> 112 = false); 113 </span></dt> 114 99 115 <dd>Links a module against the linker's internal cross-reference. 100 116 <br/><br/> … … 103 119 <br/><br/> 104 120 105 106 The parameter <i>canSelfResolve</i> is passed as '<b>true</b>' for registraion variants of <u>link</u>121 The parameter <span class="d-param">canSelfResolve</span> 122 is passed as '$B(<span class="d-keyword">true</span>)' for registraion variants of <span class="d-symbol" decl="link">link</span> 107 123 routines. 108 124 <br/><br/> 109 125 110 111 <i>moduleSet</i> a set of modules that need initalization following the <u>link</u> pass. 112 113 <br/><br/> 114 115 </dd> 116 <dt><big>void <u>link</u>(DynamicLibrary <i>lib</i>); 117 </big></dt> 126 <span class="d-param">moduleSet</span> 127 a set of modules that need initalization following the <span class="d-symbol" decl="link">link</span> pass. 128 129 <br/><br/> 130 131 </dd> 132 <dt><span class="d-decl">void <span class="d-symbol" decl="link">link</span>(DynamicLibrary <span class="d-param">lib</span> 133 ); 134 </span></dt> 135 118 136 <dd>Links a library against the linker's internal cross-reference. 119 137 <br/><br/> 120 There is a subtle difference between linking a <i>lib</i> and linking a <i>lib</i> that has been 121 added to the cross-reference. If every module in the <i>lib</i> is merely dependent upon 122 modules that exist in the cross-reference already, then just calling <u>link</u> will do 123 the task. Otherwise, the <i>lib</i> should be added to the cross-reference first, before 124 proceeding with the actual <u>link</u>. 138 There is a subtle difference between linking a <span class="d-param">lib</span> 139 and linking a <span class="d-param">lib</span> 140 that has been 141 added to the cross-reference. If every module in the <span class="d-param">lib</span> 142 is merely dependent upon 143 modules that exist in the cross-reference already, then just calling <span class="d-symbol" decl="link">link</span> will do 144 the task. Otherwise, the <span class="d-param">lib</span> 145 should be added to the cross-reference first, before 146 proceeding with the actual <span class="d-symbol" decl="link">link</span>. 125 147 126 148 <br/><br/> … … 139 161 140 162 </dd> 141 <dt><big>DynamicLibrary <u>load</u>(char[] <i>filename</i>, char[] <i>attrStdVersion</i> = ""); 142 </big></dt> 143 <dd>Loads a library for the <i>filename</i>. 144 <br/><br/> 145 If the <i>attrStdVersion</i> parameter is supplied this is matched against the "std.version" 163 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="load">load</span>(char[] <span class="d-param">filename</span> 164 , char[] <span class="d-param">attrStdVersion</span> 165 = ""); 166 </span></dt> 167 168 <dd>Loads a library for the <span class="d-param">filename</span> 169 . 170 <br/><br/> 171 If the <span class="d-param">attrStdVersion</span> 172 parameter is supplied this is matched against the "std.version" 146 173 attribute in the supplied library. If the attribute doesn't exist, and or the 147 <i>attrStdVersion</i> attribute is omitted or set to "", then the library is loaded anyway. 148 Otherwise, should <i>attrStdVersion</i> not match the "std.version" attribute, the method 174 <span class="d-param">attrStdVersion</span> 175 attribute is omitted or set to "", then the library is loaded anyway. 176 Otherwise, should <span class="d-param">attrStdVersion</span> 177 not match the "std.version" attribute, the method 149 178 throws an exception. 150 179 151 180 <br/><br/> 152 <table><tr><td>char[] <i>filename</i></td> 153 <td>the <i>filename</i> of the library to <u>load</u></td></tr> 154 <tr><td>char[] <i>attrStdVersion</i></td> 155 <td>(optional) value to match to attribute "std.version" in the loaded library.</td></tr> 156 </table><br/><br/> 157 158 </dd> 159 <dt><big>void <u>register</u>(DynamicLibrary <i>lib</i>); 160 </big></dt> 181 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">filename</span> 182 </td> 183 <td><span class="d-paramdesc">the <span class="d-param">filename</span> 184 of the library to <span class="d-symbol" decl="load">load</span></span></td></tr> 185 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">attrStdVersion</span> 186 </td> 187 <td><span class="d-paramdesc">(optional) value to match to attribute "std.version" in the loaded library.</span></td></tr> 188 </table><br/><br/></span> 189 190 </dd> 191 <dt><span class="d-decl">void <span class="d-symbol" decl="register">register</span>(DynamicLibrary <span class="d-param">lib</span> 192 ); 193 </span></dt> 194 161 195 <dd>Registers a library with the linker to be used during link operations. 162 196 … … 164 198 165 199 </dd> 166 <dt><big>DynamicLibrary <u>loadAndRegister</u>(char[] <i>filename</i>, char[] <i>attrStdVersion</i> = ""); 167 </big></dt> 200 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="loadAndRegister">loadAndRegister</span>(char[] <span class="d-param">filename</span> 201 , char[] <span class="d-param">attrStdVersion</span> 202 = ""); 203 </span></dt> 204 168 205 <dd>Loads a DDL library and registers it with this linker. 169 206 <br/><br/> 170 207 <b>Returns:</b><br/> 171 the DynamicLibrary that corresponds to <i>filename</i> 172 <br/><br/> 173 <table><tr><td>char[] <i>filename</i></td> 174 <td>the file name of the library to load</td></tr> 175 </table><br/><br/> 176 177 </dd> 178 <dt><big>DynamicLibrary <u>loadAndLink</u>(char[] <i>filename</i>, char[] <i>attrStdVersion</i> = ""); 179 </big></dt> 208 the DynamicLibrary that corresponds to <span class="d-param">filename</span> 209 210 <br/><br/> 211 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">filename</span> 212 </td> 213 <td><span class="d-paramdesc">the file name of the library to load</span></td></tr> 214 </table><br/><br/></span> 215 216 </dd> 217 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="loadAndLink">loadAndLink</span>(char[] <span class="d-param">filename</span> 218 , char[] <span class="d-param">attrStdVersion</span> 219 = ""); 220 </span></dt> 221 180 222 <dd>Loads a DDL library and links it against all registered libraries. 181 223 <br/><br/> 182 224 <b>Returns:</b><br/> 183 the DynamicLibrary that corresponds to <i>filename</i> 184 <br/><br/> 185 <table><tr><td>char[] <i>filename</i></td> 186 <td>the file name of the library to load</td></tr> 187 </table><br/><br/> 188 189 </dd> 190 <dt><big>DynamicLibrary <u>loadLinkAndRegister</u>(char[] <i>filename</i>, char[] <i>attrStdVersion</i> = ""); 191 </big></dt> 225 the DynamicLibrary that corresponds to <span class="d-param">filename</span> 226 227 <br/><br/> 228 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">filename</span> 229 </td> 230 <td><span class="d-paramdesc">the file name of the library to load</span></td></tr> 231 </table><br/><br/></span> 232 233 </dd> 234 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="loadLinkAndRegister">loadLinkAndRegister</span>(char[] <span class="d-param">filename</span> 235 , char[] <span class="d-param">attrStdVersion</span> 236 = ""); 237 </span></dt> 238 192 239 <dd>Loads a DDL library, links it against all registered libraries, and registers it. 193 240 <br/><br/> 194 241 <b>Returns:</b><br/> 195 the DynamicLibrary that corresponds to <i>filename</i> 196 <br/><br/> 197 <table><tr><td>char[] <i>filename</i></td> 198 <td>the file name of the library to load</td></tr> 199 </table><br/><br/> 200 201 </dd> 202 </dl> 203 </dd> 204 </dl> 242 the DynamicLibrary that corresponds to <span class="d-param">filename</span> 243 244 <br/><br/> 245 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">filename</span> 246 </td> 247 <td><span class="d-paramdesc">the file name of the library to load</span></td></tr> 248 </table><br/><br/></span> 249 250 </dd> 251 </span></dl> 252 </dd> 253 </span> 205 254 206 255 </body></html> trunk/doc/ddl/html/ddl/LoaderRegistry.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\LoaderRegistry.d --> 8 8 <br/><br/> 9 10 < dl><dt><big>class <u>LibraryVersionException</u>: object.Exception;11 </big></dt> 9 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="LibraryVersionException">LibraryVersionException</span>: object.Exception; 10 </span></dt> 11 12 12 <dd>Exception class used exclusively by the Linker. 13 13 <br/><br/> 14 < u>LibraryVersionException</u> are generated when the linker can load a library but it does not match14 <span class="d-symbol" decl="LibraryVersionException">LibraryVersionException</span> are generated when the linker can load a library but it does not match 15 15 the requested version as embedded in that module's metadata (std.version). 16 16 <br/><br/> 17 17 18 <dl><dt><big>char[] <u>getLibraryName</u>(); 19 </big></dt> 18 <dl><span class="d-members"><dt><span class="d-decl">char[] <span class="d-symbol" decl="getLibraryName">getLibraryName</span>(); 19 </span></dt> 20 20 21 <dd>The name of the library that was the cause of the exception 21 22 <br/><br/> 22 23 23 24 </dd> 24 <dt><big>char[] <u>getRequiredStdVersion</u>(); 25 </big></dt> 25 <dt><span class="d-decl">char[] <span class="d-symbol" decl="getRequiredStdVersion">getRequiredStdVersion</span>(); 26 </span></dt> 27 26 28 <dd>The required version for the library 27 29 <br/><br/> 28 30 29 31 </dd> 30 <dt><big>char[] <u>getLibStdVersion</u>(); 31 </big></dt> 32 <dt><span class="d-decl">char[] <span class="d-symbol" decl="getLibStdVersion">getLibStdVersion</span>(); 33 </span></dt> 34 32 35 <dd>The value of std.version in the libary 33 36 <br/><br/> 34 37 35 38 </dd> 36 <dt><big>this(char[] <i>libraryName</i>, char[] <i>requiredStdVersion</i>, char[] <i>libStdVersion</i>); 37 </big></dt> 39 <dt><span class="d-decl">this(char[] <span class="d-param">libraryName</span> 40 , char[] <span class="d-param">requiredStdVersion</span> 41 , char[] <span class="d-param">libStdVersion</span> 42 ); 43 </span></dt> 44 38 45 <dd>Constructor. 39 46 <br/><br/> 40 <table><tr><td>char[] <i>libraryName</i></td> 41 <td>the name of the library involved.</td></tr> 42 <tr><td>char[] <i>requiredStdVersion</i></td> 43 <td>the required version of the library</td></tr> 44 <tr><td>char[] <i>libStdVersion</i></td> 45 <td>the version that the library actually has (if it has one at all).</td></tr> 46 </table><br/><br/> 47 48 </dd> 49 </dl> 50 </dd> 51 <dt><big>class <u>LoaderRegistry</u>; 52 </big></dt> 53 <dd>The <u>LoaderRegistry</u> fufills the role of controlling access to the loaders to be used for a 47 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">libraryName</span> 48 </td> 49 <td><span class="d-paramdesc">the name of the library involved.</span></td></tr> 50 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">requiredStdVersion</span> 51 </td> 52 <td><span class="d-paramdesc">the required version of the library</span></td></tr> 53 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">libStdVersion</span> 54 </td> 55 <td><span class="d-paramdesc">the version that the library actually has (if it has one at all).</span></td></tr> 56 </table><br/><br/></span> 57 58 </dd> 59 </span></dl> 60 </dd> 61 <dt><span class="d-decl">class <span class="d-symbol" decl="LoaderRegistry">LoaderRegistry</span>; 62 </span></dt> 63 64 <dd>The <span class="d-symbol" decl="LoaderRegistry">LoaderRegistry</span> fufills the role of controlling access to the loaders to be used for a 54 65 set of library load operations. While this is most directly used by the Linker class, 55 66 the registry can be used independently of a given linker. In fact, several implementations … … 63 74 <br/><br/> 64 75 65 66 The DefaultRegistry provides a boilerplate implementation of the <u>LoaderRegistry</u>, that pulls in 76 The DefaultRegistry provides a boilerplate implementation of the <span class="d-symbol" decl="LoaderRegistry">LoaderRegistry</span>, that pulls in 67 77 every standard loader that DDL provides. Efficency minded developers should look to rolling 68 their own <u>LoaderRegistry</u> intstead. 69 <br/><br/> 70 71 <dl><dt><big>void <u>register</u>(DynamicLibraryLoader <i>loader</i>); 72 </big></dt> 73 <dd>Registers a <i>loader</i> within the registry. The <i>loader</i> will then be used in subsequent 78 their own <span class="d-symbol" decl="LoaderRegistry">LoaderRegistry</span> intstead. 79 <br/><br/> 80 81 <dl><span class="d-members"><dt><span class="d-decl">void <span class="d-symbol" decl="register">register</span>(DynamicLibraryLoader <span class="d-param">loader</span> 82 ); 83 </span></dt> 84 85 <dd>Registers a <span class="d-param">loader</span> 86 within the registry. The <span class="d-param">loader</span> 87 will then be used in subsequent 74 88 calls to load (and its variants) to investigate if it can load a given file 75 89 (via canLoadLibrary) and to actually load a library (via load). 76 90 <br/><br/> 77 The <i>loader</i> is associated in the registry via its type (<i>loader</i>.getLibraryType()). 78 Should another <i>loader</i> of the same exact type be passed to this method, the latter 79 <i>loader</i> will be associated instead. 80 81 <br/><br/> 82 <table><tr><td>DynamicLibraryLoader <i>loader</i></td> 83 <td>the <i>loader</i> to <u>register</u>.</td></tr> 84 </table><br/><br/> 85 86 </dd> 87 <dt><big>DynamicLibraryLoader <u>getLoader</u>(char[] <i>type</i>); 88 </big></dt> 89 <dd><b>Returns:</b><br/> 90 a loader for the <i>type</i> given, or none if there is no loader for the associated <i>type</i>. 91 <br/><br/> 92 <table><tr><td>char[] <i>type</i></td> 93 <td>the <i>type</i> of loader to find.</td></tr> 94 </table><br/><br/> 95 96 </dd> 97 <dt><big>DynamicLibrary <u>load</u>(FileBuffer <i>buffer</i>, char[] <i>attrStdVersion</i> = ""); 98 </big></dt> 99 <dd><b>Returns:</b><br/> 100 a dynamic library for the requested file, or <b>null</b> if there is no loader for the 91 The <span class="d-param">loader</span> 92 is associated in the registry via its type (<span class="d-param">loader</span> 93 .getLibraryType()). 94 Should another <span class="d-param">loader</span> 95 of the same exact type be passed to this method, the latter 96 <span class="d-param">loader</span> 97 will be associated instead. 98 99 <br/><br/> 100 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">DynamicLibraryLoader <span class="d-param">loader</span> 101 </td> 102 <td><span class="d-paramdesc">the <span class="d-param">loader</span> 103 to <span class="d-symbol" decl="register">register</span>.</span></td></tr> 104 </table><br/><br/></span> 105 106 </dd> 107 <dt><span class="d-decl">DynamicLibraryLoader <span class="d-symbol" decl="getLoader">getLoader</span>(char[] <span class="d-param">type</span> 108 ); 109 </span></dt> 110 111 <dd><b>Returns:</b><br/> 112 a loader for the <span class="d-param">type</span> 113 given, or none if there is no loader for the associated <span class="d-param">type</span> 114 . 115 <br/><br/> 116 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">type</span> 117 </td> 118 <td><span class="d-paramdesc">the <span class="d-param">type</span> 119 of loader to find.</span></td></tr> 120 </table><br/><br/></span> 121 122 </dd> 123 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="load">load</span>(FileBuffer <span class="d-param">buffer</span> 124 , char[] <span class="d-param">attrStdVersion</span> 125 = ""); 126 </span></dt> 127 128 <dd><b>Returns:</b><br/> 129 a dynamic library for the requested file, or $B(<span class="d-keyword">null</span>) if there is no loader for the 101 130 given library. 102 131 <br/><br/> 103 132 104 105 If the <i>attrStdVersion</i>parameter is supplied this is matched against the "std.version"133 If the <span class="d-param">attrStdVersion</span> 134 parameter is supplied this is matched against the "std.version" 106 135 attribute in the supplied library. If the attribute doesn't exist, and or the 107 <i>attrStdVersion</i> attribute is omitted or set to "", then the library is loaded anyway. 108 Otherwise, should <i>attrStdVersion</i> not match the "std.version" attribute, the method 136 <span class="d-param">attrStdVersion</span> 137 attribute is omitted or set to "", then the library is loaded anyway. 138 Otherwise, should <span class="d-param">attrStdVersion</span> 139 not match the "std.version" attribute, the method 109 140 throws an exception. 110 141 111 142 <br/><br/> 112 <table><tr><td>FileBuffer <i>buffer</i></td> 113 <td><i>buffer</i> for the binary file</td></tr> 114 <tr><td>char[] <i>attrStdVersion</i></td> 115 <td>(optional) the version of the library to match</td></tr> 116 </table><br/><br/> 117 118 </dd> 119 <dt><big>DynamicLibrary <u>load</u>(char[] <i>filename</i>, char[] <i>attrStdVersion</i> = ""); 120 </big></dt> 121 <dd><b>Returns:</b><br/> 122 a dynamic library for the requested <i>filename</i>, or <b>null</b> if there is no loader for the 143 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">FileBuffer <span class="d-param">buffer</span> 144 </td> 145 <td><span class="d-paramdesc"><span class="d-param">buffer</span> 146 for the binary file</span></td></tr> 147 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">attrStdVersion</span> 148 </td> 149 <td><span class="d-paramdesc">(optional) the version of the library to match</span></td></tr> 150 </table><br/><br/></span> 151 152 </dd> 153 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="load">load</span>(char[] <span class="d-param">filename</span> 154 , char[] <span class="d-param">attrStdVersion</span> 155 = ""); 156 </span></dt> 157 158 <dd><b>Returns:</b><br/> 159 a dynamic library for the requested <span class="d-param">filename</span> 160 , or $B(<span class="d-keyword">null</span>) if there is no loader for the 123 161 given library. 124 162 <br/><br/> 125 163 126 127 If the <i>attrStdVersion</i>parameter is supplied this is matched against the "std.version"164 If the <span class="d-param">attrStdVersion</span> 165 parameter is supplied this is matched against the "std.version" 128 166 attribute in the supplied library. If the attribute doesn't exist, and or the 129 <i>attrStdVersion</i> attribute is omitted or set to "", then the library is loaded anyway. 130 Otherwise, should <i>attrStdVersion</i> not match the "std.version" attribute, the method 167 <span class="d-param">attrStdVersion</span> 168 attribute is omitted or set to "", then the library is loaded anyway. 169 Otherwise, should <span class="d-param">attrStdVersion</span> 170 not match the "std.version" attribute, the method 131 171 throws an exception. 132 172 133 173 <br/><br/> 134 <table><tr><td>file</td> 135 <td>the <i>filename</i> of the library to <u>load</u>.</td></tr> 136 <tr><td>char[] <i>attrStdVersion</i></td> 137 <td>(optional) the version of the library to match</td></tr> 138 </table><br/><br/> 139 140 </dd> 141 <dt><big>bool <u>canLoad</u>(FileBuffer <i>file</i>); 142 </big></dt> 143 <dd><b>Returns:</b><br/> 144 <b>true</b> if the <i>file</i> can be loaded, <b>false</b> if it cannot. 145 <br/><br/> 146 <table><tr><td>FileBuffer <i>file</i></td> 147 <td>the <i>file</i> to test. The <i>file</i> is expected to already be loaded.</td></tr> 148 </table><br/><br/> 149 150 </dd> 151 <dt><big>bool <u>canLoad</u>(char[] <i>filename</i>); 152 </big></dt> 153 <dd><b>Returns:</b><br/> 154 <b>true</b> if the file can be loaded, <b>false</b> if it cannot. 155 <br/><br/> 156 <table><tr><td>char[] <i>filename</i></td> 157 <td>name of the file to test.</td></tr> 158 </table><br/><br/> 159 160 </dd> 161 <dt><big>char[][] <u>getSupportedTypes</u>(); 162 </big></dt> 174 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">file</td> 175 <td><span class="d-paramdesc">the <span class="d-param">filename</span> 176 of the library to <span class="d-symbol" decl="load">load</span>.</span></td></tr> 177 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">attrStdVersion</span> 178 </td> 179 <td><span class="d-paramdesc">(optional) the version of the library to match</span></td></tr> 180 </table><br/><br/></span> 181 182 </dd> 183 <dt><span class="d-decl">bool <span class="d-symbol" decl="canLoad">canLoad</span>(FileBuffer <span class="d-param">file</span> 184 ); 185 </span></dt> 186 187 <dd><b>Returns:</b><br/> 188 $B(<span class="d-keyword">true</span>) if the <span class="d-param">file</span> 189 can be loaded, $B(<span class="d-keyword">false</span>) if it cannot. 190 <br/><br/> 191 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">FileBuffer <span class="d-param">file</span> 192 </td> 193 <td><span class="d-paramdesc">the <span class="d-param">file</span> 194 to test. The <span class="d-param">file</span> 195 is expected to already be loaded.</span></td></tr> 196 </table><br/><br/></span> 197 198 </dd> 199 <dt><span class="d-decl">bool <span class="d-symbol" decl="canLoad">canLoad</span>(char[] <span class="d-param">filename</span> 200 ); 201 </span></dt> 202 203 <dd><b>Returns:</b><br/> 204 $B(<span class="d-keyword">true</span>) if the file can be loaded, $B(<span class="d-keyword">false</span>) if it cannot. 205 <br/><br/> 206 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">filename</span> 207 </td> 208 <td><span class="d-paramdesc">name of the file to test.</span></td></tr> 209 </table><br/><br/></span> 210 211 </dd> 212 <dt><span class="d-decl">char[][] <span class="d-symbol" decl="getSupportedTypes">getSupportedTypes</span>(); 213 </span></dt> 214 163 215 <dd><b>Returns:</b><br/> 164 216 an array of type names for all the supported loaders in this registry. … … 167 219 168 220 </dd> 169 <dt><big>bool <u>isSupported</u>(char[] <i>type</i>); 170 </big></dt> 171 <dd><b>Returns:</b><br/> 172 <b>true</b> if the typename is supported, <b>false</b> if it is not. 173 <br/><br/> 174 <table><tr><td>char[] <i>type</i></td> 175 <td>the name of the <i>type</i> to test. See DynamicLibraryLoader.getLibraryType() for more infomation.</td></tr> 176 </table><br/><br/> 177 178 </dd> 179 </dl> 180 </dd> 181 </dl> 221 <dt><span class="d-decl">bool <span class="d-symbol" decl="isSupported">isSupported</span>(char[] <span class="d-param">type</span> 222 ); 223 </span></dt> 224 225 <dd><b>Returns:</b><br/> 226 $B(<span class="d-keyword">true</span>) if the typename is supported, $B(<span class="d-keyword">false</span>) if it is not. 227 <br/><br/> 228 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">type</span> 229 </td> 230 <td><span class="d-paramdesc">the name of the <span class="d-param">type</span> 231 to test. See DynamicLibraryLoader.getLibraryType() for more infomation.</span></td></tr> 232 </table><br/><br/></span> 233 234 </dd> 235 </span></dl> 236 </dd> 237 </span> 182 238 183 239 </body></html> trunk/doc/ddl/html/ddl/Mangle.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\Mangle.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/PathLibrary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\PathLibrary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/Utils.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\Utils.d --> 8 8 <br/><br/> 9 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="ExtSprintClassT">ExtSprintClassT</span>(T); 10 </span></dt> 9 11 10 <dl><dt><big>class <u>ExtSprintClassT</u>(T);11 </big></dt>12 12 <dd>Extended Sprintf class. Features an internally expanding buffer for formatting data, 13 13 and an optional opCall vararg syntax. 14 14 <br/><br/> 15 15 16 <dl><dt><big>this(int size, Format.DblFormat df = null, T[] workspace = null); 17 </big></dt> 16 <dl><span class="d-members"><dt><span class="d-decl">this(int size, Format.DblFormat df = null, T[] workspace = null); 17 </span></dt> 18 18 19 <dd><br/><br/> 20 </dd> 21 <dt><span class="d-decl">uint <span class="d-symbol" decl="sink">sink</span>(void[] <span class="d-param">v</span> 22 , uint <span class="d-param">type</span> 23 ); 24 </span></dt> 19 25 26 <dd><br/><br/> 20 27 </dd> 21 <dt><big>uint <u>sink</u>(void[] <i>v</i>, uint <i>type</i>); 22 </big></dt> 28 <dt><span class="d-decl">T[] <span class="d-symbol" decl="opCall">opCall</span>(T[] <span class="d-param">fmt</span> 29 ,...); 30 </span></dt> 31 23 32 <dd><br/><br/> 24 25 33 </dd> 26 <dt><big>T[] <u>opCall</u>(T[] <i>fmt</i>,...); 27 </big></dt> 28 <dd><br/><br/> 29 34 </span></dl> 30 35 </dd> 31 </dl> 32 </dd> 33 </dl> 36 </span> 34 37 35 38 </body></html> trunk/doc/ddl/html/ddl/all.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\all.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/ar/ArchiveLibrary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\ar\ArchiveLibrary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/ar/ArchiveLoader.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>ArchiveLoader</u>: ddl.DynamicLibraryLoader.DynamicLibraryLoader; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="ArchiveLoader">ArchiveLoader</span>: ddl.DynamicLibraryLoader.DynamicLibraryLoader; 16 </span></dt> 17 17 18 <dd>An implementation of the abstract class DynamicLibraryLoader for 18 19 use with archive files in the Ar format. … … 22 23 <br/><br/> 23 24 24 <dl><dt><big>bool <u>canLoadLibrary</u>(FileBuffer <i>file</i>); 25 </big></dt> 25 <dl><span class="d-members"><dt><span class="d-decl">bool <span class="d-symbol" decl="canLoadLibrary">canLoadLibrary</span>(FileBuffer <span class="d-param">file</span> 26 ); 27 </span></dt> 28 26 29 <dd><b>Returns:</b><br/> 27 <b>true</b> if the <i>file</i> can be loaded by this loader, 28 <b>false</b> if it cannot. 30 $B(<span class="d-keyword">true</span>) if the <span class="d-param">file</span> 31 can be loaded by this loader, 32 $B(<span class="d-keyword">false</span>) if it cannot. 29 33 30 34 <br/><br/> 31 35 32 36 </dd> 33 <dt><big>DynamicLibrary <u>load</u>(LoaderRegistry <i>registry</i>, FileBuffer <i>file</i>); 34 </big></dt> 35 <dd>Loads a binary <i>file</i>. 37 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="load">load</span>(LoaderRegistry <span class="d-param">registry</span> 38 , FileBuffer <span class="d-param">file</span> 39 ); 40 </span></dt> 41 42 <dd>Loads a binary <span class="d-param">file</span> 43 . 36 44 <br/><br/> 37 45 <b>Returns:</b><br/> 38 the library stored in the provided <i>file</i>. 46 the library stored in the provided <span class="d-param">file</span> 47 . 39 48 <br/><br/> 40 <table><tr><td>FileBuffer <i>file</i></td> 41 <td>the <i>file</i> that contains the binary library data.</td></tr> 42 </table><br/><br/> 49 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">FileBuffer <span class="d-param">file</span> 50 </td> 51 <td><span class="d-paramdesc">the <span class="d-param">file</span> 52 that contains the binary library data.</span></td></tr> 53 </table><br/><br/></span> 43 54 44 55 </dd> 45 </ dl>56 </span></dl> 46 57 </dd> 47 </ dl>58 </span> 48 59 49 60 </body></html> trunk/doc/ddl/html/ddl/ar/ArchiveReader.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\ar\ArchiveReader.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/ddl/DDLBinary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\ddl\DDLBinary.d --> 8 8 <br/><br/> 9 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="DDLBinary">DDLBinary</span>; 10 </span></dt> 9 11 10 <dl><dt><big>class <u>DDLBinary</u>;11 </big></dt>12 12 <dd>Provides support for loading and saving DDL files. 13 13 <br/><br/> 14 14 15 <dl><dt><big>void <u>load</u>(IBuffer <i>fileBuffer</i>); 16 </big></dt> 15 <dl><span class="d-members"><dt><span class="d-decl">void <span class="d-symbol" decl="load">load</span>(IBuffer <span class="d-param">fileBuffer</span> 16 ); 17 </span></dt> 18 17 19 <dd>Loads the entire file, and buffers the attached binary file 18 20 … … 20 22 21 23 </dd> 22 <dt><big>void <u>save</u>(IBuffer <i>fileBuffer</i>); 23 </big></dt> 24 <dt><span class="d-decl">void <span class="d-symbol" decl="save">save</span>(IBuffer <span class="d-param">fileBuffer</span> 25 ); 26 </span></dt> 27 24 28 <dd>Saves a DDL module to disk. 25 29 Assumes that the binaryData is already populated with the embedded file data. … … 28 32 29 33 </dd> 30 </ dl>34 </span></dl> 31 35 </dd> 32 </ dl>36 </span> 33 37 34 38 </body></html> trunk/doc/ddl/html/ddl/ddl/DDLLibrary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\ddl\DDLLibrary.d --> 8 8 <br/><br/> 9 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="DDLLibrary">DDLLibrary</span>: ddl.DynamicLibrary.DynamicLibrary; 10 </span></dt> 9 11 10 <dl><dt><big>class <u>DDLLibrary</u>: ddl.DynamicLibrary.DynamicLibrary; 11 </big></dt> 12 <dd>The <u>DDLLibrary</u> class provides the wrapper support for the embedded library stored in the 12 <dd>The <span class="d-symbol" decl="DDLLibrary">DDLLibrary</span> class provides the wrapper support for the embedded library stored in the 13 13 matching .ddl file. 14 14 <br/><br/> 15 15 16 <dl>< /dl>16 <dl><span class="d-members"></span></dl> 17 17 </dd> 18 </ dl>18 </span> 19 19 20 20 </body></html> trunk/doc/ddl/html/ddl/ddl/DDLLoader.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\ddl\DDLLoader.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/elf/ELFBinary.html
r250 r277 13 13 <br/><br/> 14 14 15 < dl></dl>15 <span class="d-modulemembers"></span> 16 16 17 17 </body></html> trunk/doc/ddl/html/ddl/elf/ELFHeaders.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>const uint <u>EI_NIDENT</u>; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">const uint <span class="d-symbol" decl="EI_NIDENT">EI_NIDENT</span>; 16 </span></dt> 17 17 18 <dd>Constants from the ELF specification. 18 19 <br/><br/> … … 21 22 22 23 </dd> 23 <dt><big>const uint <u>EI_MAG0</u>; 24 </big></dt> 24 <dt><span class="d-decl">const uint <span class="d-symbol" decl="EI_MAG0">EI_MAG0</span>; 25 </span></dt> 26 25 27 <dd>Indices in the e_ident array. 26 28 <br/><br/> 27 29 28 30 </dd> 29 <dt><big>const uint <u>ELFCLASSNONE</u>; 30 </big></dt> 31 <dt><span class="d-decl">const uint <span class="d-symbol" decl="ELFCLASSNONE">ELFCLASSNONE</span>; 32 </span></dt> 33 31 34 <dd>Values defining the class of the file. 32 35 <br/><br/> 33 36 34 37 </dd> 35 <dt><big>const uint <u>ELFDATANONE</u>; 36 </big></dt> 38 <dt><span class="d-decl">const uint <span class="d-symbol" decl="ELFDATANONE">ELFDATANONE</span>; 39 </span></dt> 40 37 41 <dd>Values defining the encoding of data. 38 42 <br/><br/> 39 43 40 44 </dd> 41 <dt><big>const uint <u>EV_NONE</u>; 42 </big></dt> 45 <dt><span class="d-decl">const uint <span class="d-symbol" decl="EV_NONE">EV_NONE</span>; 46 </span></dt> 47 43 48 <dd>Defined version of the ELF specification. 44 49 <br/><br/> 45 50 46 51 </dd> 47 <dt><big>const uint <u>DDL_ELFVERSION_SUPP</u>; 48 </big></dt> 52 <dt><span class="d-decl">const uint <span class="d-symbol" decl="DDL_ELFVERSION_SUPP">DDL_ELFVERSION_SUPP</span>; 53 </span></dt> 54 49 55 <dd>The version currently supported by DDL 50 56 <br/><br/> 51 57 52 58 </dd> 53 <dt><big>const uint <u>ET_NONE</u>; 54 </big></dt> 59 <dt><span class="d-decl">const uint <span class="d-symbol" decl="ET_NONE">ET_NONE</span>; 60 </span></dt> 61 55 62 <dd>Values defining the object file type. 56 63 <br/><br/> 57 64 58 65 </dd> 59 <dt><big>const uint <u>EM_NONE</u>; 60 </big></dt> 66 <dt><span class="d-decl">const uint <span class="d-symbol" decl="EM_NONE">EM_NONE</span>; 67 </span></dt> 68 61 69 <dd>Values defining machine architectures. 62 70 <br/><br/> 63 71 64 72 </dd> 65 <dt><big>const ubyte <u>STB_LOCAL</u>; 66 </big></dt> 67 <dd>Values defining symbol binding. 68 <br/><br/> 73 <dt><span class="d-decl">const uint <span class="d-symbol" decl="SHT_NULL">SHT_NULL</span>; 74 </span></dt> 69 75 70 </dd>71 <dt><big>const uint <u>SHT_NULL</u>;72 </big></dt>73 76 <dd>Values defining section types. 74 77 <br/><br/> 75 78 76 79 </dd> 77 <dt><big>const uint <u>PT_NULL</u>; 78 </big></dt> 80 <dt><span class="d-decl">const uint <span class="d-symbol" decl="PT_NULL">PT_NULL</span>; 81 </span></dt> 82 79 83 <dd>Values defining segment types. 80 84 <br/><br/> 81 85 82 86 </dd> 83 <dt><big>struct <u>Elf32_Ehdr</u>; 84 </big></dt> 87 <dt><span class="d-decl">struct <span class="d-symbol" decl="Elf32_Ehdr">Elf32_Ehdr</span>; 88 </span></dt> 89 85 90 <dd>This struct can hold an ELF object file header. 86 91 <br/><br/> 87 92 88 <dl>< /dl>93 <dl><span class="d-members"></span></dl> 89 94 </dd> 90 <dt><big>struct <u>Elf32_Shdr</u>; 91 </big></dt> 95 <dt><span class="d-decl">struct <span class="d-symbol" decl="Elf32_Shdr">Elf32_Shdr</span>; 96 </span></dt> 97 92 98 <dd>This struct can hold a section header table entry from an ELF object 93 99 file. 94 100 <br/><br/> 95 101 96 <dl>< /dl>102 <dl><span class="d-members"></span></dl> 97 103 </dd> 98 <dt><big>struct <u>Elf32_Phdr</u>; 99 </big></dt> 104 <dt><span class="d-decl">struct <span class="d-symbol" decl="Elf32_Phdr">Elf32_Phdr</span>; 105 </span></dt> 106 100 107 <dd>This struct can hold a program header table entry from an ELF object 101 108 file. 102 109 <br/><br/> 103 110 104 <dl>< /dl>111 <dl><span class="d-members"></span></dl> 105 112 </dd> 106 <dt><big>struct <u>Elf32_Sym</u>; 107 </big></dt> 113 <dt><span class="d-decl">struct <span class="d-symbol" decl="Elf32_Sym">Elf32_Sym</span>; 114 </span></dt> 115 108 116 <dd>This struct can hold a symbol table entry from an ELF object file. 109 117 <br/><br/> 110 118 111 <dl>< /dl>119 <dl><span class="d-members"></span></dl> 112 120 </dd> 113 <dt><big>struct <u>Elf32_Rel</u>; 114 </big></dt> 121 <dt><span class="d-decl">struct <span class="d-symbol" decl="Elf32_Rel">Elf32_Rel</span>; 122 </span></dt> 123 115 124 <dd>This struct can hold a relocation entry from an ELF object file. 116 125 <br/><br/> 117 126 118 <dl>< /dl>127 <dl><span class="d-members"></span></dl> 119 128 </dd> 120 <dt><big>struct <u>Elf32_Rela</u>; 121 </big></dt> 129 <dt><span class="d-decl">struct <span class="d-symbol" decl="Elf32_Rela">Elf32_Rela</span>; 130 </span></dt> 131 122 132 <dd>This struct can hold a relocation entry from an ELF object file, 123 133 including an addend. 124 134 <br/><br/> 125 135 126 <dl>< /dl>136 <dl><span class="d-members"></span></dl> 127 137 </dd> 128 </ dl>138 </span> 129 139 130 140 </body></html> trunk/doc/ddl/html/ddl/elf/ELFLibrary.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>ELFLibrary</u>: ddl.DynamicLibrary.DynamicLibrary; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="ELFLibrary">ELFLibrary</span>: ddl.DynamicLibrary.DynamicLibrary; 16 </span></dt> 17 17 18 <dd>An implementation of the abstract class DynamicLibrary for use 18 19 with libraries of ELF (Executable and Linkable Format) object … … 20 21 <br/><br/> 21 22 22 <dl>< /dl>23 <dl><span class="d-members"></span></dl> 23 24 </dd> 24 </ dl>25 </span> 25 26 26 27 </body></html> trunk/doc/ddl/html/ddl/elf/ELFModule.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>ELFModule</u>: ddl.DynamicModule.DynamicModule; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="ELFModule">ELFModule</span>: ddl.DynamicModule.DynamicModule; 16 </span></dt> 17 17 18 <dd>An implementation of the abstract class DynamicModule for use 18 19 with ELF (Executable and Linkable Format) object files. 19 20 <br/><br/> 20 21 21 <dl>< /dl>22 <dl><span class="d-members"></span></dl> 22 23 </dd> 23 </ dl>24 </span> 24 25 25 26 </body></html> trunk/doc/ddl/html/ddl/elf/ELFObjLoader.html
r250 r277 13 13 <br/><br/> 14 14 15 <dl><dt><big>class <u>ELFObjLoader</u>: ddl.DynamicLibraryLoader.DynamicLibraryLoader; 16 </big></dt> 15 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="ELFObjLoader">ELFObjLoader</span>: ddl.DynamicLibraryLoader.DynamicLibraryLoader; 16 </span></dt> 17 17 18 <dd>An implementation of the abstract class DynamicLibraryLoader for 18 19 for use with object files in ELF (Executable and Linkable Format). … … 20 21 <br/><br/> 21 22 22 <dl><dt><big>char[] <u>getLibraryType</u>(); 23 </big></dt> 23 <dl><span class="d-members"><dt><span class="d-decl">char[] <span class="d-symbol" decl="getLibraryType">getLibraryType</span>(); 24 </span></dt> 25 24 26 <dd>Returns the typename supported by this loader. Returns the 25 27 static string "ELF". … … 28 30 29 31 </dd> 30 <dt><big>bool <u>canLoadLibrary</u>(FileBuffer <i>file</i>); 31 </big></dt> 32 <dd>Returns <b>true</b> if the loader can load the provided library. 32 <dt><span class="d-decl">bool <span class="d-symbol" decl="canLoadLibrary">canLoadLibrary</span>(FileBuffer <span class="d-param">file</span> 33 ); 34 </span></dt> 35 36 <dd>Returns $B(<span class="d-keyword">true</span>) if the loader can load the provided library. 33 37 The method checks if the supplied library starts with the ELF 34 38 magic string, "\x7fELF". … … 37 41 38 42 </dd> 39 <dt><big>DynamicLibrary <u>load</u>(LoaderRegistry <i>registry</i>, FileBuffer <i>file</i>); 40 </big></dt> 43 <dt><span class="d-decl">DynamicLibrary <span class="d-symbol" decl="load">load</span>(LoaderRegistry <span class="d-param">registry</span> 44 , FileBuffer <span class="d-param">file</span> 45 ); 46 </span></dt> 47 41 48 <dd>Loads the supplied library, returning an instance of ELFLibrary. 42 49 … … 44 51 45 52 </dd> 46 </ dl>53 </span></dl> 47 54 </dd> 48 </ dl>55 </span> 49 56 50 57 </body></html> trunk/doc/ddl/html/ddl/elf/ELFPrinter.html
r250 r277 13 13 <br/><br/> 14 14 15 < dl></dl>15 <span class="d-modulemembers"></span> 16 16 17 17 </body></html> trunk/doc/ddl/html/ddl/elf/ELFReader.html
r250 r277 13 13 <br/><br/> 14 14 15 < dl></dl>15 <span class="d-modulemembers"></span> 16 16 17 17 </body></html> trunk/doc/ddl/html/ddl/insitu/InSituBinary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\insitu\InSituBinary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/insitu/InSituLibBinary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\insitu\InSituLibBinary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/insitu/InSituLibrary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\insitu\InSituLibrary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/insitu/InSituLoader.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\insitu\InSituLoader.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/insitu/InSituMapBinary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\insitu\InSituMapBinary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/insitu/InSituModule.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\insitu\InSituModule.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/omf/DLLProvider.html
r250 r277 15 15 <br/><br/> 16 16 17 < dl></dl>17 <span class="d-modulemembers"></span> 18 18 19 19 </body></html> trunk/doc/ddl/html/ddl/omf/OMFBinary.html
r261 r277 15 15 <br/><br/> 16 16 17 <dl><dt><big>struct <u>IMPDEF</u>; 18 </big></dt> 17 <span class="d-modulemembers"><dt><span class="d-decl">struct <span class="d-symbol" decl="IMPDEF">IMPDEF</span>; 18 </span></dt> 19 19 20 <dd>(COMENT subrecord) 20 21 This record describes the imported names for a module. 21 22 <br/><br/> 22 23 23 <dl></dl> 24 </dd> 25 <dt><big>struct <u>WKEXT</u>; 26 </big></dt> 24 <dl><span class="d-members"></span></dl> 25 </dd> 26 <dt><span class="d-decl">struct <span class="d-symbol" decl="WKEXT">WKEXT</span>; 27 </span></dt> 28 27 29 <dd>(COMENT subrecord) 28 30 This record marks a set of external names as "weak," and for every weak extern, … … 30 32 <br/><br/> 31 33 32 <dl></dl> 33 </dd> 34 <dt><big>struct <u>EXTDEF</u>; 35 </big></dt> 36 <dd>The <u>EXTDEF</u> record contains a list of symbolic external references that is, references 34 <dl><span class="d-members"></span></dl> 35 </dd> 36 <dt><span class="d-decl">struct <span class="d-symbol" decl="EXTDEF">EXTDEF</span>; 37 </span></dt> 38 39 <dd>The <span class="d-symbol" decl="EXTDEF">EXTDEF</span> record contains a list of symbolic external references that is, references 37 40 to symbols defined in other object modules. The linker resolves external references by 38 matching the symbols declared in <u>EXTDEF</u> records with symbols declared in PUBDEF records. 39 <br/><br/> 40 41 <dl></dl> 42 </dd> 43 <dt><big>struct <u>PUBDEF</u>; 44 </big></dt> 45 <dd>The <u>PUBDEF</u> record contains a list of public names. It makes items defined in this object 41 matching the symbols declared in <span class="d-symbol" decl="EXTDEF">EXTDEF</span> records with symbols declared in PUBDEF records. 42 <br/><br/> 43 44 <dl><span class="d-members"></span></dl> 45 </dd> 46 <dt><span class="d-decl">struct <span class="d-symbol" decl="PUBDEF">PUBDEF</span>; 47 </span></dt> 48 49 <dd>The <span class="d-symbol" decl="PUBDEF">PUBDEF</span> record contains a list of public names. It makes items defined in this object 46 50 module available to satisfy external references in other modules with which it is bound 47 51 or linked. The symbols are also available for export if so indicated in an EXPDEF … … 49 53 <br/><br/> 50 54 51 <dl></dl> 52 </dd> 53 <dt><big>struct <u>LINNUM</u>; 54 </big></dt> 55 <dd>The <u>LINNUM</u> record relates line numbers in source code to addresses in object code. 56 <br/><br/> 57 58 <dl></dl> 59 </dd> 60 <dt><big>struct <u>SEGDEF</u>; 61 </big></dt> 62 <dd>The <u>SEGDEF</u> record describes a logical segment in an object module. 55 <dl><span class="d-members"></span></dl> 56 </dd> 57 <dt><span class="d-decl">struct <span class="d-symbol" decl="LINNUM">LINNUM</span>; 58 </span></dt> 59 60 <dd>The <span class="d-symbol" decl="LINNUM">LINNUM</span> record relates line numbers in source code to addresses in object code. 61 <br/><br/> 62 63 <dl><span class="d-members"></span></dl> 64 </dd> 65 <dt><span class="d-decl">struct <span class="d-symbol" decl="SEGDEF">SEGDEF</span>; 66 </span></dt> 67 68 <dd>The <span class="d-symbol" decl="SEGDEF">SEGDEF</span> record describes a logical segment in an object module. 63 69 It defines the segment's name, length, and alignment, and the way the segment can be 64 70 combined with other logical segments at bind, link, or load time. 65 71 <br/><br/> 66 Object records that follow a < u>SEGDEF</u> record can refer to it to identify a particular67 segment. The < u>SEGDEF</u> records are ordered by occurrence, and are referenced by segment72 Object records that follow a <span class="d-symbol" decl="SEGDEF">SEGDEF</span> record can refer to it to identify a particular 73 segment. The <span class="d-symbol" decl="SEGDEF">SEGDEF</span> records are ordered by occurrence, and are referenced by segment 68 74 indexes (starting from 1) in subsequent records. 69 75 <br/><br/> 70 76 71 <dl></dl> 72 </dd> 73 <dt><big>struct <u>GRPDEF</u>; 74 </big></dt> 77 <dl><span class="d-members"></span></dl> 78 </dd> 79 <dt><span class="d-decl">struct <span class="d-symbol" decl="GRPDEF">GRPDEF</span>; 80 </span></dt> 81 75 82 <dd>This record causes the program segments identified by SEGDEF records to be collected 76 83 together (grouped). For OS/2, the segments are combined into a logical segment that … … 79 86 <br/><br/> 80 87 81 <dl></dl> 82 </dd> 83 <dt><big>struct <u>FIXUPP</u>; 84 </big></dt> 85 <dd>The <u>FIXUPP</u> record contains information that allows the linker to resolve (fix up) 86 and eventually relocate references between object modules. <u>FIXUPP</u> records describe 88 <dl><span class="d-members"></span></dl> 89 </dd> 90 <dt><span class="d-decl">struct <span class="d-symbol" decl="FIXUPP">FIXUPP</span>; 91 </span></dt> 92 93 <dd>The <span class="d-symbol" decl="FIXUPP">FIXUPP</span> record contains information that allows the linker to resolve (fix up) 94 and eventually relocate references between object modules. <span class="d-symbol" decl="FIXUPP">FIXUPP</span> records describe 87 95 the LOCATION of each address value to be fixed up, the TARGET address to which the 88 96 fixup refers, and the FRAME relative to which the address computation is performed. 89 97 <br/><br/> 90 98 91 <dl></dl> 92 </dd> 93 <dt><big>struct <u>FixupThread</u>; 94 </big></dt> 99 <dl><span class="d-members"></span></dl> 100 </dd> 101 <dt><span class="d-decl">struct <span class="d-symbol" decl="FixupThread">FixupThread</span>; 102 </span></dt> 103 95 104 <dd>Temporary record used to store FIXUPP TARGET and FRAME information 96 105 <br/><br/> 97 106 98 <dl></dl> 99 </dd> 100 <dt><big>struct <u>FixupData</u>; 101 </big></dt> 107 <dl><span class="d-members"></span></dl> 108 </dd> 109 <dt><span class="d-decl">struct <span class="d-symbol" decl="FixupData">FixupData</span>; 110 </span></dt> 111 102 112 <dd>Temporary record usd to store LIDATA, LEDATA and COMDAT address information for 103 113 subsequent use by FIXUPP records … … 109 119 <br/><br/> 110 120 111 <dl></dl> 112 </dd> 113 <dt><big>void <u>parse</u>(inout ExpContainer <i>fixups</i>, inout FixupData <i>fixupData</i>, OMFReader <i>reader</i>); 114 </big></dt> 115 <dd>FixupSet <u>parse</u> routine. 116 <br/><br/> 117 118 </dd> 119 <dt><big>struct <u>LIDATA</u>; 120 </big></dt> 121 <dl><span class="d-members"></span></dl> 122 </dd> 123 <dt><span class="d-decl">void <span class="d-symbol" decl="parse">parse</span>(inout ExpContainer <span class="d-param">fixups</span> 124 , inout FixupData <span class="d-param">fixupData</span> 125 , OMFReader <span class="d-param">reader</span> 126 ); 127 </span></dt> 128 129 <dd>FixupSet <span class="d-symbol" decl="parse">parse</span> routine. 130 <br/><br/> 131 132 </dd> 133 <dt><span class="d-decl">struct <span class="d-symbol" decl="LIDATA">LIDATA</span>; 134 </span></dt> 135 121 136 <dd>This record provides contiguous binary data-executable code or program data that is 122 137 part of a program segment. The data is eventually copied into the program's executable … … 128 143 <br/><br/> 129 144 130 <dl></dl> 131 </dd> 132 <dt><big>struct <u>LEDATA</u>; 133 </big></dt> 134 <dd>Like the <u>LEDATA</u> record, the LIDATA record contains binary data-executable code or 145 <dl><span class="d-members"></span></dl> 146 </dd> 147 <dt><span class="d-decl">struct <span class="d-symbol" decl="LEDATA">LEDATA</span>; 148 </span></dt> 149 150 <dd>Like the <span class="d-symbol" decl="LEDATA">LEDATA</span> record, the LIDATA record contains binary data-executable code or 135 151 program data. The data in an LIDATA record, however, is specified as a repeating 136 152 pattern (iterated), rather than by explicit enumeration. … … 140 156 <br/><br/> 141 157 142 <dl></dl> 143 </dd> 144 <dt><big>struct <u>COMDEF</u>; 145 </big></dt> 146 <dd>The <u>COMDEF</u> record is an extension to the basic set of 8086 object record types. 158 <dl><span class="d-members"></span></dl> 159 </dd> 160 <dt><span class="d-decl">struct <span class="d-symbol" decl="COMDEF">COMDEF</span>; 161 </span></dt> 162 163 <dd>The <span class="d-symbol" decl="COMDEF">COMDEF</span> record is an extension to the basic set of 8086 object record types. 147 164 It declares a list of one or more communal variables (uninitialized static data 148 165 or data that may match initialized static data in another compilation unit). … … 153 170 <br/><br/> 154 171 155 <dl></dl> 156 </dd> 157 <dt><big>struct <u>CEXTDEF</u>; 158 </big></dt> 172 <dl><span class="d-members"></span></dl> 173 </dd> 174 <dt><span class="d-decl">struct <span class="d-symbol" decl="CEXTDEF">CEXTDEF</span>; 175 </span></dt> 176 159 177 <dd>This record serves the same purpose as the EXTDEF record described earlier. However, 160 178 the symbol named is referred to through a Logical Name Index field. Such a Logical … … 162 180 <br/><br/> 163 181 164 <dl></dl> 165 </dd> 166 <dt><big>struct <u>COMDAT</u>; 167 </big></dt> 168 <dd>The purpose of the <u>COMDAT</u> record is to combine logical blocks of code and data that 182 <dl><span class="d-members"></span></dl> 183 </dd> 184 <dt><span class="d-decl">struct <span class="d-symbol" decl="COMDAT">COMDAT</span>; 185 </span></dt> 186 187 <dd>The purpose of the <span class="d-symbol" decl="COMDAT">COMDAT</span> record is to combine logical blocks of code and data that 169 188 may be duplicated across a number of compiled modules. 170 189 <br/><br/> 171 190 172 <dl></dl> 173 </dd> 174 <dt><big>struct <u>LINSYM</u>; 175 </big></dt> 191 <dl><span class="d-members"></span></dl> 192 </dd> 193 <dt><span class="d-decl">struct <span class="d-symbol" decl="LINSYM">LINSYM</span>; 194 </span></dt> 195 176 196 <dd>This record will be used to output line numbers for functions specified through COMDAT 177 records. Each <u>LINSYM</u> record is associated with a preceding COMDAT record. 178 <br/><br/> 179 180 <dl></dl> 181 </dd> 182 <dt><big>struct <u>OMFRecord</u>; 183 </big></dt> 184 <dd>Abstraction of an <u>OMFRecord</u>. Provides support for record checksums and determining 197 records. Each <span class="d-symbol" decl="LINSYM">LINSYM</span> record is associated with a preceding COMDAT record. 198 <br/><br/> 199 200 <dl><span class="d-members"></span></dl> 201 </dd> 202 <dt><span class="d-decl">struct <span class="d-symbol" decl="OMFRecord">OMFRecord</span>; 203 </span></dt> 204 205 <dd>Abstraction of an <span class="d-symbol" decl="OMFRecord">OMFRecord</span>. Provides support for record checksums and determining 185 206 word and byte width. 186 207 <br/><br/> 187 208 188 <dl>< /dl>189 </dd> 190 </ dl>209 <dl><span class="d-members"></span></dl> 210 </dd> 211 </span> 191 212 192 213 </body></html> trunk/doc/ddl/html/ddl/omf/OMFException.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\omf\OMFException.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/omf/OMFLibrary.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\omf\OMFLibrary.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/omf/OMFLoader.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\omf\OMFLoader.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/omf/OMFModule.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\omf\OMFModule.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/ddl/omf/OMFReader.html
r250 r277 7 7 <!-- Generated by Ddoc from ddl\omf\OMFReader.d --> 8 8 <br/><br/> 9 <span class="d-modulemembers"><dt><span class="d-decl">class <span class="d-symbol" decl="OMFReader">OMFReader</span>: ddl.DDLReader.DDLReader; 10 </span></dt> 9 11 10 <dl><dt><big>class <u>OMFReader</u>: ddl.DDLReader.DDLReader;11 </big></dt>12 12 <dd>Reader implementation to ease OMF Parsing. 13 13 <br/><br/> 14 The < u>OMFReader</u> helps with some OMF specific behaviors, such as specalized string formats14 The <span class="d-symbol" decl="OMFReader">OMFReader</span> helps with some OMF specific behaviors, such as specalized string formats 15 15 and special index fields. The reader also contains the current 'type' for the current 16 16 record, which has certain implications for the getVWord and getVByte methods. 17 17 <br/><br/> 18 18 19 20 19 The class is abstract and is implemented directly via WordOMFREader and DWordOMFReader. 21 20 <br/><br/> 22 21 23 <dl><dt><big>ubyte <u>getType</u>(); 24 </big></dt> 22 <dl><span class="d-members"><dt><span class="d-decl">ubyte <span class="d-symbol" decl="getType">getType</span>(); 23 </span></dt> 24 25 25 <dd><b>Returns:</b><br/> 26 26 the type of the reader as provided in the construtor. … … 28 28 29 29 </dd> 30 </ dl>30 </span></dl> 31 31 </dd> 32 <dt><big>class <u>WordOMFReader</u>: ddl.omf.OMFReader.OMFReader; 33 </big></dt> 32 <dt><span class="d-decl">class <span class="d-symbol" decl="WordOMFReader">WordOMFReader</span>: ddl.omf.OMFReader.OMFReader; 33 </span></dt> 34 34 35 <dd>Subclass of OMFReader that provides the getVWord and getVByte methods as appropriate 35 36 for word-oriented (even) OMF records. 36 37 <br/><br/> 37 38 38 <dl><dt><big>this(void[] <i>data</i>, ubyte <i>type</i>); 39 </big></dt> 39 <dl><span class="d-members"><dt><span class="d-decl">this(void[] <span class="d-param">data</span> 40 , ubyte <span class="d-param">type</span> 41 ); 42 </span></dt> 43 40 44 <dd>Constructor 41 45 <br/><br/> 42 46 43 47 </dd> 44 <dt><big>this(IBuffer <i>buffer</i>, ubyte <i>type</i>); 45 </big></dt> 48 <dt><span class="d-decl">this(IBuffer <span class="d-param">buffer</span> 49 , ubyte <span class="d-param">type</span> 50 ); 51 </span></dt> 52 46 53 <dd>Constructor 47 54 <br/><br/> 48 55 49 56 </dd> 50 <dt><big>this(IConduit <i>conduit</i>, ubyte <i>type</i>); 51 </big></dt> 57 <dt><span class="d-decl">this(IConduit <span class="d-param">conduit</span> 58 , ubyte <span class="d-param">type</span> 59 ); 60 </span></dt> 61 52 62 <dd>Constructor 53 63 <br/><br/> 54 64 55 65 </dd> 56 <dt><big>OMFReader <u>get</u>(inout VWord <i>x</i>); 57 </big></dt> 66 <dt><span class="d-decl">OMFReader <span class="d-symbol" decl="get">get</span>(inout VWord <span class="d-param">x</span> 67 ); 68 </span></dt> 69 58 70 <dd><b>Returns:</b><br/> 59 71 the next word in the buffer/conduit … … 61 73 62 74 </dd> 63 <dt><big>OMFReader <u>get</u>(inout VByte <i>x</i>); 64 </big></dt> 75 <dt><span class="d-decl">OMFReader <span class="d-symbol" decl="get">get</span>(inout VByte <span class="d-param">x</span> 76 ); 77 </span></dt> 78 65 79 <dd><b>Returns:</b><br/> 66 80 the next byte in the buffer/conduit … … 68 82 69 83 </dd> 70 </ dl>84 </span></dl> 71 85 </dd> 72 <dt><big>class <u>DWordOMFReader</u>: ddl.omf.OMFReader.OMFReader; 73 </big></dt> 86 <dt><span class="d-decl">class <span class="d-symbol" decl="DWordOMFReader">DWordOMFReader</span>: ddl.omf.OMFReader.OMFReader; 87 </span></dt> 88 74 89 <dd>Subclass of OMFReader that provides the getVWord and getVByte methods as appropriate 75 90 for dword-oriented (odd) OMF records. 76 91 <br/><br/> 77 92 78 <dl><dt><big>this(IBuffer <i>buffer</i>, ubyte <i>type</i>); 79 </big></dt> 93 <dl><span class="d-members"><dt><span class="d-decl">this(IBuffer <span class="d-param">buffer</span> 94 , ubyte <span class="d-param">type</span> 95 ); 96 </span></dt> 97 80 98 <dd>Constructor 81 99 <br/><br/> 82 100 83 101 </dd> 84 <dt><big>this(IConduit <i>conduit</i>, ubyte <i>type</i>); 85 </big></dt> 102 <dt><span class="d-decl">this(IConduit <span class="d-param">conduit</span> 103 , ubyte <span class="d-param">type</span> 104 ); 105 </span></dt> 106 86 107 <dd>Constructor 87 108 <br/><br/> 88 109 89 110 </dd> 90 <dt><big>this(ubyte[] <i>data</i>, ubyte <i>type</i>); 91 </big></dt> 111 <dt><span class="d-decl">this(ubyte[] <span class="d-param">data</span> 112 , ubyte <span class="d-param">type</span> 113 ); 114 </span></dt> 115 92 116 <dd>Constructor 93 117 <br/><br/> 94 118 95 119 </dd> 96 <dt><big>OMFReader <u>get</u>(inout VWord <i>x</i>); 97 </big></dt> 120 <dt><span class="d-decl">OMFReader <span class="d-symbol" decl="get">get</span>(inout VWord <span class="d-param">x</span> 121 ); 122 </span></dt> 123 98 124 <dd><b>Returns:</b><br/> 99 125 the next dword in the buffer/conduit … … 101 127 102 128 </dd> 103 <dt><big>OMFReader <u>get</u>(inout VByte <i>x</i>); 104 </big></dt> 129 <dt><span class="d-decl">OMFReader <span class="d-symbol" decl="get">get</span>(inout VByte <span class="d-param">x</span> 130 ); 131 </span></dt> 132 105 133 <dd><b>Returns:</b><br/> 106 134 the next word in the buffer/conduit … … 108 136 109 137 </dd> 110 </ dl>138 </span></dl> 111 139 </dd> 112 </ dl>140 </span> 113 141 114 142 </body></html> trunk/doc/ddl/html/examples/host.html
r250 r277 14 14 <br/><br/> 15 15 16 17 16 void entry (Linker linker, char[][] args) 18 17 <br/><br/> 19 20 18 21 19 The application can then use the provided linker and args for … … 23 21 <br/><br/> 24 22 25 26 23 An example application is mule.d, which looks like so: 27 24 <br/><br/> 28 29 25 30 26 module app; 31 27 <br/><br/> 32 28 33 34 29 import std.stdio; 35 30 import ddl.Linker; 36 31 <br/><br/> 37 38 32 39 33 public void entry (Linker linker, char[][] args) … … 42 36 <br/><br/> 43 37 44 45 38 foreach (char[] arg; args) 46 39 writef (" %s", arg); 47 40 <br/><br/> 48 49 41 50 42 writefln (" ... done"); … … 53 45 <br/><br/> 54 46 55 < dl></dl>47 <span class="d-modulemembers"></span> 56 48 57 49 </body></html> trunk/doc/ddl/html/examples/mule.html
r250 r277 9 9 <br/><br/> 10 10 11 < dl></dl>11 <span class="d-modulemembers"></span> 12 12 13 13 </body></html> trunk/doc/ddl/html/index.html
r261 r277 1 2 <html> 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml"> 3 4 <head> 5 <title>DDL Doc Viewer</title> 6 4 7 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 5 8 <meta content="text/javascript" http-equiv="content-script-type"> 6 <title>ddl.all</title> 9 10 <link rel="stylesheet" type="text/css" href="css/layout.css"> 7 11 <link rel="stylesheet" type="text/css" href="css/style.css"> 8 <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="css/ie6.css"><![endif]--> 9 <script language="JavaScript" src="js/prototype.js" type="text/javascript"></script> 10 <script language="JavaScript" src="js/explorer.js" type="text/javascript"></script> 12 <link rel="stylesheet" type="text/css" href="css/tree.css"> 13 14 <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="css/style-ie.css"><![endif]--> 15 16 <script language="JavaScript" src="js/yui/yahoo-min.js" type="text/javascript"></script> 17 <script language="JavaScript" src="js/yui/dom-min.js" type="text/javascript"></script> 18 <script language="JavaScript" src="js/yui/dragdrop-min.js" type="text/javascript"></script> 19 <script language="JavaScript" src="js/yui/event-min.js" type="text/javascript"></script> 20 <script language="JavaScript" src="js/yui/animation-min.js" type="text/javascript"></script> 21 <script language="JavaScript" src="js/yui/treeview-min.js" type="text/javascript"></script> 22 <script language="JavaScript" src="js/yui/connection-min.js" type="text/javascript"></script> 23 <script language="JavaScript" src="js/yui/logger-min.js" type="text/javascript"></script> 24 25 <script language="JavaScript" src="js/ext/yutil-min.js" type="text/javascript"></script> 26 <script language="JavaScript" src="js/ext/updater-min.js" type="text/javascript"></script> 27 <script language="JavaScript" src="js/ext/element-min.js" type="text/javascript"></script> 28 <script language="JavaScript" src="js/ext/splitbar-min.js" type="text/javascript"></script> 29 30 <script language="JavaScript" src="js/main.js" type="text/javascript"></script> 31 <script language="JavaScript" src="js/tabpanel.js" type="text/javascript"></script> 11 32 <script language="JavaScript"> 12 33 function main(){ 13 var explorer = new Explorer($('explorer'),$('content'),"ddl.all"); 14 15 16 explorer.addModule("root"); 17 18 explorer.addModule("ddl.all"); 19 20 explorer.addModule("ddl.DynamicLibrary"); 21 22 explorer.addModule("ddl.ExportSymbol"); 23 24 explorer.addModule("ddl.DynamicModule"); 25 26 explorer.addModule("ddl.Attributes"); 27 28 explorer.addModule("ddl.Mangle"); 29 30 explorer.addModule("ddl.DefaultRegistry"); 31 32 explorer.addModule("ddl.LoaderRegistry"); 33 34 explorer.addModule("ddl.DynamicLibraryLoader"); 35 36 explorer.addModule("ddl.FileBuffer"); 37 38 explorer.addModule("ddl.Utils"); 39 40 explorer.addModule("ddl.DDLException"); 41 42 explorer.addModule("ddl.DDLReader"); 43 44 explorer.addModule("ddl.DDLWriter"); 45 46 explorer.addModule("ddl.ExpContainer"); 47 48 explorer.addModule("ddl.Demangle"); 49 50 explorer.addModule("ddl.Linker"); 51 52 explorer.addModule("ddl.ar.ArchiveLoader"); 53 54 explorer.addModule("ddl.ar.ArchiveLibrary"); 55 56 explorer.addModule("ddl.ar.ArchiveReader"); 57 58 explorer.addModule("ddl.omf.OMFLoader"); 59 60 explorer.addModule("ddl.omf.OMFLibrary"); 61 62 explorer.addModule("ddl.omf.OMFModule"); 63 64 explorer.addModule("ddl.omf.OMFBinary"); 65 66 explorer.addModule("ddl.omf.OMFException"); 67 68 explorer.addModule("ddl.omf.OMFReader"); 69 70 explorer.addModule("ddl.omf.DLLProvider"); 71 72 explorer.addModule("ddl.ddl.DDLLoader"); 73 74 explorer.addModule("ddl.ddl.DDLLibrary"); 75 76 explorer.addModule("ddl.ddl.DDLBinary"); 77 78 explorer.addModule("ddl.elf.ELFObjLoader"); 79 80 explorer.addModule("ddl.elf.ELFLibrary"); 81 82 explorer.addModule("ddl.elf.ELFHeaders"); 83 84 explorer.addModule("ddl.elf.ELFModule"); 85 86 explorer.addModule("ddl.elf.ELFBinary"); 87 88 explorer.addModule("ddl.elf.ELFReader"); 89 90 explorer.addModule("ddl.elf.ELFPrinter"); 91 92 explorer.addModule("ddl.insitu.InSituLoader"); 93 94 explorer.addModule("ddl.insitu.InSituMapBinary"); 95 96 explorer.addModule("ddl.insitu.InSituBinary"); 97 98 explorer.addModule("ddl.insitu.InSituLibBinary"); 99 100 explorer.addModule("ddl.insitu.InSituLibrary"); 101 102 explorer.addModule("ddl.insitu.InSituModule"); 34 var menuModules = [ 35 36 "root", 37 "ddl.all", 38 "ddl.DynamicLibrary", 39 "ddl.ExportSymbol", 40 "ddl.DynamicModule", 41 "ddl.Attributes", 42 "ddl.Mangle", 43 "ddl.DefaultRegistry", 44 "ddl.LoaderRegistry", 45 "ddl.DynamicLibraryLoader", 46 "ddl.FileBuffer", 47 "ddl.Utils", 48 "ddl.DDLException", 49 "ddl.DDLReader", 50 "ddl.DDLWriter", 51 "ddl.ExpContainer", 52 "ddl.Demangle", 53 "ddl.Linker", 54 "ddl.ar.ArchiveLoader", 55 "ddl.ar.ArchiveLibrary", 56 "ddl.ar.ArchiveReader", 57 "ddl.omf.OMFLoader", 58 "ddl.omf.OMFLibrary", 59 "ddl.omf.OMFModule", 60 "ddl.omf.OMFBinary", 61 "ddl.omf.OMFException", 62 "ddl.omf.OMFReader", 63 "ddl.omf.DLLProvider", 64 "ddl.ddl.DDLLoader", 65 "ddl.ddl.DDLLibrary", 66 "ddl.ddl.DDLBinary", 67 "ddl.elf.ELFObjLoader", 68 "ddl.elf.ELFLibrary", 69 "ddl.elf.ELFHeaders", 70 "ddl.elf.ELFModule", 71 "ddl.elf.ELFBinary", 72 "ddl.elf.ELFReader", 73 "ddl.elf.ELFPrinter", 74 "ddl.insitu.InSituLoader", 75 "ddl.insitu.InSituMapBinary", 76 "ddl.insitu.InSituBinary", 77 "ddl.insitu.InSituLibBinary", 78 "ddl.insitu.InSituLibrary", 79 "ddl.insitu.InSituModule", 80 null 81 ]; 82 window.explorer = new Explorer('menu','tabheader','content',menuModules); 103 83 } 84 85 YAHOO.util.Event.on(window, 'load', main); 104 86 </script> 105 87 </head> 106 <body onload="main()"> 107 <div id="pageheader"><h2>DDL</h2></div> 108 <div id="explorer"> </div> 109 <div id="content"> </div> 88 <body id="container"> 89 <div id="top"> 90 <div id="tabheader"> 91 </div> 92 </div> 93 <div id="menu"></div> 94 <div id="splitter"></div> 95 <div id="content"></div> 96 <div id="bottom"> 97 <!--p> 98 <a href='http://www.dsource.org/projects/ddl'>DDL Project Page</a> 99 <a href='http://www.dsource.org/projects/mango'>Mango Project Page</a> 100 <a href='http://www.digitalmars.com/d'>Digital Mars D</a> 101 </p--> 102 <div id="menutab"></div> 103 </div> 110 104 </body> 111 105 </html> trunk/doc/ddl/html/meta/conv.html
r250 r277 7 7 <!-- Generated by Ddoc from meta\conv.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/meta/ctype.html
r250 r277 6 6 <h1>meta.ctype</h1> 7 7 <!-- Generated by Ddoc from meta\ctype.d --> 8 Simple ASCII character classification functions. Compile-time equivalents of std.< u>ctype</u>9 All these functions return <b>false</b>if presented with a non-ASCII character.8 Simple ASCII character classification functions. Compile-time equivalents of std.<span class="d-symbol" decl="ctype">ctype</span> 9 All these functions return $B(<span class="d-keyword">false</span>) if presented with a non-ASCII character. 10 10 11 11 <br/><br/> 12 12 13 < dl></dl>13 <span class="d-modulemembers"></span> 14 14 15 15 </body></html> trunk/doc/ddl/html/meta/math.html
r250 r277 7 7 <!-- Generated by Ddoc from meta\math.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/meta/string.html
r250 r277 7 7 <!-- Generated by Ddoc from meta\string.d --> 8 8 <br/><br/> 9 10 <dl></dl> 9 <span class="d-modulemembers"></span> 11 10 12 11 </body></html> trunk/doc/ddl/html/utils/ArgParser.html
r250 r277 9 9 line arguments. 10 10 <br/><br/> 11 A sample program would instantiate the < u>ArgParser</u> class, bind11 A sample program would instantiate the <span class="d-symbol" decl="ArgParser">ArgParser</span> class, bind 12 12 some delegates (can be anonymous), then call parse with the 13 13 arguments as a parameter. 14 14 <br/><br/> 15 15 16 17 16 Note that the delegates must return the correct number of 18 consumed characters to ensure that the < u>ArgParser</u> operates correctly.17 consumed characters to ensure that the <span class="d-symbol" decl="ArgParser">ArgParser</span> operates correctly. 19 18 Simple arguments that don't use the value parameter of the callback, 20 19 should return 0 consumed characters. This behaviour will ensure that 21 < u>ArgParser</u> will correctly handle all arguments, even when there are20 <span class="d-symbol" decl="ArgParser">ArgParser</span> will correctly handle all arguments, even when there are 22 21 no space between them. 23 22 … … 30 29 <br/><br/> 31 30 32 <dl><dt><big>alias <u>ArgParserCallback</u>; 33 </big></dt> 31 <span class="d-modulemembers"><dt><span class="d-decl">alias <span class="d-symbol" decl="ArgParserCallback">ArgParserCallback</span>; 32 </span></dt> 33 34 34 <dd>An alias to a delegate taking a char[] as a parameter and returning 35 35 an uint. The value parameter will hold any chars immediately … … 39 39 40 40 </dd> 41 <dt><big>alias <u>DefaultArgParserCallback</u>; 42 </big></dt> 41 <dt><span class="d-decl">alias <span class="d-symbol" decl="DefaultArgParserCallback">DefaultArgParserCallback</span>; 42 </span></dt> 43 43 44 <dd>An alias to a delegate taking a char[] as a parameter and returning 44 45 an uint. The value parameter will hold any chars immediately … … 53 54 54 55 </dd> 55 <dt><big>alias <u>ArgParserSimpleCallback</u>; 56 </big></dt> 56 <dt><span class="d-decl">alias <span class="d-symbol" decl="ArgParserSimpleCallback">ArgParserSimpleCallback</span>; 57 </span></dt> 58 57 59 <dd>An alias to a delegate taking no parameters and returning 58 60 nothing. … … 60 62 61 63 </dd> 62 <dt><big>class <u>ArgParser</u>; 63 </big></dt> 64 <dt><span class="d-decl">class <span class="d-symbol" decl="ArgParser">ArgParser</span>; 65 </span></dt> 66 64 67 <dd>A utility class to parse and handle your command line arguments. 65 68 <br/><br/> 66 69 67 <dl><dt><big>struct <u>PrefixCallback</u>; 68 </big></dt> 70 <dl><span class="d-members"><dt><span class="d-decl">struct <span class="d-symbol" decl="PrefixCallback">PrefixCallback</span>; 71 </span></dt> 72 69 73 <dd>A helper struct containing a callback and an id to, corresponding to 70 74 the argId passed to one of the bind methods. … … 72 76 <br/><br/> 73 77 74 <dl></dl> 75 </dd> 76 <dt><big>void <u>bind</u>(char[] <i>argPrefix</i>, char[] <i>argId</i>, uint delegate(char[] value) <i>cb</i>); 77 </big></dt> 78 <dl><span class="d-members"></span></dl> 79 </dd> 80 <dt><span class="d-decl">void <span class="d-symbol" decl="bind">bind</span>(char[] <span class="d-param">argPrefix</span> 81 , char[] <span class="d-param">argId</span> 82 , uint delegate(char[] value) <span class="d-param">cb</span> 83 ); 84 </span></dt> 85 78 86 <dd>Binds a delegate callback to argument with a prefix and 79 a <i>argId</i>. 80 <br/><br/> 81 <table><tr><td>char[] <i>argPrefix</i></td> 82 <td>the prefix of the argument, e.g. a dash '-'.</td></tr> 83 <tr><td>char[] <i>argId</i></td> 84 <td>the name of the argument, what follows the prefix</td></tr> 85 <tr><td>uint delegate(char[] value) <i>cb</i></td> 86 <td>the delegate that should be called when this argument is found</td></tr> 87 </table><br/><br/> 88 89 </dd> 90 <dt><big>this(); 91 </big></dt> 87 a <span class="d-param">argId</span> 88 . 89 <br/><br/> 90 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">argPrefix</span> 91 </td> 92 <td><span class="d-paramdesc">the prefix of the argument, e.g. a dash '-'.</span></td></tr> 93 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">argId</span> 94 </td> 95 <td><span class="d-paramdesc">the name of the argument, what follows the prefix</span></td></tr> 96 <tr><td nowrap valign="top" style="padding-right: 8px">uint delegate(char[] value) <span class="d-param">cb</span> 97 </td> 98 <td><span class="d-paramdesc">the delegate that should be called when this argument is found</span></td></tr> 99 </table><br/><br/></span> 100 101 </dd> 102 <dt><span class="d-decl">this(); 103 </span></dt> 104 92 105 <dd>The constructor, creates an empty ArgParser instance. 93 106 … … 95 108 96 109 </dd> 97 <dt><big>this(uint delegate(char[] value, uint ordinal) <i>callback</i>); 98 </big></dt> 99 <dd>The constructor, creates an ArgParser instance with a defined default <i>callback</i>. 110 <dt><span class="d-decl">this(uint delegate(char[] value, uint ordinal) <span class="d-param">callback</span> 111 ); 112 </span></dt> 113 114 <dd>The constructor, creates an ArgParser instance with a defined default <span class="d-param">callback</span> 115 . 100 116 101 117 <br/><br/> 102 118 103 119 </dd> 104 <dt><big>void <u>bind</u>(char[] <i>argPrefix</i>, char[] <i>argId</i>, void delegate() <i>cb</i>); 105 </big></dt> 120 <dt><span class="d-decl">void <span class="d-symbol" decl="bind">bind</span>(char[] <span class="d-param">argPrefix</span> 121 , char[] <span class="d-param">argId</span> 122 , void delegate() <span class="d-param">cb</span> 123 ); 124 </span></dt> 125 106 126 <dd>Binds a delegate callback to argument with a prefix and 107 a <i>argId</i>. 108 <br/><br/> 109 <table><tr><td>char[] <i>argPrefix</i></td> 110 <td>the prefix of the argument, e.g. a dash '-'.</td></tr> 111 <tr><td>char[] <i>argId</i></td> 112 <td>the name of the argument, what follows the prefix</td></tr> 113 <tr><td>void delegate() <i>cb</i></td> 114 <td>the delegate that should be called when this argument is found</td></tr> 115 </table><br/><br/> 116 117 </dd> 118 <dt><big>void <u>bindDefault</u>(char[] <i>argPrefix</i>, uint delegate(char[] value, uint ordinal) <i>callback</i>); 119 </big></dt> 120 <dd>Binds a delegate <i>callback</i> to all arguments with prefix <i>argPrefix</i>, but that 127 a <span class="d-param">argId</span> 128 . 129 <br/><br/> 130 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">argPrefix</span> 131 </td> 132 <td><span class="d-paramdesc">the prefix of the argument, e.g. a dash '-'.</span></td></tr> 133 <tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">argId</span> 134 </td> 135 <td><span class="d-paramdesc">the name of the argument, what follows the prefix</span></td></tr> 136 <tr><td nowrap valign="top" style="padding-right: 8px">void delegate() <span class="d-param">cb</span> 137 </td> 138 <td><span class="d-paramdesc">the delegate that should be called when this argument is found</span></td></tr> 139 </table><br/><br/></span> 140 141 </dd> 142 <dt><span class="d-decl">void <span class="d-symbol" decl="bindDefault">bindDefault</span>(char[] <span class="d-param">argPrefix</span> 143 , uint delegate(char[] value, uint ordinal) <span class="d-param">callback</span> 144 ); 145 </span></dt> 146 147 <dd>Binds a delegate <span class="d-param">callback</span> 148 to all arguments with prefix <span class="d-param">argPrefix</span> 149 , but that 121 150 do not conform to an argument bound in a call to bind(). 122 151 <br/><br/> 123 <table><tr><td>char[] <i>argPrefix</i></td> 124 <td>the prefix for the <i>callback</i></td></tr> 125 <tr><td>uint delegate(char[] value, uint ordinal) <i>callback</i></td> 126 <td>the default <i>callback</i></td></tr> 127 </table><br/><br/> 128 129 </dd> 130 <dt><big>void <u>bindDefault</u>(uint delegate(char[] value, uint ordinal) <i>callback</i>); 131 </big></dt> 132 <dd>Binds a delegate <i>callback</i> to all arguments not conforming to an 152 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[] <span class="d-param">argPrefix</span> 153 </td> 154 <td><span class="d-paramdesc">the prefix for the <span class="d-param">callback</span> 155 </span></td></tr> 156 <tr><td nowrap valign="top" style="padding-right: 8px">uint delegate(char[] value, uint ordinal) <span class="d-param">callback</span> 157 </td> 158 <td><span class="d-paramdesc">the default <span class="d-param">callback</span> 159 </span></td></tr> 160 </table><br/><br/></span> 161 162 </dd> 163 <dt><span class="d-decl">void <span class="d-symbol" decl="bindDefault">bindDefault</span>(uint delegate(char[] value, uint ordinal) <span class="d-param">callback</span> 164 ); 165 </span></dt> 166 167 <dd>Binds a delegate <span class="d-param">callback</span> 168 to all arguments not conforming to an 133 169 argument bound in a call to bind(). These arguments will be passed to the 134 170 delegate without having any matching prefixes removed. 135 171 <br/><br/> 136 <table><tr><td>uint delegate(char[] value, uint ordinal) <i>callback</i></td> 137 <td>the default <i>callback</i></td></tr> 138 </table><br/><br/> 139 140 </dd> 141 <dt><big>void <u>parse</u>(char[][] <i>arguments</i>); 142 </big></dt> 143 <dd>Parses the <i>arguments</i> provided by the parameter. The bound 144 callbacks are called as <i>arguments</i> are recognized. 145 <br/><br/> 146 <table><tr><td>char[][] <i>arguments</i></td> 147 <td>the command line <i>arguments</i> from the application</td></tr> 148 </table><br/><br/> 149 150 </dd> 151 </dl> 152 </dd> 153 </dl> 172 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">uint delegate(char[] value, uint ordinal) <span class="d-param">callback</span> 173 </td> 174 <td><span class="d-paramdesc">the default <span class="d-param">callback</span> 175 </span></td></tr> 176 </table><br/><br/></span> 177 178 </dd> 179 <dt><span class="d-decl">void <span class="d-symbol" decl="parse">parse</span>(char[][] <span class="d-param">arguments</span> 180 ); 181 </span></dt> 182 183 <dd>Parses the <span class="d-param">arguments</span> 184 provided by the parameter. The bound 185 callbacks are called as <span class="d-param">arguments</span> 186 are recognized. 187 <br/><br/> 188 <span class="d-params"><table><tr><td nowrap valign="top" style="padding-right: 8px">char[][] <span class="d-param">arguments</span> 189 </td> 190 <td><span class="d-paramdesc">the command line <span class="d-param">arguments</span> 191 from the application</span></td></tr> 192 </table><br/><br/></span> 193 194 </dd> 195 </span></dl> 196 </dd> 197 </span> 154 198 155 199 </body></html> trunk/doc/ddl/index.ddoc
r250 r277 1 DDOC = 2 <html> 1 DDOC = <?xml version="1.0" encoding="iso-8859-1"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml"> 3 4 <head> 5 <title>DDL Doc Viewer</title> 6 4 7 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 5 8 <meta content="text/javascript" http-equiv="content-script-type"> 6 <title>$(TITLE)</title> 9 10 <link rel="stylesheet" type="text/css" href="css/layout.css"> 7 11 <link rel="stylesheet" type="text/css" href="css/style.css"> 12 <link rel="stylesheet" type="text/css" href="css/tree.css"> 13 8 14 <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="css/ie6.css"><![endif]--> 9 <script language="JavaScript" src="js/prototype.js" type="text/javascript"></script> 10 <script language="JavaScript" src="js/explorer.js" type="text/javascript"></script> 15 16 <script language="JavaScript" src="js/yui/yahoo-min.js" type="text/javascript"></script> 17 <script language="JavaScript" src="js/yui/dom-min.js" type="text/javascript"></script> 18 <script language="JavaScript" src="js/yui/dragdrop-min.js" type="text/javascript"></script> 19 <script language="JavaScript" src="js/yui/event-min.js" type="text/javascript"></script> 20 <script language="JavaScript" src="js/yui/animation-min.js" type="text/javascript"></script> 21 <script language="JavaScript" src="js/yui/treeview-min.js" type="text/javascript"></script> 22 <script language="JavaScript" src="js/yui/connection-min.js" type="text/javascript"></script> 23 <script language="JavaScript" src="js/yui/logger-min.js" type="text/javascript"></script> 24 25 <script language="JavaScript" src="js/ext/yutil-min.js" type="text/javascript"></script> 26 <script language="JavaScript" src="js/ext/updater-min.js" type="text/javascript"></script> 27 <script language="JavaScript" src="js/ext/element-min.js" type="text/javascript"></script> 28 <script language="JavaScript" src="js/ext/splitbar-min.js" type="text/javascript"></script> 29 30 <script language="JavaScript" src="js/main.js" type="text/javascript"></script> 31 <script language="JavaScript" src="js/tabpanel.js" type="text/javascript"></script> 11 32 <script language="JavaScript"> 12 33 function main(){ 13 var explorer = new Explorer($('explorer'),$('content'),"$(TITLE)"); 14 $(MODULES) 34 var menuModules = [ 35 $(MODULES) 36 null 37 ]; 38 window.explorer = new Explorer('menu','tabheader','content',menuModules); 15 39 } 40 41 YAHOO.util.Event.on(window, 'load', main); 16 42 </script> 17 43 </head> 18 <body onload="main()"> 19 <div id="pageheader"><h2>DDL</h2></div> 20 <div id="explorer"> </div> 21 <div id="content"> </div> 44 <body id="container"> 45 <div id="top"> 46 <div id="tabheader"> 47 </div> 48 </div> 49 <div id="menu"></div> 50 <div id="splitter"></div> 51 <div id="content"></div> 52 <div id="bottom"> 53 <p> 54 <a href='http://www.dsource.org/projects/ddl'>DDL Project Page</a> 55 <a href='http://www.dsource.org/projects/mango'>Mango Project Page</a> 56 <a href='http://www.digitalmars.com/d'>Digital Mars D</a> 57 </p> 58 </div> 22 59 </body> 23 60 </html> … … 36 73 37 74 DDOC_PARAM =<span class="funcparam">$0</span> 38 MODULE = 39 explorer.addModule("$0"); 75 MODULE = "$0", trunk/doc/ddl/xhtml.ddoc
r250 r277 42 42 </body></html> 43 43 44 DDOC_DECL = $(DT $(BIG $0)) 44 DDOC_DECL = $(DT <span class="d-decl">$0</span>) 45 45 46 DDOC_DECL_DD = $(DD $0) 46 47 DDOC_SECTIONS = $0 … … 73 74 DDOC_VERSION = $(B Version:)$(BR) 74 75 $0$(BR)$(BR) 76 75 77 DDOC_SECTION_H = $(B $0)$(BR)$(BR) 76 78 DDOC_SECTION = $0$(BR)$(BR) 77 DDOC_MEMBERS = $(DL $0)78 DDOC_PARAMS = $(TABLE $0)$(BR)$(BR)79 DDOC_MEMBERS = $(DL<span class="d-members">$0</span>) 80 DDOC_PARAMS = <span class="d-params">$(TABLE $0)$(BR)$(BR)</span> 79 81 DDOC_PARAM_ROW = $(TR $0) 80 DDOC_PARAM_ID = $(TD $0)81 DDOC_PARAM_DESC = $(TD $0)82 DDOC_PARAM_ID = <td nowrap valign="top" style="padding-right: 8px">$0</td> 83 DDOC_PARAM_DESC = $(TD <span class="d-paramdesc">$0</span>) 82 84 DDOC_BLANKLINE = $(BR)$(BR) 85 DDOC_PSYMBOL = <span class="d-symbol" decl="$0">$0</span> 86 DDOC_KEYWORD = $(B<span class="d-keyword">$0</span>) 87 DDOC_PARAM = <span class="d-param">$0</span> 83 88 84 DDOC_PSYMBOL = $(U $0) 85 DDOC_KEYWORD = $(B $0) 86 DDOC_PARAM = $(I $0) 89 DDOC_MODULE_MEMBERS = <span class="d-modulemembers">$0</span> trunk/enki/EnkiBackend.d
r239 r277 69 69 UserProduction[String] userProductions; 70 70 71 protected void clearErrors(){ 72 debug writefln("** clearErrors() **"); 73 super.clearErrors(); 74 } 75 71 76 public this(){ 72 77 this.baseclass = "BaseParser"; trunk/enki/EnkiParser.d
r276 r277 1930 1930 String 1931 1931 = String text 1932 ::= "\"" { AnyChar}:text "\"";1932 ::= ( "\"" | "\'"):~delim { AnyChar}:text.delim; 1933 1933 1934 1934 */ … … 1938 1938 String bind_text; 1939 1939 1940 String bind_delim; 1940 1941 1941 1942 {//Expression 1942 1943 uint start148 = position; 1943 if(!(terminal("\"").success)){ 1944 goto mismatch158; 1944 {//GroupExpr 1945 uint start149 = position; 1946 {//Expression 1947 uint start150 = position; 1948 if((terminal("\"").success) || (terminal("\'").success)){ 1949 clearErrors(); 1950 }else{ 1951 position = start150; 1952 goto mismatch158; 1953 } 1954 } 1955 smartAssignCat!(String,String)(bind_delim,sliceData(start149,position)); 1945 1956 } 1946 1957 {//ZeroOrMoreExpr 1947 uint start1 49= position;1948 uint termPos15 0;1958 uint start151 = position; 1959 uint termPos152; 1949 1960 loop159: 1950 termPos15 0= position;1951 if(terminal( "\"").success){1961 termPos152 = position; 1962 if(terminal(convert!(String,String)(bind_delim)).success){ 1952 1963 goto loopend160; 1953 1964 }else{ … … 1956 1967 exprStart161: 1957 1968 {//Expression 1958 uint start15 1= position;1969 uint start153 = position; 1959 1970 if((parse_AnyChar().success)){ 1960 1971 clearErrors(); … … 1962 1973 }else{ 1963 1974 setError("Expected AnyChar."); 1964 position = start15 1;1975 position = start153; 1965 1976 goto loopend160; 1966 1977 } 1967 1978 } 1968 1979 loopend160: 1969 smartAssign!(String,String)(bind_text,sliceData(start1 49,termPos150));1980 smartAssign!(String,String)(bind_text,sliceData(start151,termPos152)); 1970 1981 {/*do nothing*/} 1971 1982 } … … 1996 2007 public ResultT!(String) parse_HexExpr(){ 1997 2008 debug writefln("parse_HexExpr()"); 1998 uint start15 2= position;2009 uint start154 = position; 1999 2010 String bind_text; 2000 2011 2001 2012 2002 2013 {//Expression 2003 uint start15 3= position;2014 uint start155 = position; 2004 2015 if(!(terminal("#").success)){ 2005 2016 goto mismatch165; 2006 2017 } 2007 2018 {//GroupExpr 2008 uint start15 4= position;2009 {//Expression 2010 uint start15 5= position;2019 uint start156 = position; 2020 {//Expression 2021 uint start157 = position; 2011 2022 if(!(parse_hexdigit().success)){ 2012 2023 goto mismatch167; … … 2017 2028 {//OptionalExpr 2018 2029 {//Expression 2019 uint start15 7= position;2030 uint start159 = position; 2020 2031 if(!(parse_hexdigit().success)){ 2021 2032 goto mismatch169; … … 2026 2037 {//OptionalExpr 2027 2038 {//Expression 2028 uint start1 59= position;2039 uint start161 = position; 2029 2040 if(!(parse_hexdigit().success)){ 2030 2041 goto mismatch171; … … 2041 2052 {//OptionalExpr 2042 2053 {//Expression 2043 uint start16 1= position;2054 uint start163 = position; 2044 2055 if((parse_hexdigit().success && parse_hexdigit().success && parse_hexdigit().success && parse_hexdigit().success && parse_hexdigit().success && parse_hexdigit().success && parse_hexdigit().success && parse_hexdigit().success)){ 2045 2056 clearErrors(); 2046 2057 }else{ 2047 position = start16 1;2058 position = start163; 2048 2059 } 2049 2060 } … … 2052 2063 mismatch171: 2053 2064 {/*do nothing*/} 2054 position = start1 59;2065 position = start161; 2055 2066 {/*do nothing*/} 2056 2067 match170: … … 2062 2073 mismatch169: 2063 2074 {/*do nothing*/} 2064 position = start15 7;2075 position = start159; 2065 2076 {/*do nothing*/} 2066 2077 match168: … … 2072 2083 mismatch167: 2073 2084 setError("Expected hexdigit."); 2074 position = start15 5;2085 position = start157; 2075 2086 goto mismatch165; 2076 2087 match166: … … 2078 2089 {/*do nothing*/} 2079 2090 } 2080 smartAssign!(String,String)(bind_text,sliceData(start15 4,position));2091 smartAssign!(String,String)(bind_text,sliceData(start156,position)); 2081 2092 } 2082 2093 goto match164; 2083 2094 mismatch165: 2084 2095 {/*do nothing*/} 2085 position = start15 3;2096 position = start155; 2086 2097 goto mismatch163; 2087 2098 match164: … … 2093 2104 return ResultT!(String)(bind_text); 2094 2105 mismatch163: 2095 position = start15 2;2106 position = start154; 2096 2107 return ResultT!(String)(); 2097 2108 } … … 2106 2117 public ResultT!(String) parse_AnyChar(){ 2107 2118 debug writefln("parse_AnyChar()"); 2108 uint start16 2= position;2119 uint start164 = position; 2109 2120 String bind_value; 2110 2121 2111 2122 2112 2123 {//Expression 2113 uint start16 3= position;2124 uint start165 = position; 2114 2125 {//OptionalExpr 2115 2126 {//Expression 2116 uint start16 5= position;2127 uint start167 = position; 2117 2128 if((terminal("\\").assignCat!(String)(bind_value))){ 2118 2129 clearErrors(); 2119 2130 }else{ 2120 position = start16 5;2131 position = start167; 2121 2132 } 2122 2133 } … … 2128 2139 mismatch175: 2129 2140 {/*do nothing*/} 2130 position = start16 3;2141 position = start165; 2131 2142 goto mismatch173; 2132 2143 match174: … … 2138 2149 return ResultT!(String)(bind_value); 2139 2150 mismatch173: 2140 position = start16 2;2151 position = start164; 2141 2152 return ResultT!(String)(); 2142 2153 } … … 2151 2162 public ResultT!(Comment) parse_Comment(){ 2152 2163 debug writefln("parse_Comment()"); 2153 uint start16 6= position;2164 uint start168 = position; 2154 2165 String bind_text; 2155 2166 2156 2167 2157 2168 {//Expression 2158 uint start16 7= position;2169 uint start169 = position; 2159 2170 if((parse_PoundComment().assign!(String)(bind_text)) || (parse_SlashSlashComment().assign!(String)(bind_text)) || (parse_SlashStarComment().assign!(String)(bind_text))){ 2160 2171 clearErrors(); … … 2162 2173 }else{ 2163 2174 setError("Expected PoundComment, SlashSlashComment or SlashStarComment."); 2164 position = start16 7;2175 position = start169; 2165 2176 goto mismatch177; 2166 2177 } … … 2171 2182 return passed; 2172 2183 mismatch177: 2173 position = start16 6;2184 position = start168; 2174 2185 ResultT!(Comment) failed = ResultT!(Comment)(); 2175 2186 return failed; … … 2185 2196 public ResultT!(String) parse_PoundComment(){ 2186 2197 debug writefln("parse_PoundComment()"); 2187 uint start1 68= position;2198 uint start170 = position; 2188 2199 String bind_text; 2189 2200 2190 2201 2191 2202 {//Expression 2192 uint start1 69= position;2203 uint start171 = position; 2193 2204 if(!(terminal("#").success)){ 2194 2205 goto mismatch181; 2195 2206 } 2196 2207 {//ZeroOrMoreExpr 2197 uint start17 0= position;2198 uint termPos17 1;2208 uint start172 = position; 2209 uint termPos173; 2199 2210 loop182: 2200 termPos17 1= position;2211 termPos173 = position; 2201 2212 if(parse_eol().success){ 2202 2213 goto loopend183; … … 2206 2217 exprStart184: 2207 2218 {//Expression 2208 uint start17 2= position;2219 uint start174 = position; 2209 2220 if((parse_any().success)){ 2210 2221 clearErrors(); … … 2212 2223 }else{ 2213 2224 setError("Expected any."); 2214 position = start17 2;2225 position = start174; 2215 2226 goto loopend183; 2216 2227 } 2217 2228 } 2218 2229 loopend183: 2219 smartAssign!(String,String)(bind_text,sliceData(start17 0,termPos171));2230 smartAssign!(String,String)(bind_text,sliceData(start172,termPos173)); 2220 2231 {/*do nothing*/} 2221 2232 } … … 2223 2234 mismatch181: 2224 2235 {/*do nothing*/} 2225 position = start1 69;2236 position = start171; 2226 2237 goto mismatch179; 2227 2238 match180: … … 2233 2244 return ResultT!(String)(bind_text); 2234 2245 mismatch179: 2235 position = start1 68;2246 position = start170; 2236 2247 return ResultT!(String)(); 2237 2248 } … … 2246 2257 public ResultT!(String) parse_SlashSlashComment(){ 2247 2258 debug writefln("parse_SlashSlashComment()"); 2248 uint start17 3= position;2259 uint start175 = position; 2249 2260 String bind_text; 2250 2261 2251 2262 2252 2263 {//Expression 2253 uint start17 4= position;2264 uint start176 = position; 2254 2265 if(!(terminal("\x2F\x2F").success)){ 2255 2266 goto mismatch188; 2256 2267 } 2257 2268 {//ZeroOrMoreExpr 2258 uint start17 5= position;2259 uint termPos17 6;2269 uint start177 = position; 2270 uint termPos178; 2260 2271 loop189: 2261 termPos17 6= position;2272 termPos178 = position; 2262 2273 if(parse_eol().success){ 2263 2274 goto loopend190; … … 2267 2278 exprStart191: 2268 2279 {//Expression 2269 uint start17 7= position;2280 uint start179 = position; 2270 2281 if((parse_any().success)){ 2271 2282 clearErrors(); … … 2273 2284 }else{ 2274 2285 setError("Expected any."); 2275 position = start17 7;2286 position = start179; 2276 2287 goto loopend190; 2277 2288 } 2278 2289 } 2279 2290 loopend190: 2280 smartAssign!(String,String)(bind_text,sliceData(start17 5,termPos176));2291 smartAssign!(String,String)(bind_text,sliceData(start177,termPos178)); 2281 2292 {/*do nothing*/} 2282 2293 } … … 2284 2295 mismatch188: 2285 2296 {/*do nothing*/} 2286 position = start17 4;2297 position = start176; 2287 2298 goto mismatch186; 2288 2299 match187: … … 2294 2305 return ResultT!(String)(bind_text); 2295 2306 mismatch186: 2296 position = start17 3;2307 position = start175; 2297 2308 return ResultT!(String)(); 2298 2309 } … … 2307 2318 public ResultT!(String) parse_SlashStarComment(){ 2308 2319 debug writefln("parse_SlashStarComment()"); 2309 uint start1 78= position;2320 uint start180 = position; 2310 2321 String bind_text; 2311 2322 2312 2323 2313 2324 {//Expression 2314 uint start1 79= position;2325 uint start181 = position; 2315 2326 if(!(terminal("\x2F\x2A").success)){ 2316 2327 goto mismatch195; 2317 2328 } 2318 2329 {//ZeroOrMoreExpr 2319 uint start18 0= position;2320 uint termPos18 1;2330 uint start182 = position; 2331 uint termPos183; 2321 2332 loop196: 2322 termPos18 1= position;2333 termPos183 = position; 2323 2334 if(terminal("\x2A\x2F").success){ 2324 2335 goto loopend197; … … 2328 2339 exprStart198: 2329 2340 {//Expression 2330 uint start18 2= position;2341 uint start184 = position; 2331 2342 if((parse_any().success)){ 2332 2343 clearErrors(); … … 2334 2345 }else{ 2335 2346 setError("Expected any."); 2336 position = start18 2;2347 position = start184; 2337 2348 goto loopend197; 2338 2349 } 2339 2350 } 2340 2351 loopend197: 2341 smartAssign!(String,String)(bind_text,sliceData(start18 0,termPos181));2352 smartAssign!(String,String)(bind_text,sliceData(start182,termPos183)); 2342 2353 {/*do nothing*/} 2343 2354 } … … 2345 2356 mismatch195: 2346 2357 {/*do nothing*/} 2347 position = start1 79;2358 position = start181; 2348 2359 goto mismatch193; 2349 2360 match194: … … 2355 2366 return ResultT!(String)(bind_text); 2356 2367 mismatch193: 2357 position = start1 78;2368 position = start180; 2358 2369 return ResultT!(String)(); 2359 2370 } … … 2368 2379 public ResultT!(Directive) parse_Directive(){ 2369 2380 debug writefln("parse_Directive()"); 2370 uint start18 3= position;2381 uint start185 = position; 2371 2382 Directive bind_dir; 2372 2383 2373 2384 2374 2385 {//Expression 2375 uint start18 4= position;2386 uint start186 = position; 2376 2387 if(!(terminal(".").success)){ 2377 2388 goto mismatch202; 2378 2389 } 2379 2390 {//Expression 2380 uint start18 5= position;2391 uint start187 = position; 2381 2392 if((parse_ImportDirective().assignCat!(Directive)(bind_dir)) || (parse_BaseClassDirective().assignCat!(Directive)(bind_dir)) || (parse_ClassnameDirective().assignCat!(Directive)(bind_dir)) || (parse_DefineDirective().assignCat!(Directive)(bind_dir)) || (parse_IncludeDirective().assignCat!(Directive)(bind_dir)) || (parse_AliasDirective().assignCat!(Directive)(bind_dir)) || (parse_ModuleDirective().assignCat!(Directive)(bind_dir)) || (parse_CodeDirective().assignCat!(Directive)(bind_dir)) || (parse_TypelibDirective().assignCat!(Directive)(bind_dir)) || (parse_ParseTypeDirective().assignCat!(Directive)(bind_dir)) || (parse_BoilerplateDirective().assignCat!(Directive)(bind_dir)) || (parse_HeaderDirective().assignCat!(Directive)(bind_dir)) || (parse_UTFDirective().assignCat!(Directive)(bind_dir))){ 2382 2393 clearErrors(); 2383 2394 }else{ 2384 2395 setError("Expected ImportDirective, BaseClassDirective, ClassnameDirective, DefineDirective, IncludeDirective, AliasDirective, ModuleDirective, CodeDirective, TypelibDirective, ParseTypeDirective, BoilerplateDirective, HeaderDirective or UTFDirective."); 2385 position = start18 5;2396 position = start187; 2386 2397 goto mismatch202; 2387 2398 } … … 2390 2401 mismatch202: 2391 2402 {/*do nothing*/} 2392 position = start18 4;2403 position = start186; 2393 2404 goto mismatch200; 2394 2405 match201: … … 2400 2411 return ResultT!(Directive)(bind_dir); 2401 2412 mismatch200: 2402 position = start18 3;2413 position = start185; 2403 2414 return ResultT!(Directive)(); 2404 2415 } … … 2413 2424 public ResultT!(ImportDirective) parse_ImportDirective(){ 2414 2425 debug writefln("parse_ImportDirective()"); 2415 uint start18 6= position;2426 uint start188 = position; 2416 2427 String bind_imp; 2417 2428 2418 2429 2419 2430 {//Expression 2420 uint start18 7= position;2431 uint start189 = position; 2421 2432 if((terminal("import").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_imp) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2422 2433 clearErrors(); 2423 2434 goto match203; 2424 2435 }else{ 2425 position = start18 7;2436 position = start189; 2426 2437 goto mismatch204; 2427 2438 } … … 2432 2443 return passed; 2433 2444 mismatch204: 2434 position = start18 6;2445 position = start188; 2435 2446 ResultT!(ImportDirective) failed = ResultT!(ImportDirective)(); 2436 2447 return failed; … … 2446 2457 public ResultT!(BaseClassDirective) parse_BaseClassDirective(){ 2447 2458 debug writefln("parse_BaseClassDirective()"); 2448 uint start1 88= position;2459 uint start190 = position; 2449 2460 String bind_name; 2450 2461 2451 2462 2452 2463 {//Expression 2453 uint start1 89= position;2464 uint start191 = position; 2454 2465 if((terminal("baseclass").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_name) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2455 2466 clearErrors(); 2456 2467 goto match205; 2457 2468 }else{ 2458 position = start1 89;2469 position = start191; 2459 2470 goto mismatch206; 2460 2471 } … … 2465 2476 return passed; 2466 2477 mismatch206: 2467 position = start1 88;2478 position = start190; 2468 2479 ResultT!(BaseClassDirective) failed = ResultT!(BaseClassDirective)(); 2469 2480 return failed; … … 2479 2490 public ResultT!(ClassnameDirective) parse_ClassnameDirective(){ 2480 2491 debug writefln("parse_ClassnameDirective()"); 2481 uint start19 0= position;2492 uint start192 = position; 2482 2493 String bind_name; 2483 2494 2484 2495 2485 2496 {//Expression 2486 uint start19 1= position;2497 uint start193 = position; 2487 2498 if((terminal("classname").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_name) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2488 2499 clearErrors(); 2489 2500 goto match207; 2490 2501 }else{ 2491 position = start19 1;2502 position = start193; 2492 2503 goto mismatch208; 2493 2504 } … … 2498 2509 return passed; 2499 2510 mismatch208: 2500 position = start19 0;2511 position = start192; 2501 2512 ResultT!(ClassnameDirective) failed = ResultT!(ClassnameDirective)(); 2502 2513 return failed; … … 2512 2523 public ResultT!(DefineDirective) parse_DefineDirective(){ 2513 2524 debug writefln("parse_DefineDirective()"); 2514 uint start19 2= position;2525 uint start194 = position; 2515 2526 String bind_returnType; 2516 2527 String bind_name; … … 2520 2531 2521 2532 {//Expression 2522 uint start19 3= position;2533 uint start195 = position; 2523 2534 if(!(terminal("define").success)){ 2524 2535 goto mismatch212; … … 2565 2576 {//OptionalExpr 2566 2577 {//Expression 2567 uint start19 5= position;2578 uint start197 = position; 2568 2579 if((terminal(",").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_description) && parse_WS().success)){ 2569 2580 clearErrors(); 2570 2581 }else{ 2571 position = start19 5;2582 position = start197; 2572 2583 } 2573 2584 } … … 2585 2596 mismatch212: 2586 2597 {/*do nothing*/} 2587 position = start19 3;2598 position = start195; 2588 2599 goto mismatch210; 2589 2600 match211: … … 2596 2607 return passed; 2597 2608 mismatch210: 2598 position = start19 2;2609 position = start194; 2599 2610 ResultT!(DefineDirective) failed = ResultT!(DefineDirective)(); 2600 2611 return failed; … … 2610 2621 public ResultT!(IncludeDirective) parse_IncludeDirective(){ 2611 2622 debug writefln("parse_IncludeDirective()"); 2612 uint start19 6= position;2623 uint start198 = position; 2613 2624 String bind_filename; 2614 2625 2615 2626 2616 2627 {//Expression 2617 uint start19 7= position;2628 uint start199 = position; 2618 2629 if((terminal("include").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_String().assign!(String)(bind_filename) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2619 2630 clearErrors(); 2620 2631 goto match213; 2621 2632 }else{ 2622 position = start19 7;2633 position = start199; 2623 2634 goto mismatch214; 2624 2635 } … … 2629 2640 return passed; 2630 2641 mismatch214: 2631 position = start19 6;2642 position = start198; 2632 2643 ResultT!(IncludeDirective) failed = ResultT!(IncludeDirective)(); 2633 2644 return failed; … … 2643 2654 public ResultT!(AliasDirective) parse_AliasDirective(){ 2644 2655 debug writefln("parse_AliasDirective()"); 2645 uint start 198= position;2656 uint start200 = position; 2646 2657 String bind_rule; 2647 2658 String bind_ruleAlias; … … 2649 2660 2650 2661 {//Expression 2651 uint start 199= position;2662 uint start201 = position; 2652 2663 if((terminal("alias").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_rule) && parse_WS().success && terminal(",").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_ruleAlias) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2653 2664 clearErrors(); 2654 2665 goto match215; 2655 2666 }else{ 2656 position = start 199;2667 position = start201; 2657 2668 goto mismatch216; 2658 2669 } … … 2663 2674 return passed; 2664 2675 mismatch216: 2665 position = start 198;2676 position = start200; 2666 2677 ResultT!(AliasDirective) failed = ResultT!(AliasDirective)(); 2667 2678 return failed; … … 2677 2688 public ResultT!(ModuleDirective) parse_ModuleDirective(){ 2678 2689 debug writefln("parse_ModuleDirective()"); 2679 uint start20 0= position;2690 uint start202 = position; 2680 2691 String bind_moduleName; 2681 2692 2682 2693 2683 2694 {//Expression 2684 uint start20 1= position;2695 uint start203 = position; 2685 2696 if((terminal("module").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_moduleName) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2686 2697 clearErrors(); 2687 2698 goto match217; 2688 2699 }else{ 2689 position = start20 1;2700 position = start203; 2690 2701 goto mismatch218; 2691 2702 } … … 2696 2707 return passed; 2697 2708 mismatch218: 2698 position = start20 0;2709 position = start202; 2699 2710 ResultT!(ModuleDirective) failed = ResultT!(ModuleDirective)(); 2700 2711 return failed; … … 2710 2721 public ResultT!(CodeDirective) parse_CodeDirective(){ 2711 2722 debug writefln("parse_CodeDirective()"); 2712 uint start20 2= position;2723 uint start204 = position; 2713 2724 String bind_code; 2714 2725 2715 2726 2716 2727 {//Expression 2717 uint start20 3= position;2728 uint start205 = position; 2718 2729 if(!(terminal("code").success)){ 2719 2730 goto mismatch222; … … 2726 2737 } 2727 2738 {//ZeroOrMoreExpr 2728 uint start20 4= position;2729 uint termPos20 5;2739 uint start206 = position; 2740 uint termPos207; 2730 2741 loop223: 2731 termPos20 5= position;2742 termPos207 = position; 2732 2743 if(terminal("}}}").success){ 2733 2744 goto loopend224; … … 2737 2748 exprStart225: 2738 2749 {//Expression 2739 uint start20 6= position;2750 uint start208 = position; 2740 2751 if((parse_any().success)){ 2741 2752 clearErrors(); … … 2743 2754 }else{ 2744 2755 setError("Expected any."); 2745 position = start20 6;2756 position = start208; 2746 2757 goto loopend224; 2747 2758 } 2748 2759 } 2749 2760 loopend224: 2750 smartAssign!(String,String)(bind_code,sliceData(start20 4,termPos205));2761 smartAssign!(String,String)(bind_code,sliceData(start206,termPos207)); 2751 2762 {/*do nothing*/} 2752 2763 } … … 2754 2765 mismatch222: 2755 2766 {/*do nothing*/} 2756 position = start20 3;2767 position = start205; 2757 2768 goto mismatch220; 2758 2769 match221: … … 2765 2776 return passed; 2766 2777 mismatch220: 2767 position = start20 2;2778 position = start204; 2768 2779 ResultT!(CodeDirective) failed = ResultT!(CodeDirective)(); 2769 2780 return failed; … … 2779 2790 public ResultT!(TypelibDirective) parse_TypelibDirective(){ 2780 2791 debug writefln("parse_TypelibDirective()"); 2781 uint start20 7= position;2792 uint start209 = position; 2782 2793 String bind_importName; 2783 2794 2784 2795 2785 2796 {//Expression 2786 uint start2 08= position;2797 uint start210 = position; 2787 2798 if((terminal("typelib").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_importName) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2788 2799 clearErrors(); 2789 2800 goto match226; 2790 2801 }else{ 2791 position = start2 08;2802 position = start210; 2792 2803 goto mismatch227; 2793 2804 } … … 2798 2809 return passed; 2799 2810 mismatch227: 2800 position = start20 7;2811 position = start209; 2801 2812 ResultT!(TypelibDirective) failed = ResultT!(TypelibDirective)(); 2802 2813 return failed; … … 2812 2823 public ResultT!(ParseTypeDirective) parse_ParseTypeDirective(){ 2813 2824 debug writefln("parse_ParseTypeDirective()"); 2814 uint start2 09= position;2825 uint start211 = position; 2815 2826 String bind_typeName; 2816 2827 2817 2828 2818 2829 {//Expression 2819 uint start21 0= position;2830 uint start212 = position; 2820 2831 if((terminal("parsetype").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_typeName) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2821 2832 clearErrors(); 2822 2833 goto match228; 2823 2834 }else{ 2824 position = start21 0;2835 position = start212; 2825 2836 goto mismatch229; 2826 2837 } … … 2831 2842 return passed; 2832 2843 mismatch229: 2833 position = start2 09;2844 position = start211; 2834 2845 ResultT!(ParseTypeDirective) failed = ResultT!(ParseTypeDirective)(); 2835 2846 return failed; … … 2845 2856 public ResultT!(BoilerplateDirective) parse_BoilerplateDirective(){ 2846 2857 debug writefln("parse_BoilerplateDirective()"); 2847 uint start21 1= position;2858 uint start213 = position; 2848 2859 String bind_code; 2849 2860 2850 2861 2851 2862 {//Expression 2852 uint start21 2= position;2863 uint start214 = position; 2853 2864 if(!(terminal("boilerplate").success)){ 2854 2865 goto mismatch233; … … 2861 2872 } 2862 2873 {//ZeroOrMoreExpr 2863 uint start21 3= position;2864 uint termPos21 4;2874 uint start215 = position; 2875 uint termPos216; 2865 2876 loop234: 2866 termPos21 4= position;2877 termPos216 = position; 2867 2878 if(terminal("}}}").success){ 2868 2879 goto loopend235; … … 2872 2883 exprStart236: 2873 2884 {//Expression 2874 uint start21 5= position;2885 uint start217 = position; 2875 2886 if((parse_any().success)){ 2876 2887 clearErrors(); … … 2878 2889 }else{ 2879 2890 setError("Expected any."); 2880 position = start21 5;2891 position = start217; 2881 2892 goto loopend235; 2882 2893 } 2883 2894 } 2884 2895 loopend235: 2885 smartAssign!(String,String)(bind_code,sliceData(start21 3,termPos214));2896 smartAssign!(String,String)(bind_code,sliceData(start215,termPos216)); 2886 2897 {/*do nothing*/} 2887 2898 } … … 2889 2900 mismatch233: 2890 2901 {/*do nothing*/} 2891 position = start21 2;2902 position = start214; 2892 2903 goto mismatch231; 2893 2904 match232: … … 2900 2911 return passed; 2901 2912 mismatch231: 2902 position = start21 1;2913 position = start213; 2903 2914 ResultT!(BoilerplateDirective) failed = ResultT!(BoilerplateDirective)(); 2904 2915 return failed; … … 2914 2925 public ResultT!(HeaderDirective) parse_HeaderDirective(){ 2915 2926 debug writefln("parse_HeaderDirective()"); 2916 uint start21 6= position;2927 uint start218 = position; 2917 2928 String bind_code; 2918 2929 2919 2930 2920 2931 {//Expression 2921 uint start21 7= position;2932 uint start219 = position; 2922 2933 if(!(terminal("header").success)){ 2923 2934 goto mismatch240; … … 2930 2941 } 2931 2942 {//ZeroOrMoreExpr 2932 uint start2 18= position;2933 uint termPos2 19;2943 uint start220 = position; 2944 uint termPos221; 2934 2945 loop241: 2935 termPos2 19= position;2946 termPos221 = position; 2936 2947 if(terminal("}}}").success){ 2937 2948 goto loopend242; … … 2941 2952 exprStart243: 2942 2953 {//Expression 2943 uint start22 0= position;2954 uint start222 = position; 2944 2955 if((parse_any().success)){ 2945 2956 clearErrors(); … … 2947 2958 }else{ 2948 2959 setError("Expected any."); 2949 position = start22 0;2960 position = start222; 2950 2961 goto loopend242; 2951 2962 } 2952 2963 } 2953 2964 loopend242: 2954 smartAssign!(String,String)(bind_code,sliceData(start2 18,termPos219));2965 smartAssign!(String,String)(bind_code,sliceData(start220,termPos221)); 2955 2966 {/*do nothing*/} 2956 2967 } … … 2958 2969 mismatch240: 2959 2970 {/*do nothing*/} 2960 position = start21 7;2971 position = start219; 2961 2972 goto mismatch238; 2962 2973 match239: … … 2969 2980 return passed; 2970 2981 mismatch238: 2971 position = start21 6;2982 position = start218; 2972 2983 ResultT!(HeaderDirective) failed = ResultT!(HeaderDirective)(); 2973 2984 return failed; … … 2983 2994 public ResultT!(UTFDirective) parse_UTFDirective(){ 2984 2995 debug writefln("parse_UTFDirective()"); 2985 uint start22 1= position;2996 uint start223 = position; 2986 2997 String bind_value; 2987 2998 2988 2999 2989 3000 {//Expression 2990 uint start22 2= position;3001 uint start224 = position; 2991 3002 if((terminal("utf").success && parse_WS().success && terminal("(").success && parse_WS().success && parse_DirectiveArg().assign!(String)(bind_value) && parse_WS().success && terminal(")").success && parse_WS().success && terminal(";").success)){ 2992 3003 clearErrors(); 2993 3004 goto match244; 2994 3005 }else{ 2995 position = start22 2;3006 position = start224; 2996 3007 goto mismatch245; 2997 3008 } … … 3002 3013 return passed; 3003 3014 mismatch245: 3004 position = start22 1;3015 position = start223; 3005 3016 ResultT!(UTFDirective) failed = ResultT!(UTFDirective)(); 3006 3017 return failed; … … 3016 3027 public ResultT!(String) parse_DirectiveArg(){ 3017 3028 debug writefln("parse_DirectiveArg()"); 3018 uint start22 3= position;3029 uint start225 = position; 3019 3030 String bind_arg; 3020 3031 3021 3032 3022 3033 {//Expression 3023 uint start22 4= position;3034 uint start226 = position; 3024 3035 if((parse_Identifier().assign!(String)(bind_arg)) || (parse_String().assign!(String)(bind_arg))){ 3025 3036 clearErrors(); … … 3027 3038 }else{ 3028 3039 setError("Expected Identifier or String."); 3029 position = start22 4;3040 position = start226; 3030 3041 goto mismatch247; 3031 3042 } … … 3035 3046 return ResultT!(String)(bind_arg); 3036 3047 mismatch247: 3037 position = start22 3;3048 position = start225; 3038 3049 return ResultT!(String)(); 3039 3050 } trunk/enki/bootstrap.d
r240 r277 797 797 new BindingPredicate(new Param("text")), 798 798 new Expression( 799 new Terminal("\\\"",null), 799 new GroupExpr( 800 new Expression( 801 orExpr( 802 makeTerm(new Terminal("\\\"",null)), 803 makeTerm(new Terminal("\\\'",null)) 804 ) 805 ), 806 new Binding(true,"delim") 807 ), 800 808 new ZeroOrMoreExpr( 801 809 new Expression( … … 803 811 ), 804 812 new Binding(false,"text"), 805 new Terminal("\\\"",null)813 new Substitution("delim",null) 806 814 ) 807 815 ) trunk/enki/enki.bnf
r240 r277 198 198 String 199 199 = String text 200 ::= "\"" { AnyChar}:text "\"";200 ::= ( "\"" | "\'"):~delim { AnyChar}:text.delim; 201 201 202 202 HexExpr trunk/enki/enki_bn.d
r276 r277 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 193;4 long auto_build_number = 204; trunk/enki/types.d
r239 r277 194 194 195 195 alias T Type; 196 197 public static ResultT!(T) opCall(T result){ 198 ResultT!(T) _this; 196 alias Result!(T) ThisType; 197 198 public static ThisType opCall(T result){ 199 ThisType _this; 199 200 _this.result = result; 200 201 _this.success = true; … … 202 203 } 203 204 204 public static ResultT!(T)opCall(T result,bool success){205 ResultT!(T)_this;206 _this.result = result; 205 public static ThisType opCall(T result,bool success){ 206 ThisType _this; 207 _this.result = result; 207 208 _this.success = success; 208 209 return _this; 209 210 } 210 211 public static ResultT!(T)opCall(){212 ResultT!(T)_this;211 212 public static ThisType opCall(){ 213 ThisType _this; 213 214 _this.success = false; 214 215 return _this; 215 216 } 216 217 template assignCat(V){218 public bool assignCat(inout V value){219 if(this.success) smartAssignCat!(V,Type)(value,this.result);220 return this.success;221 }222 }223 224 template assign(V){225 public bool assign(inout V value){226 if(this.success) smartAssign!(V,Type)(value,this.result);;227 return this.success;228 }229 } 230 } 231 217 218 public bool assignCat(V)(inout V value){ 219 if(this.success) smartAssignCat!(V,Type)(value,this.result); 220 return this.success; 221 } 222 223 public bool assign(V)(inout V value){ 224 if(this.success) smartAssign!(V,Type)(value,this.result);; 225 return this.success; 226 } 227 228 public bool opCast(){ 229 return this.success; 230 } 231 } 232 trunk/utils/Script.d
r254 r277 31 31 public import std.string; 32 32 public import std.stdio; 33 public import std.regexp; 33 34 34 35 int execute(char[] pathname,char[][] params ...){ trunk/utils/bless_bn.d
r261 r277 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 7 15;4 long auto_build_number = 721; trunk/utils/ddlinfo_bn.d
r261 r277 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 780;4 long auto_build_number = 800; trunk/utils/insitu_bn.d
r261 r277 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 71 2;4 long auto_build_number = 718;
