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

📄 parser.html

📁 pl/0编译程序的java版
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<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 &lt;Unnamed&gt;">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 &lt;Unnamed&gt;">Scanner</A>&nbsp;l,
              <A HREF="Table.html" title="class in &lt;Unnamed&gt;">Table</A>&nbsp;t,
              <A HREF="Interpreter.html" title="class in &lt;Unnamed&gt;">Interpreter</A>&nbsp;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&nbsp;s1,
          java.util.BitSet&nbsp;s2,
          int&nbsp;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&nbsp;lev,
                  java.util.BitSet&nbsp;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&nbsp;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&nbsp;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&nbsp;fsys,
               int&nbsp;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&nbsp;fsys,
                                 int&nbsp;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&nbsp;fsys,
                                 int&nbsp;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&nbsp;fsys,
                              int&nbsp;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&nbsp;fsys,
                                int&nbsp;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&nbsp;fsys,
                                 int&nbsp;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&nbsp;fsys,
                                int&nbsp;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&nbsp;fsys,
                                  int&nbsp;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&nbsp;fsys,
                        int&nbsp;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&nbsp;fsys,
                  int&nbsp;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&nbsp;fsys,
                    int&nbsp;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&nbsp;fsys,
                       int&nbsp;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&nbsp;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>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Parser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="Interpreter.html" title="class in &lt;Unnamed&gt;"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="PL0.html" title="class in &lt;Unnamed&gt;"><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>  &nbsp;
&nbsp;<A HREF="Parser.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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 + -