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

📄 byylscanner.html

📁 S语言编译器的完整实现
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<DT><B>另请参见:</B><DD><A HREF="../constant-values.html#byyl.ByylScanner.EXP_LEN">常量字段值</A></DL>
</DL>
<HR>

<A NAME="EQU_LEN"><!-- --></A><H3>
EQU_LEN</H3>
<PRE>
private static final int <B>EQU_LEN</B></PRE>
<DL>
<DD>堆栈Equ[]的大小
<P>
<DL>
<DT><B>另请参见:</B><DD><A HREF="../constant-values.html#byyl.ByylScanner.EQU_LEN">常量字段值</A></DL>
</DL>
<HR>

<A NAME="TEMPBOUNDARY"><!-- --></A><H3>
TEMPBOUNDARY</H3>
<PRE>
private static final int <B>TEMPBOUNDARY</B></PRE>
<DL>
<DD>随即地址的下界
<P>
<DL>
<DT><B>另请参见:</B><DD><A HREF="../constant-values.html#byyl.ByylScanner.TEMPBOUNDARY">常量字段值</A></DL>
</DL>
<HR>

<A NAME="tokenId"><!-- --></A><H3>
tokenId</H3>
<PRE>
private int <B>tokenId</B></PRE>
<DL>
<DD>从tokenList[]取出token的计数器
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="code"><!-- --></A><H3>
code</H3>
<PRE>
private int <B>code</B></PRE>
<DL>
<DD>当前token的种别码
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="address"><!-- --></A><H3>
address</H3>
<PRE>
private int <B>address</B></PRE>
<DL>
<DD>当前token在符号表中的入口地址(序号)
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="lineOfPro"><!-- --></A><H3>
lineOfPro</H3>
<PRE>
private int <B>lineOfPro</B></PRE>
<DL>
<DD>语法/语义分析时的行计数器
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="lineOfEqu"><!-- --></A><H3>
lineOfEqu</H3>
<PRE>
private int <B>lineOfEqu</B></PRE>
<DL>
<DD>下一个将要生成的四元式的序号
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="expr"><!-- --></A><H3>
expr</H3>
<PRE>
private <A HREF="../byyl/stack.html" title="byyl 中的类">stack</A>[] <B>expr</B></PRE>
<DL>
<DD>存放运算表达式和布尔表达式
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="Equ"><!-- --></A><H3>
Equ</H3>
<PRE>
private <A HREF="../byyl/equ.html" title="byyl 中的类">equ</A>[] <B>Equ</B></PRE>
<DL>
<DD>存放四元式的数组
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="ID"><!-- --></A><H3>
ID</H3>
<PRE>
private java.lang.StringBuffer <B>ID</B></PRE>
<DL>
<DD>存放当前token对应的字符串或数字
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="pos"><!-- --></A><H3>
pos</H3>
<PRE>
private int <B>pos</B></PRE>
<DL>
<DD>expr[]堆栈的计数器
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="nowAddr"><!-- --></A><H3>
nowAddr</H3>
<PRE>
private int <B>nowAddr</B></PRE>
<DL>
<DD>当前分析的token在堆栈expr[]的位置
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="tempCount"><!-- --></A><H3>
tempCount</H3>
<PRE>
private int <B>tempCount</B></PRE>
<DL>
<DD>随即变量地址
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="error_count"><!-- --></A><H3>
error_count</H3>
<PRE>
private int <B>error_count</B></PRE>
<DL>
<DD>语法/语义分析时错误计数器
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="trueAddress"><!-- --></A><H3>
trueAddress</H3>
<PRE>
private int[] <B>trueAddress</B></PRE>
<DL>
<DD>存放真出口地址数组
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="falseAddress"><!-- --></A><H3>
falseAddress</H3>
<PRE>
private int[] <B>falseAddress</B></PRE>
<DL>
<DD>存放假出口地址
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="falseLine"><!-- --></A><H3>
falseLine</H3>
<PRE>
private int <B>falseLine</B></PRE>
<DL>
<DD>假出口地址数组中即将生成的下一个出口的序号
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="trueLine"><!-- --></A><H3>
trueLine</H3>
<PRE>
private int <B>trueLine</B></PRE>
<DL>
<DD>真出口地址数组中即将生成的下一个出口的序号
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="isChange"><!-- --></A><H3>
isChange</H3>
<PRE>
private int <B>isChange</B></PRE>
<DL>
<DD>用于判断简单的复赋值语句(变量:= 数值)是否修改符号表<br>嵌套在其它语句(如 if 语句)中的简单赋值语句不修改符号表,用isChange=0表示<br>不嵌套在其它语句的简单赋值语句需要修改符号表,用isChange=1表示
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="isFor"><!-- --></A><H3>
isFor</H3>
<PRE>
private int <B>isFor</B></PRE>
<DL>
<DD>isFor=1表示是嵌套在for语句中的
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="nextFor"><!-- --></A><H3>
nextFor</H3>
<PRE>
private int <B>nextFor</B></PRE>
<DL>
<DD>用于记录(+,t1,1,t1)四元式的序号
<P>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>构造函数详细信息</B></FONT></TH>
</TR>
</TABLE>

<A NAME="ByylScanner()"><!-- --></A><H3>
ByylScanner</H3>
<PRE>
public <B>ByylScanner</B>()</PRE>
<DL>
<DD>构造函数,生成窗体、菜单及为菜单添加监听事件
<P>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>方法详细信息</B></FONT></TH>
</TR>
</TABLE>

<A NAME="scannerInit()"><!-- --></A><H3>
scannerInit</H3>
<PRE>
public void <B>scannerInit</B>()</PRE>
<DL>
<DD>初始化各个属性的值、生成StringBuffer对象及在数组keyWord[]加关键字
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="beginScanner()"><!-- --></A><H3>
beginScanner</H3>
<PRE>
public void <B>beginScanner</B>()</PRE>
<DL>
<DD>根据不同的字符,调用不同的程序分析
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getNextChar()"><!-- --></A><H3>
getNextChar</H3>
<PRE>
public char <B>getNextChar</B>()</PRE>
<DL>
<DD>获得下一个字符
<P>
<DD><DL>

<DT><B>返回:</B><DD>返回下一个字符</DL>
</DD>
</DL>
<HR>

<A NAME="isAlpha()"><!-- --></A><H3>
isAlpha</H3>
<PRE>
public void <B>isAlpha</B>()</PRE>
<DL>
<DD>处理保留字和字符串
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isAnotation()"><!-- --></A><H3>
isAnotation</H3>
<PRE>
public void <B>isAnotation</B>()</PRE>
<DL>
<DD>处理注释和除号
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isChar()"><!-- --></A><H3>
isChar</H3>
<PRE>
public void <B>isChar</B>()</PRE>
<DL>
<DD>处理字符串
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isNumber()"><!-- --></A><H3>
isNumber</H3>
<PRE>
public void <B>isNumber</B>()</PRE>
<DL>
<DD>处理数字
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isOther()"><!-- --></A><H3>
isOther</H3>
<PRE>
public void <B>isOther</B>()</PRE>
<DL>
<DD>处理其他字符
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="outPut()"><!-- --></A><H3>
outPut</H3>
<PRE>
public void <B>outPut</B>()</PRE>
<DL>
<DD>输出和保存token串并填符号表
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="numberExist()"><!-- --></A><H3>
numberExist</H3>
<PRE>
public int <B>numberExist</B>()</PRE>
<DL>
<DD>检测数字是否在符号表中
<P>
<DD><DL>

<DT><B>返回:</B><DD>在符号表中就返回入口地址,不在就返回-1</DL>
</DD>
</DL>
<HR>

<A NAME="wordExist()"><!-- --></A><H3>
wordExist</H3>
<PRE>
public int <B>wordExist</B>()</PRE>

⌨️ 快捷键说明

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