考虑下面的上下文无关文法:考虑下面的上下文无关文法:考虑下面的上下文无关文法: S→SS∗∣SS+∣aS → SS* \; | \; SS+ \; | \; aS→SS∗∣SS+∣a
(1).表明通过此文法如何生成串aa+a∗,并为该串构造语法树(1). 表明通过此文法如何生成串aa + a*,并为该串构造语法树(1).表明通过此文法如何生成串aa+a∗,并为该串构造语法树
(2).该文法生成的语言是什么?(2). 该文法生成的语言是什么?(2).该文法生成的语言是什么?

解:解:解:
(1).S⇒SS∗⇒Sa∗⇒SS+a∗⇒Sa+a∗⇒aa+a∗\qquad(1). \;\; S ⇒ SS* ⇒ Sa* ⇒ SS+a* ⇒ Sa+a* ⇒ aa+a*(1).S⇒SS∗⇒Sa∗⇒SS+a∗⇒Sa+a∗⇒aa+a∗
可为该推导序列构造语法树如下:\qquad\qquad 可为该推导序列构造语法树如下:可为该推导序列构造语法树如下:

#mermaid-svg-XLtB94rDXm3gVIHM .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-XLtB94rDXm3gVIHM .label text{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .node rect,#mermaid-svg-XLtB94rDXm3gVIHM .node circle,#mermaid-svg-XLtB94rDXm3gVIHM .node ellipse,#mermaid-svg-XLtB94rDXm3gVIHM .node polygon,#mermaid-svg-XLtB94rDXm3gVIHM .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-XLtB94rDXm3gVIHM .node .label{text-align:center;fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .node.clickable{cursor:pointer}#mermaid-svg-XLtB94rDXm3gVIHM .arrowheadPath{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-XLtB94rDXm3gVIHM .flowchart-link{stroke:#333;fill:none}#mermaid-svg-XLtB94rDXm3gVIHM .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-XLtB94rDXm3gVIHM .edgeLabel rect{opacity:0.9}#mermaid-svg-XLtB94rDXm3gVIHM .edgeLabel span{color:#333}#mermaid-svg-XLtB94rDXm3gVIHM .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-XLtB94rDXm3gVIHM .cluster text{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-XLtB94rDXm3gVIHM .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-XLtB94rDXm3gVIHM text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-XLtB94rDXm3gVIHM .actor-line{stroke:grey}#mermaid-svg-XLtB94rDXm3gVIHM .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-XLtB94rDXm3gVIHM .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-XLtB94rDXm3gVIHM #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-XLtB94rDXm3gVIHM .sequenceNumber{fill:#fff}#mermaid-svg-XLtB94rDXm3gVIHM #sequencenumber{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM #crosshead path{fill:#333;stroke:#333}#mermaid-svg-XLtB94rDXm3gVIHM .messageText{fill:#333;stroke:#333}#mermaid-svg-XLtB94rDXm3gVIHM .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-XLtB94rDXm3gVIHM .labelText,#mermaid-svg-XLtB94rDXm3gVIHM .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-XLtB94rDXm3gVIHM .loopText,#mermaid-svg-XLtB94rDXm3gVIHM .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-XLtB94rDXm3gVIHM .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-XLtB94rDXm3gVIHM .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-XLtB94rDXm3gVIHM .noteText,#mermaid-svg-XLtB94rDXm3gVIHM .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-XLtB94rDXm3gVIHM .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-XLtB94rDXm3gVIHM .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-XLtB94rDXm3gVIHM .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-XLtB94rDXm3gVIHM .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .section{stroke:none;opacity:0.2}#mermaid-svg-XLtB94rDXm3gVIHM .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-XLtB94rDXm3gVIHM .section2{fill:#fff400}#mermaid-svg-XLtB94rDXm3gVIHM .section1,#mermaid-svg-XLtB94rDXm3gVIHM .section3{fill:#fff;opacity:0.2}#mermaid-svg-XLtB94rDXm3gVIHM .sectionTitle0{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .sectionTitle1{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .sectionTitle2{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .sectionTitle3{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-XLtB94rDXm3gVIHM .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .grid path{stroke-width:0}#mermaid-svg-XLtB94rDXm3gVIHM .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-XLtB94rDXm3gVIHM .task{stroke-width:2}#mermaid-svg-XLtB94rDXm3gVIHM .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .taskText:not([font-size]){font-size:11px}#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-XLtB94rDXm3gVIHM .task.clickable{cursor:pointer}#mermaid-svg-XLtB94rDXm3gVIHM .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-XLtB94rDXm3gVIHM .taskText0,#mermaid-svg-XLtB94rDXm3gVIHM .taskText1,#mermaid-svg-XLtB94rDXm3gVIHM .taskText2,#mermaid-svg-XLtB94rDXm3gVIHM .taskText3{fill:#fff}#mermaid-svg-XLtB94rDXm3gVIHM .task0,#mermaid-svg-XLtB94rDXm3gVIHM .task1,#mermaid-svg-XLtB94rDXm3gVIHM .task2,#mermaid-svg-XLtB94rDXm3gVIHM .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutside0,#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutside2{fill:#000}#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutside1,#mermaid-svg-XLtB94rDXm3gVIHM .taskTextOutside3{fill:#000}#mermaid-svg-XLtB94rDXm3gVIHM .active0,#mermaid-svg-XLtB94rDXm3gVIHM .active1,#mermaid-svg-XLtB94rDXm3gVIHM .active2,#mermaid-svg-XLtB94rDXm3gVIHM .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-XLtB94rDXm3gVIHM .activeText0,#mermaid-svg-XLtB94rDXm3gVIHM .activeText1,#mermaid-svg-XLtB94rDXm3gVIHM .activeText2,#mermaid-svg-XLtB94rDXm3gVIHM .activeText3{fill:#000 !important}#mermaid-svg-XLtB94rDXm3gVIHM .done0,#mermaid-svg-XLtB94rDXm3gVIHM .done1,#mermaid-svg-XLtB94rDXm3gVIHM .done2,#mermaid-svg-XLtB94rDXm3gVIHM .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-XLtB94rDXm3gVIHM .doneText0,#mermaid-svg-XLtB94rDXm3gVIHM .doneText1,#mermaid-svg-XLtB94rDXm3gVIHM .doneText2,#mermaid-svg-XLtB94rDXm3gVIHM .doneText3{fill:#000 !important}#mermaid-svg-XLtB94rDXm3gVIHM .crit0,#mermaid-svg-XLtB94rDXm3gVIHM .crit1,#mermaid-svg-XLtB94rDXm3gVIHM .crit2,#mermaid-svg-XLtB94rDXm3gVIHM .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-XLtB94rDXm3gVIHM .activeCrit0,#mermaid-svg-XLtB94rDXm3gVIHM .activeCrit1,#mermaid-svg-XLtB94rDXm3gVIHM .activeCrit2,#mermaid-svg-XLtB94rDXm3gVIHM .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-XLtB94rDXm3gVIHM .doneCrit0,#mermaid-svg-XLtB94rDXm3gVIHM .doneCrit1,#mermaid-svg-XLtB94rDXm3gVIHM .doneCrit2,#mermaid-svg-XLtB94rDXm3gVIHM .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-XLtB94rDXm3gVIHM .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-XLtB94rDXm3gVIHM .milestoneText{font-style:italic}#mermaid-svg-XLtB94rDXm3gVIHM .doneCritText0,#mermaid-svg-XLtB94rDXm3gVIHM .doneCritText1,#mermaid-svg-XLtB94rDXm3gVIHM .doneCritText2,#mermaid-svg-XLtB94rDXm3gVIHM .doneCritText3{fill:#000 !important}#mermaid-svg-XLtB94rDXm3gVIHM .activeCritText0,#mermaid-svg-XLtB94rDXm3gVIHM .activeCritText1,#mermaid-svg-XLtB94rDXm3gVIHM .activeCritText2,#mermaid-svg-XLtB94rDXm3gVIHM .activeCritText3{fill:#000 !important}#mermaid-svg-XLtB94rDXm3gVIHM .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-XLtB94rDXm3gVIHM g.classGroup text .title{font-weight:bolder}#mermaid-svg-XLtB94rDXm3gVIHM g.clickable{cursor:pointer}#mermaid-svg-XLtB94rDXm3gVIHM g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-XLtB94rDXm3gVIHM g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-XLtB94rDXm3gVIHM .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-XLtB94rDXm3gVIHM .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-XLtB94rDXm3gVIHM .dashed-line{stroke-dasharray:3}#mermaid-svg-XLtB94rDXm3gVIHM #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM .commit-id,#mermaid-svg-XLtB94rDXm3gVIHM .commit-msg,#mermaid-svg-XLtB94rDXm3gVIHM .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-XLtB94rDXm3gVIHM g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-XLtB94rDXm3gVIHM g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-XLtB94rDXm3gVIHM g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-XLtB94rDXm3gVIHM .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-XLtB94rDXm3gVIHM .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-XLtB94rDXm3gVIHM .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-XLtB94rDXm3gVIHM .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-XLtB94rDXm3gVIHM .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-XLtB94rDXm3gVIHM .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-XLtB94rDXm3gVIHM .edgeLabel text{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-XLtB94rDXm3gVIHM .node circle.state-start{fill:black;stroke:black}#mermaid-svg-XLtB94rDXm3gVIHM .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-XLtB94rDXm3gVIHM #statediagram-barbEnd{fill:#9370db}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-state .divider{stroke:#9370db}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-XLtB94rDXm3gVIHM .note-edge{stroke-dasharray:5}#mermaid-svg-XLtB94rDXm3gVIHM .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-XLtB94rDXm3gVIHM .error-icon{fill:#522}#mermaid-svg-XLtB94rDXm3gVIHM .error-text{fill:#522;stroke:#522}#mermaid-svg-XLtB94rDXm3gVIHM .edge-thickness-normal{stroke-width:2px}#mermaid-svg-XLtB94rDXm3gVIHM .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-XLtB94rDXm3gVIHM .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-XLtB94rDXm3gVIHM .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-XLtB94rDXm3gVIHM .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-XLtB94rDXm3gVIHM .marker{fill:#333}#mermaid-svg-XLtB94rDXm3gVIHM .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-XLtB94rDXm3gVIHM .all > * { font-weight: bold !important; fill: transparent !important; stroke: transparent !important; } #mermaid-svg-XLtB94rDXm3gVIHM .all tspan { !important; }#mermaid-svg-XLtB94rDXm3gVIHM {color: rgba(0, 0, 0, 0.75);font: ;}

S
S
S
a
S
a
+
S
a
*

(2).\qquad(2). \;\;(2).由规则{S→aS→SS∗∣SS+可知,一个串可以由两个串及一个紧跟其后的运算符{+∗}组成由规则\begin{cases} S → a \\ S → SS* \; | \; SS+ \end{cases}可知,一个串可以由两个串及一个紧跟其后的运算符\{+ \quad *\}组成由规则{S→aS→SS∗∣SS+​可知,一个串可以由两个串及一个紧跟其后的运算符{+∗}组成
这个语言显然定义了字符a在运算集{+∗}上的逆波兰式\qquad\qquad 这个语言显然定义了字符a在运算集\{+ \quad * \}上的逆波兰式这个语言显然定义了字符a在运算集{+∗}上的逆波兰式

下面附上咱班学委‾苦思一天所想到逆波兰式的数学表达式,以及老师的理解思路\qquad\qquad 下面附上\underline{\textbf{咱班学委}}苦思一天所想到逆波兰式的数学表达式,以及老师的理解思路下面附上咱班学委​苦思一天所想到逆波兰式的数学表达式,以及老师的理解思路

数学表达式\qquad\qquad \textbf{数学表达式}数学表达式
{aw1w2⋯wk∣wi=aAi(+∣∗)Bi,Ai,Bi,k∈N,其中∑i=1kAi=∑i=1kBi,且∀j≤k有∑i=1jAi≥∑i=1jBi}\qquad\qquad\qquad\qquad \begin{aligned} \{ \; a w_1 w_2 \cdots w_k \; | \; & w_i = a^{A_i} (+ \; | \; *)^{B_i}, \; A_i, B_i, k ∈ N, \\ & 其中 \sum\limits_{i=1}^{k}A_i = \sum\limits_{i=1}^{k}B_i, \\ & 且 \; \forall \; j \le k \;有 \sum\limits_{i=1}^{j}A_i \ge \sum\limits_{i=1}^{j}B_i \; \} \end{aligned}{aw1​w2​⋯wk​∣​wi​=aAi​(+∣∗)Bi​,Ai​,Bi​,k∈N,其中i=1∑k​Ai​=i=1∑k​Bi​,且∀j≤k有i=1∑j​Ai​≥i=1∑j​Bi​}​

理解思路\qquad\qquad \textbf{理解思路}理解思路
做出状态转换图如下:\qquad\qquad\qquad\qquad 做出状态转换图如下:做出状态转换图如下:
\qquad\qquad\qquad\qquad
根据这个状态转换图构造出的自动机其实是一个无限状态自动机\qquad\qquad\qquad\qquad 根据这个状态转换图构造出的自动机其实是一个无限状态自动机根据这个状态转换图构造出的自动机其实是一个无限状态自动机

从这个状态转换图来看\qquad\qquad\qquad\qquad 从这个状态转换图来看从这个状态转换图来看
①S到Z的第一个状态转换,需要1次a\qquad\qquad\qquad\qquad\qquad ① \; S到Z的第一个状态转换,需要1次a①S到Z的第一个状态转换,需要1次a
②Z到A、B、C等状态,可以经过若干组【连续的a和连续的(+∣∗)】\qquad\qquad\qquad\qquad\qquad ② \; Z到A、B、C等状态,可以经过若干组【连续的a和连续的(+ \; | \; *)】②Z到A、B、C等状态,可以经过若干组【连续的a和连续的(+∣∗)】
③Z到A、B、C等状态,需要的a的总次数必然比需要的(+∣∗)的总次数多\qquad\qquad\qquad\qquad\qquad ③ \; Z到A、B、C等状态,需要的a的总次数必然比需要的(+ \; | \; *)的总次数多③Z到A、B、C等状态,需要的a的总次数必然比需要的(+∣∗)的总次数多
④Z经过若干次回到Z终态,需要的a的次数必然等于需要的(+∣∗)\qquad\qquad\qquad\qquad\qquad ④ \; Z经过若干次回到Z终态,需要的a的次数必然等于需要的(+ \; | \; *)④Z经过若干次回到Z终态,需要的a的次数必然等于需要的(+∣∗)

那么\qquad\qquad\qquad\qquad 那么那么
根据①②,可以知道表达式的形式为aw1w2⋯wk,wi=aAi(+∣∗)Bi,Ai,Bi,k∈N\qquad\qquad\qquad\qquad\qquad 根据①②,可以知道表达式的形式为a w_1 w_2 \cdots w_k,w_i = a^{A_i} (+ \; | \; *)^{B_i},A_i, B_i, k ∈ N根据①②,可以知道表达式的形式为aw1​w2​⋯wk​,wi​=aAi​(+∣∗)Bi​,Ai​,Bi​,k∈N
根据③,可以知道存在约束:∀j≤k有∑i=1jAi≥∑i=1jBi\qquad\qquad\qquad\qquad\qquad 根据③,可以知道存在约束:\forall \; j \le k \;有 \sum\limits_{i=1}^{j}A_i \ge \sum\limits_{i=1}^{j}B_i根据③,可以知道存在约束:∀j≤k有i=1∑j​Ai​≥i=1∑j​Bi​
根据④,可以知道存在约束:∑i=1kAi=∑i=1kBi\qquad\qquad\qquad\qquad\qquad 根据④,可以知道存在约束:\sum\limits_{i=1}^{k}A_i = \sum\limits_{i=1}^{k}B_i根据④,可以知道存在约束:i=1∑k​Ai​=i=1∑k​Bi​

于是就总结出了逆波兰式的数学表达式如下:\qquad\qquad\qquad\qquad 于是就总结出了逆波兰式的数学表达式如下:于是就总结出了逆波兰式的数学表达式如下:

{aw1w2⋯wk∣wi=aAi(+∣∗)Bi,Ai,Bi,k∈N,其中∑i=1kAi=∑i=1kBi,且∀j≤k有∑i=1jAi≥∑i=1jBi}\qquad\qquad\qquad\qquad\qquad\qquad \begin{aligned} \{ \; a w_1 w_2 \cdots w_k \; | \; & w_i = a^{A_i} (+ \; | \; *)^{B_i}, \; A_i, B_i, k ∈ N, \\ & 其中 \sum\limits_{i=1}^{k}A_i = \sum\limits_{i=1}^{k}B_i, \\ & 且 \; \forall \; j \le k \;有 \sum\limits_{i=1}^{j}A_i \ge \sum\limits_{i=1}^{j}B_i \; \} \end{aligned}{aw1​w2​⋯wk​∣​wi​=aAi​(+∣∗)Bi​,Ai​,Bi​,k∈N,其中i=1∑k​Ai​=i=1∑k​Bi​,且∀j≤k有i=1∑j​Ai​≥i=1∑j​Bi​}​

《编译原理》一道关于逆波兰式的作业题(学委推导出了逆波兰式的数学公式表示)相关推荐

  1. 【编译原理笔记15】运行存储分配概述,静态存储分配,栈式存储分配,调用序列和返回序列,非局部数据的访问,符号表,符号表建立

    本次笔记内容: 7-1 运行存储分配概述 7-2 静态存储分配 7-3 栈式存储分配 7-4 调用序列和返回序列 7-5 非局部数据的访问 7-6 符号表 7-7 符号表建立 本节课幻灯片,见于我的 ...

  2. 【编译原理】-- 第二章(三)(文法的化简改造、无用产生式、产生式的消除、文法的其他表示方法、例题)

    目录 一.文法的化简与改造 1.文法的实用限制 (1)不含无用产生式 (2)不含有害规则 (3)无用符号和无用产生式的消除 2.产生式的消除 算法3: 算法4:ε不属于L(G) 算法5:ε属于L(G) ...

  3. 编译原理 —— 正规文法转换为正规式

    正规文法与正规式都是描述正规集的工具.对任意一个正规文法,存在定义统一语言的正规式:反之,对每个正规式存在一个生成同一语言的正规文法. 对任何正规文法G,存在定义同一语言的正规式 r 求解过程 ① 将 ...

  4. 北邮 编译原理(上)

    文章目录 第一章 编译概述 1.翻译和解释 1.1 程序设计语言 1.2 翻译程序 2.编译的阶段和任务 2.1 分析阶段 2.1.1 词法分析 2.1.2 语法分析 2.1.3 语义分析 2.2 综 ...

  5. 软件工程专插本_2021年软件工程专业-编译原理-考试大纲(专插本).docx

    吉林大学珠海学院 2021 年本科插班生招生考试 < 软件工程 >专业课程考试大纲 考试科目名称: 编译原理 一.考试的内容.要求和目的 第 1 章 引论 (考核比重:10%) (一)课程 ...

  6. 【编译原理】词法分析和语法分析两万字全总结(这知识它不进脑子啊~!)

    文章目录 1 引论-一些名词解释 1.1 解释器 1.2 翻译器和编译器 1.3 编译型的程序设计语言和解释型的程序设计语言各有哪些优缺点? 1.4 编译过程六个阶段的任务 1.5 遍的概念 2 词法 ...

  7. 【编译原理】中间代码优化(三) 循环优化

    文章目录 循环优化概述. 计算必经节点集. 循环查找算法. 1.查找回边. 2.查找循环. 代码外提. 强度削弱. 删除归纳变量. 循环优化概述. 什么叫做循环?循环就是程序中那些可能反复执行的代码序 ...

  8. 编译原理求FIRST集、FOLLOW集和SELECT集

    所有大写字母代表非终结符,小写字母代表终结符,省略号代表未知数目(可能为0)的不确定类型的文法符号. First集合: First集合顾名思义就是求一个文法符号串所可能推导出的符号串的第一个终结符的集 ...

  9. 逆波兰式 java_Java 实现《编译原理》中间代码生成 -逆波兰式生成与计算 - 程序解析...

    Java 实现<编译原理>中间代码生成 -逆波兰式生成与计算 - 程序解析 编译原理学习笔记 (一)逆波兰式是什么? 逆波兰式(Reverse Polish notation,RPN,或逆 ...

最新文章

  1. 有人在代码里下毒!慎用 pip install 命令
  2. Redis设计与实现之SDS和链表
  3. portable-config-maven-plugin 实现replace-package
  4. 为什么云原生+分布式是数据库的未来?
  5. java 执行oracle命令_利用oracle存储过程执行操作系统命令
  6. 数据结构(6)----栈与队列之栈的链式存储结构及其实现
  7. java技术架构选型方案报告.pdf,来啦,2020开源报告!
  8. vc与三菱PLC编程口通信C语言源代码,三菱PLC通讯与编程实例!
  9. 有效缓解眼疲劳的绿色桌面
  10. 【BZOJ4049】【Cerc2014】 Mountainous landscape 【凸包】【线段树】
  11. python绘制三重积分图像_三重积分-图解高等数学13 | 文艺数学君
  12. 图像处理之计算二值连通区域的质心
  13. 数据分析方法(3)之AARRR模型
  14. 初识Photoshop
  15. 腾讯云4核8g10M轻量服务器支持多少人在线?
  16. 李天平:技术以外的功夫
  17. 腾讯云服务器linux系统有图形界面,腾讯云CentOS7搭建图形化界面并远程连接
  18. uniapp人脸识别解决方案
  19. c语言验证卡布列卡猜想,西安电子科技大学刘三阳教授为新生作专题讲座
  20. 系统分析师 pdf_2021年CFA机考系统操作指南,收藏看三遍!

热门文章

  1. 浙江农林大学有计算机专业,浙江农林大学计算机科学与技术专业在职研究生
  2. 可以多次使用同一个hbitmap吗_求婚钻戒和结婚钻戒可以是同一个吗?意义戴法各不同,别胡乱混淆...
  3. Multi-Armed Bandit--基于时变多臂老虎机的在线上下文感知推荐
  4. android layout引入活动,Android 开发入门-活动的基本用法
  5. oracle 导入电子表格,oracle数据导入到电子表格中
  6. php语言输出九九乘法表_PHP 输出九九乘法表
  7. frida hook java 函数_使用 Frida 来 Hook Java 类中的构造函数(构造函数带重载),获取解密后的js脚本...
  8. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——L题 建立火车站
  9. ~~Trie树(数据结构)(附题目:AcWing 835. Trie字符串统计)
  10. 【PAT】1001 害死人不偿命的(3n+1)猜想