1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-18 06:54:26 +03:00
inform7/docs/inbuild-module/5-ps2.html
2020-03-11 00:21:09 +00:00

44 lines
3.5 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>5/ls</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
</head>
<body>
<!--Weave of '5/ps2' generated by 7-->
<ul class="crumbs"><li><a href="../webs.html">&#9733;</a></li><li><a href="index.html">inbuild</a></li><li><a href="index.html#5">Chapter 5: Services for the Inform Compiler</a></li><li><b>Pipeline Services</b></li></ul><p class="purpose">A pipeline is a list of steps to be followed by the Inter processor forming the back end of the Inform compiler.</p>
<p class="inwebparagraph"><a id="SP1"></a><b>&#167;1. </b></p>
<pre class="display">
<span class="reserved">typedef</span><span class="plain"> </span><span class="reserved">struct</span><span class="plain"> </span><span class="reserved">inform_pipeline</span><span class="plain"> {</span>
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">inbuild_copy</span><span class="plain"> *</span><span class="identifier">as_copy</span><span class="plain">;</span>
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">semantic_version_number</span><span class="plain"> </span><span class="identifier">version</span><span class="plain">;</span>
<span class="identifier">MEMORY_MANAGEMENT</span>
<span class="plain">} </span><span class="reserved">inform_pipeline</span><span class="plain">;</span>
<span class="reserved">inform_pipeline</span><span class="plain"> *</span><span class="functiontext">Pipelines::new_ip</span><span class="plain">(</span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">, </span><span class="identifier">filename</span><span class="plain"> *</span><span class="identifier">F</span><span class="plain">) {</span>
<span class="reserved">inform_pipeline</span><span class="plain"> *</span><span class="identifier">T</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">inform_pipeline</span><span class="plain">);</span>
<span class="identifier">T</span><span class="plain">-</span><span class="element">&gt;as_copy</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="identifier">T</span><span class="plain">-</span><span class="element">&gt;version</span><span class="plain"> = </span><span class="identifier">VersionNumbers::null</span><span class="plain">();</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">T</span><span class="plain">;</span>
<span class="plain">}</span>
</pre>
<p class="inwebparagraph"></p>
<p class="endnote">The function Pipelines::new_ip is used in 4/pm (<a href="4-pm.html#SP4">&#167;4</a>).</p>
<p class="endnote">The structure inform_pipeline is accessed in 1/ic, 2/edt, 2/rqr, 2/nst, 3/is2, 3/is3, 4/lm, 4/pbm, 4/pfm, 4/tm, 4/pm, 5/kts, 5/es, 5/ed, 5/ed2, 5/ec, 5/ts, 5/ps, 5/ls, 6/hdn, 6/inc, 6/vmg and here.</p>
<hr class="tocbar">
<ul class="toc"><li><a href="5-ls.html">Back to 'Language Services'</a></li><li><i>(This section ends Chapter 5: Services for the Inform Compiler.)</i></li></ul><hr class="tocbar">
<!--End of weave-->
</body>
</html>