⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forth_8cpp-source.html

📁 Tixys source code, include G.711, G.726, IMA-ADPCM etc.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>forth/forth.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.1 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><div class="nav"><a class="el" href="dir_000002.html">forth</a></div><h1>forth.cpp</h1><a href="forth_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 00018 <span class="preprocessor">#include "<a class="code" href="common_8h.html">common.h</a>"</span>00019 <span class="preprocessor">#include "<a class="code" href="forth_8h.html">forth.h</a>"</span>00020 00021 <span class="preprocessor">#if 1</span><a name="l00022"></a><a class="code" href="group__forth__imp.html#ga59">00022</a> <span class="preprocessor"></span><span class="preprocessor">#define LITTLE_ENDIAN   </span>00023 <span class="preprocessor">#else</span>00024 <span class="preprocessor"></span><span class="preprocessor">#define BIG_ENDIAN      </span>00025 <span class="preprocessor">#endif</span>00026 <span class="preprocessor"></span><a name="l00031"></a><a class="code" href="group__forth__imp.html#ga60">00031</a> <span class="preprocessor">#define CELLS(x)        ((CELL)(((CELL*)256)+(x))-(CELL)((CELL*)256))</span>00032 <span class="preprocessor"></span><a name="l00037"></a><a class="code" href="group__forth__imp.html#ga61">00037</a> <span class="preprocessor">#define CHARS(x)        ((CELL)(((CHAR*)256)+(x))-(CELL)((CHAR*)256))</span>00038 <span class="preprocessor"></span><a name="l00043"></a><a class="code" href="group__forth__imp.html#ga62">00043</a> <span class="preprocessor">#define SLASH_CELL(x)   ((CELL*)(256+(x))-((CELL*)256))</span>00044 <span class="preprocessor"></span><a name="l00049"></a><a class="code" href="group__forth__imp.html#ga63">00049</a> <span class="preprocessor">#define SLASH_CHAR(x)   ((CHAR*)(256+(x))-((CHAR*)256))</span>00050 <span class="preprocessor"></span><a name="l00055"></a><a class="code" href="group__forth__imp.html#ga64">00055</a> <span class="preprocessor">#define ALIGNED(x)      (((x)+CELLS(1)-1)&amp;~(CELLS(1)-1))</span>00056 <span class="preprocessor"></span><a name="l00060"></a><a class="code" href="group__forth__imp.html#ga0">00060</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga0">BitsPerCell</a> = <a class="code" href="group__forth.html#ga5">BITS_PER_CHAR</a>*<a class="code" href="group__forth.html#ga6">CHARS_PER_CELL</a>;00061 <a name="l00066"></a><a class="code" href="group__forth__imp.html#ga1">00066</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga1">CellLoMask</a> = ((<a class="code" href="group__forth.html#ga0">CELL</a>)1&lt;&lt;(<a class="code" href="group__forth__imp.html#ga0">BitsPerCell</a>/2))-1;00067 <a name="l00071"></a><a class="code" href="group__forth__imp.html#ga2">00071</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga2">SlashCountedString</a> = 255;00072 <a name="l00078"></a><a class="code" href="group__forth__imp.html#ga3">00078</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga3">NameLengthMask</a> = 31;00079 <a name="l00083"></a><a class="code" href="group__forth__imp.html#ga4">00083</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga4">NumberTIB</a> = 80;00084 <a name="l00088"></a><a class="code" href="group__forth__imp.html#ga5">00088</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga5">SlashPad</a> = 84;00089 <a name="l00094"></a><a class="code" href="group__forth__imp.html#ga6">00094</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga6">DictionaryOverhead</a> = <a class="code" href="group__forth__imp.html#ga61">CHARS</a>(SlashCountedString+2+SlashPad);00095 <a name="l00099"></a><a class="code" href="group__forth__imp.html#ga7">00099</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga7">MaxWordlists</a> = 8;00100 <a name="l00104"></a><a class="code" href="group__forth__imp.html#ga8">00104</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga8">StackCells</a> = 256;00105 <a name="l00109"></a><a class="code" href="group__forth__imp.html#ga9">00109</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga9">ReturnStackCells</a> = 256;00110 00111 <a name="l00115"></a><a class="code" href="classWordHeader.html">00115</a> <span class="keyword">class </span><a class="code" href="classWordHeader.html">WordHeader</a>00116     {00117 <span class="keyword">public</span>:<a name="l00128"></a><a class="code" href="classWordHeader.html#o0">00128</a>     <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="classWordHeader.html#o0">Previous</a>;00129 00134     <a class="code" href="group__forth.html#ga2">CHAR</a> <a class="code" href="classWordHeader.html#o1">NameLength</a>;00135 00140     <a class="code" href="group__forth.html#ga2">CHAR</a> Name[1];00141 <a name="l00146"></a><a class="code" href="classWordHeader.html#w3">00146</a>     <span class="keyword">enum</span> <a class="code" href="classWordHeader.html#w3">WordFlags</a>00147         {00148         <a class="code" href="classWordHeader.html#w3w0">Token</a>       = 1&lt;&lt;5, 00150         <a class="code" href="classWordHeader.html#w3w1">Immediate</a>   = 1&lt;&lt;6, 00151         <a class="code" href="classWordHeader.html#w3w2">Valid</a>       = 1&lt;&lt;7  00152         };00153 00154 <span class="keyword">public</span>:<a name="l00159"></a><a class="code" href="classWordHeader.html#a0">00159</a>     <span class="keyword">inline</span> <a class="code" href="group__forth.html#ga0">CELL</a>* <a class="code" href="classWordHeader.html#a0">CFA</a>()00160         { <span class="keywordflow">return</span> (<a class="code" href="group__forth.html#ga0">CELL</a>*)<a class="code" href="group__forth__imp.html#ga64">ALIGNED</a>((<a class="code" href="group__forth.html#ga0">CELL</a>)(Name+(<a class="code" href="classWordHeader.html#o1">NameLength</a>&amp;<a class="code" href="group__forth__imp.html#ga3">NameLengthMask</a>))); }00161     };00162 00163 <a name="l00167"></a><a class="code" href="group__forth__imp.html#ga102">00167</a> <span class="keyword">enum</span> <a class="code" href="group__forth__imp.html#ga102">Exception</a>00168     {00169     DivideByZero = -10,00170     ResultOutOfRange = -11,00171     UndefinedWord = -13,00172     ZeroLengthName = -16,00173     PicturedStringOverflow = -17,00174     ControlStructureMismatch = -2200175     };00176 <a name="l00180"></a><a class="code" href="structWordlist.html">00180</a> <span class="keyword">struct </span><a class="code" href="structWordlist.html">Wordlist</a>00181     {<a name="l00185"></a><a class="code" href="structWordlist.html#o0">00185</a>     <a class="code" href="classWordHeader.html">WordHeader</a>* <a class="code" href="structWordlist.html#o0">LastWord</a>;00186 <a name="l00190"></a><a class="code" href="structWordlist.html#o1">00190</a>     <a class="code" href="structWordlist.html">Wordlist</a>* <a class="code" href="structWordlist.html#o1">Previous</a>;00191 <a name="l00196"></a><a class="code" href="structWordlist.html#o2">00196</a>     <a class="code" href="classWordHeader.html">WordHeader</a>* <a class="code" href="structWordlist.html#o2">Name</a>;00197     };00198 00199 <a name="l00203"></a><a class="code" href="group__forth__imp.html#ga103">00203</a> <span class="keyword">enum</span> <a class="code" href="group__forth__imp.html#ga103">ControlStackMarkers</a>00204     {00205     <a class="code" href="group__forth__imp.html#gga103a107">ColonMagic</a> = 12340, 00206     <a class="code" href="group__forth__imp.html#gga103a108">OrigMagic</a>  = 12341, 00207     <a class="code" href="group__forth__imp.html#gga103a109">DestMagic</a>  = 12342  00208     };00209 00210 <a name="l00214"></a><a class="code" href="group__forth__imp.html#ga104">00214</a> <span class="keyword">enum</span> <a class="code" href="group__forth__imp.html#ga104">ForthXT</a>00215     {00216     <a class="code" href="group__forth__imp.html#gga104a110">XT_STORE</a>,               00217     <a class="code" href="group__forth__imp.html#gga104a111">XT_NUMBER_SIGN</a>,         00218     <a class="code" href="group__forth__imp.html#gga104a112">XT_NUMBER_SIGN_GREATER</a>, 00219     <a class="code" href="group__forth__imp.html#gga104a113">XT_STAR</a>,                00220     <a class="code" href="group__forth__imp.html#gga104a114">XT_PLUS</a>,                

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -