📄 parser.html
字号:
<DL>
</DL>
</DL>
<HR>
<A NAME="declbegsys"><!-- --></A><H3>
declbegsys</H3>
<PRE>
private java.util.BitSet <B>declbegsys</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="statbegsys"><!-- --></A><H3>
statbegsys</H3>
<PRE>
private java.util.BitSet <B>statbegsys</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="facbegsys"><!-- --></A><H3>
facbegsys</H3>
<PRE>
private java.util.BitSet <B>facbegsys</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="symtype"><!-- --></A><H3>
symtype</H3>
<PRE>
private int <B>symtype</B></PRE>
<DL>
<DD>当前符号的符号码,由nextsym()读入
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="Parser.html#nextsym()"><CODE>nextsym()</CODE></A></DL>
</DL>
<HR>
<A NAME="sym"><!-- --></A><H3>
sym</H3>
<PRE>
private <A HREF="Symbol.html" title="class in <Unnamed>">Symbol</A> <B>sym</B></PRE>
<DL>
<DD>当前符号,由nextsym()读入
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="Parser.html#nextsym()"><CODE>nextsym()</CODE></A></DL>
</DL>
<HR>
<A NAME="dx"><!-- --></A><H3>
dx</H3>
<PRE>
private int <B>dx</B></PRE>
<DL>
<DD>当前作用域的堆栈帧大小,或者说数据大小(data size)
<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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Parser(Scanner, Table, Interpreter)"><!-- --></A><H3>
Parser</H3>
<PRE>
public <B>Parser</B>(<A HREF="Scanner.html" title="class in <Unnamed>">Scanner</A> l,
<A HREF="Table.html" title="class in <Unnamed>">Table</A> t,
<A HREF="Interpreter.html" title="class in <Unnamed>">Interpreter</A> i)</PRE>
<DL>
<DD>构造并初始化语法分析器,这里包含了C语言版本中init()函数的一部分代码
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>l</CODE> - 编译器的词法分析器<DD><CODE>t</CODE> - 编译器的符号表<DD><CODE>i</CODE> - 编译器的目标代码生成器</DL>
</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>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="parse()"><!-- --></A><H3>
parse</H3>
<PRE>
public void <B>parse</B>()</PRE>
<DL>
<DD>启动语法分析过程,此前必须先调用一次nextsym()
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="Parser.html#nextsym()"><CODE>nextsym()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="nextsym()"><!-- --></A><H3>
nextsym</H3>
<PRE>
public void <B>nextsym</B>()</PRE>
<DL>
<DD>获得下一个语法符号,这里只是简单调用一下getsym()
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="test(java.util.BitSet, java.util.BitSet, int)"><!-- --></A><H3>
test</H3>
<PRE>
void <B>test</B>(java.util.BitSet s1,
java.util.BitSet s2,
int errcode)</PRE>
<DL>
<DD>测试当前符号是否合法
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>s1</CODE> - 我们需要的符号<DD><CODE>s2</CODE> - 如果不是我们需要的,则需要一个补救用的集合<DD><CODE>errcode</CODE> - 错误号</DL>
</DD>
</DL>
<HR>
<A NAME="block(int, java.util.BitSet)"><!-- --></A><H3>
block</H3>
<PRE>
public void <B>block</B>(int lev,
java.util.BitSet fsys)</PRE>
<DL>
<DD>分析<分程序>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lev</CODE> - 当前分程序所在层<DD><CODE>fsys</CODE> - 当前模块后跟符号集</DL>
</DD>
</DL>
<HR>
<A NAME="constdeclaration(int)"><!-- --></A><H3>
constdeclaration</H3>
<PRE>
void <B>constdeclaration</B>(int lev)</PRE>
<DL>
<DD>分析<常量说明部分>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lev</CODE> - 当前所在的层次</DL>
</DD>
</DL>
<HR>
<A NAME="vardeclaration(int)"><!-- --></A><H3>
vardeclaration</H3>
<PRE>
void <B>vardeclaration</B>(int lev)</PRE>
<DL>
<DD>分析<变量说明部分>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="statement(java.util.BitSet, int)"><!-- --></A><H3>
statement</H3>
<PRE>
void <B>statement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseWhileStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseWhileStatement</H3>
<PRE>
private void <B>parseWhileStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<当型循环语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseBeginStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseBeginStatement</H3>
<PRE>
private void <B>parseBeginStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<复合语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseIfStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseIfStatement</H3>
<PRE>
private void <B>parseIfStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<条件语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseCallStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseCallStatement</H3>
<PRE>
private void <B>parseCallStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<过程调用语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseWriteStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseWriteStatement</H3>
<PRE>
private void <B>parseWriteStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<写语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseReadStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseReadStatement</H3>
<PRE>
private void <B>parseReadStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<读语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="parseAssignStatement(java.util.BitSet, int)"><!-- --></A><H3>
parseAssignStatement</H3>
<PRE>
private void <B>parseAssignStatement</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<赋值语句>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="expression(java.util.BitSet, int)"><!-- --></A><H3>
expression</H3>
<PRE>
private void <B>expression</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<表达式>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="term(java.util.BitSet, int)"><!-- --></A><H3>
term</H3>
<PRE>
private void <B>term</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<项>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="factor(java.util.BitSet, int)"><!-- --></A><H3>
factor</H3>
<PRE>
private void <B>factor</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<因子>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="condition(java.util.BitSet, int)"><!-- --></A><H3>
condition</H3>
<PRE>
private void <B>condition</B>(java.util.BitSet fsys,
int lev)</PRE>
<DL>
<DD>分析<条件>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fsys</CODE> - 后跟符号集<DD><CODE>lev</CODE> - 当前层次</DL>
</DD>
</DL>
<HR>
<A NAME="debug(java.lang.String)"><!-- --></A><H3>
debug</H3>
<PRE>
void <B>debug</B>(java.lang.String msg)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Parser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="Interpreter.html" title="class in <Unnamed>"><B>PREV CLASS</B></A>
<A HREF="PL0.html" title="class in <Unnamed>"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?Parser.html" target="_top"><B>FRAMES</B></A>
<A HREF="Parser.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -