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

📄 表达式运算器的实现原理(快速优先法) - njhhack的专栏 - csdnblog.htm

📁 YACC和Lex集成开发环境,现在要找到它还真不容易,加上自己收集的一些例子,希望对大家有帮助.
💻 HTM
📖 第 1 页 / 共 3 页
字号:
	enabledDuringCallBack,	preCallBackFunction,	postCallBackFunction,	callBackCancelledFunction,	includeControlValuesWithCallBack,	updatePageAfterCallBack) {	var preProcessOut = new Anthem_PreProcessCallBackOut();	var preProcessResult = Anthem_PreProcessCallBack(	    control, 	    e, 	    eventTarget,	    causesValidation, 	    validationGroup, 	    imageUrlDuringCallBack, 	    textDuringCallBack, 	    enabledDuringCallBack, 	    preCallBackFunction, 	    callBackCancelledFunction, 	    preProcessOut	);    if (preProcessResult) {	    Anthem_FireEvent(		    eventTarget,		    eventArgument,		    function(result) {                Anthem_PostProcessCallBack(                    result,                     control,                     eventTarget,                    null,                     null,                     imageUrlDuringCallBack,                     textDuringCallBack,                     postCallBackFunction,                     preProcessOut                );		    },		    null,		    includeControlValuesWithCallBack,		    updatePageAfterCallBack	    );    }}function AnthemListControl_OnClick(    e,	causesValidation,	validationGroup,	textDuringCallBack,	enabledDuringCallBack,	preCallBackFunction,	postCallBackFunction,	callBackCancelledFunction,	includeControlValuesWithCallBack,	updatePageAfterCallBack) {	var target = e.target || e.srcElement;	if (target.nodeName.toUpperCase() == "LABEL" && target.htmlFor != '')	    return;	var eventTarget = target.id.split("_").join("$");	Anthem_FireCallBackEvent(	    target, 	    e,	    eventTarget, 	    '', 	    causesValidation, 	    validationGroup, 	    '',	    textDuringCallBack, 	    enabledDuringCallBack, 	    preCallBackFunction, 	    postCallBackFunction, 	    callBackCancelledFunction, 	    true, 	    true	);}function GetLabelText(id) {    var labels = document.getElementsByTagName('label');    for (var i = 0; i < labels.length; i++) {        if (labels[i].htmlFor == id) {            return labels[i].innerHTML;        }    }    return null;}function SetLabelText(id, text) {    var labels = document.getElementsByTagName('label');    for (var i = 0; i < labels.length; i++) {        if (labels[i].htmlFor == id) {            labels[i].innerHTML = text;            return;        }    }}//]]></SCRIPT>

<SCRIPT src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/WebResource.axd" 
type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>
<!--
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
// -->
</SCRIPT>
 
<DIV id=top>
<DIV>
<TABLE>
  <TBODY>
  <TR>
    <TD class=HeaderTitles>
      <H1><A class=headermaintitle id=Header1_HeaderTitle 
      href="http://blog.csdn.net/njhhack/">njhhack的专栏</A></H1>
      <P id=tagline></P></TD></TR></TBODY></TABLE></DIV>
<DIV class=HeaderBar>
<TABLE class=HeaderBar id=HeaderBar>
  <TBODY>
  <TR>
    <TD class=HeaderBarTab noWrap>&nbsp; <A href="http://www.csdn.net/" 
      target=_blank>CSDN</A>&nbsp;|&nbsp; <A href="http://community.csdn.net/" 
      target=_blank>社区</A>&nbsp;|&nbsp; <A href="http://dev.csdn.net/" 
      target=_blank>技术中心</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_HomeLink 
      title=到聚合站点 href="http://blog.csdn.net/" 
      target=_blank>BLOG首页</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_PersonalHome 
      title="访问 njhhack的专栏" href="http://blog.csdn.net/njhhack/" 
      target=_blank>我的首页</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_PersonalResume 
      href="http://job.csdn.net/resumes/njhhack.aspx">个人档案</A>&nbsp;|&nbsp; <A 
      id=Header1_MyLinks1_ContactLink accessKey=9 
      href="http://blog.csdn.net/njhhack/contact.aspx">联系作者</A>&nbsp;|&nbsp; <A 
      id=Header1_MyLinks1_Syndication 
      href="http://blog.csdn.net/njhhack/Rss.aspx">聚合</A> <A class=XMLLink 
      id=Header1_MyLinks1_XMLLink 
      href="http://blog.csdn.net/njhhack/Rss.aspx"><IMG 
      src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/xml.gif" 
      border=0></A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_HyperLink1 
      href="http://search.csdn.net/search_blog.asp" 
      target=_blank>搜索</A>&nbsp;|&nbsp; <A id=Header1_MyLinks1_Admin 
      href="http://writeblog.csdn.net/">登录</A> <IMG id=Header1_BlueTab 
      src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/BlueTabRight.jpg" 
      align=absMiddle border=0> </TD>
    <TD class=HeaderBarTabBack noWrap width="100%">
      <DIV class=BlogStatsBar>
      <TABLE class=BlogStatsBar>
        <TBODY>
        <TR>
          <TD width="100%"></TD>
          <TD class=BlogStatsBar noWrap>&nbsp; 11篇原创: 0篇翻译: 0篇转载: 3172次点击: 
            24个评论: 0个Trackbacks 
</TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV id=leftmenu>
<H3 class=listtitle>文章</H3>
<UL class=list></UL>
<H3 class=listtitle>收藏</H3>
<UL class=list></UL>
<H3 class=listtitle>相册</H3><!--category title-->
<UL class=list></UL>
<H3 class=listtitle>存档</H3>
<UL class=list>
  <LI><A 
href="http://blog.csdn.net/njhhack/archive/2001/08.aspx">2001年08月(2)</A>
  <LI><A 
  href="http://blog.csdn.net/njhhack/archive/2001/06.aspx">2001年06月(9)</A></LI></UL><SPAN 
id=Anthem_RecentComments_ltlComments__><SPAN id=RecentComments_ltlComments>
<H3 class=listtitle>最近评论</H3>
<UL class=list>
  <LI class=listitem>000:<A title="点击查看《回复:OICQ 远程木马的设计技术》" 
  href="http://blog.csdn.net/njhhack/archive/2001/06/27/6620.aspx#374515">操什么几把玩应啊我要有用的木马如果有的话请好心的朋友给我发个我的信箱是sunbonv@163.com 
  <BR>几把网叶</A>
  <LI class=listitem>123456:<A title="点击查看《回复:OICQ 远程木马的设计技术》" 
  href="http://blog.csdn.net/njhhack/archive/2001/06/27/6620.aspx#373362">给我个把</A>
  <LI class=listitem>mm:<A title="点击查看《回复:OICQ 远程木马的设计技术》" 
  href="http://blog.csdn.net/njhhack/archive/2001/06/27/6620.aspx#342285">我想要oicqhack 
  ,给我一个吧?</A>
  <LI class=listitem>www:<A title=点击查看《123》 
  href="http://blog.csdn.net/njhhack/archive/2001/06/27/6620.aspx#324193">cao ni 
  ma</A>
  <LI class=listitem>gf:<A title="点击查看《回复:OICQ 远程木马的设计技术》" 
  href="http://blog.csdn.net/njhhack/archive/2001/06/27/6620.aspx#306537">ghghg</A></LI></UL></SPAN></SPAN><BR><BR></DIV>
<DIV id=main>
<DIV class=Tag>
<SCRIPT language=javascript 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/urltag.aspx"></SCRIPT>

<DIV style="CLEAR: both"></DIV></DIV>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>

<DIV class=post>
<DIV class=postTitle><A 
href="http://blog.csdn.net/njhhack/archive/2001/06/27/6618.aspx"><IMG height=13 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/authorship.gif" width=15 
border=0>&nbsp;表达式运算器的实现原理(快速优先法)</A> </DIV>
<DIV class=postText><FONT color=#555555>int scan(char *src,float *num,char 
*sign,int *level) <BR>{ <BR>int count=0,stdlevel=0; <BR>while(*src) <BR>{ 
<BR>if(*src=='(')stdlevel+=2; <BR>if(*src==')')stdlevel-=2; <BR>if(*src=='+' || 
*src=='-'){sign[count]=*src;level[count]=stdlevel;} <BR>if(*src=='*' || 
*src=='/'){sign[count]=*src;level[count]=stdlevel+1;} <BR>if(*src&gt;='0' 
&amp;&amp; *src&lt;='9') <BR>{ <BR>num[count]=0; <BR>while(*src&gt;='0' 
&amp;&amp; *src&lt;='9') <BR>{ <BR>num[count]=num[count]*10+*src-'0';src++; 
<BR>} <BR>count++;src--; <BR>} <BR>src++; <BR>} <BR>return count; <BR>} 
<BR>float exp(int index,float *num,char *sign,int *level) <BR>{ <BR>int k; 
<BR>float mid,left,right; <BR>if(index&lt;2)mid=num[0]; <BR>else 
if(index&lt;3){left=num[0];right=num[1];k=1;} <BR>else <BR>{ <BR>int 
min=25536,d; <BR>k=index-1; 
<BR>for(d=index-1;d&gt;0;d--)if(min&gt;level[d]){min=level[d];k=d;} 
<BR>if(k&gt;=2)left=exp(k,num,sign,level); <BR>else left=num[k-1]; 
<BR>if(index-k&gt;=2)right=exp(index-k,num+k,sign+k,level+k); <BR>else 
right=num[index-1]; <BR>} <BR>switch(sign[k]) <BR>{ <BR>case 
'+':mid=left+right;break; <BR>case '-':mid=left-right;break; <BR>case 
'*':mid=left*right;break; <BR>case '/':mid=left/right;break; <BR>} <BR>return 
mid; <BR>} <BR><BR>main() <BR>{ <BR>char 
sign[100],*src="1+2*(2*(5-2)-4)/2";/*"(1+2)*3-(4-5*(6/(7+8)-9))*10-11/12";*/ 
<BR>int count=0,k,level[100]; <BR>float num[100],last; 
<BR>count=scan(src,num,sign,level); <BR>last=exp(count,num,sign,level); 
<BR>clrscr(); <BR>printf("\nlast=%6.2f",last); <BR>for(k=0;k&lt;count;k++) <BR>{ 
<BR>gotoxy(k*5+1,4); <BR>printf("%3.0f",num[k]); <BR>if(k&gt;=count-1)continue; 
<BR>gotoxy(k*5+5,5); <BR>printf("%1c",sign[k+1]); <BR>gotoxy(k*5+4,6); 
<BR>printf("%2d",level[k+1]); <BR>} <BR>getch(); <BR>} <BR></FONT><BR><BR>
<P id=TBPingURL>Trackback: 
http://tb.blog.csdn.net/TrackBack.aspx?PostId=6618</P><BR></DIV>
<DIV class=postFoot>
<SCRIPT src=""></SCRIPT>
[<A title=功能强大的网络收藏夹,一秒钟操作就可以轻松实现保存带来的价值、分享带来的快乐 
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'keyit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏到我的网摘</A>]&nbsp;&nbsp; 
njhhack发表于 2001年06月27日 20:29:00 </DIV></DIV><LINK 
href="http://blog.csdn.net/njhhack/Services/Pingback.aspx" rel=pingback><!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://blog.csdn.net/njhhack/archive/2001/06/27/6618.aspx"dc:identifier="http://blog.csdn.net/njhhack/archive/2001/06/27/6618.aspx"dc:title="表达式运算器的实现原理(快速优先法)"trackback:ping="http://tb.blog.csdn.net/TrackBack.aspx?PostId=6618" /></rdf:RDF>-->
<SCRIPT>function hide(){showComment();}</SCRIPT>
<BR>
<DIV class=post>
<DIV class=postTitle>相关文章:</DIV>
<UL class=postText>
  <LI><A href="http://blog.csdn.net/ehui928/archive/2006/04/06/653214.aspx" 
  target=_blank>常用字符串操作函数的C实现</A> 2006-04-06 <A 
  href="http://blog.csdn.net/ehui928/" target=_blank>ehui928</A>
  <LI><A href="http://blog.csdn.net/codestart/archive/2006/03/10/620992.aspx" 
  target=_blank>Expanding Rods(ZJU_2370二分法)</A> 2006-03-10 <A 
  href="http://blog.csdn.net/codestart/" target=_blank>codestart</A>
  <LI><A href="http://blog.csdn.net/shifind/archive/2004/08/01/57893.aspx" 
  target=_blank>string的几个函数</A> 2004-08-01 <A 
  href="http://blog.csdn.net/shifind/" target=_blank>shifind</A>
  <LI><A href="http://blog.csdn.net/cn_kk/archive/2006/05/08/712204.aspx" 
  target=_blank>财务管理小系统</A> 2006-05-08 <A href="http://blog.csdn.net/cn_kk/" 
  target=_blank>cn_kk</A>
  <LI><A href="http://blog.csdn.net/phpme/archive/2006/06/22/820476.aspx" 
  target=_blank>php 实现的基本数据结构</A> 2006-06-22 <A 
  href="http://blog.csdn.net/phpme/" 
target=_blank>phpme</A></LI></UL></DIV><BR><BR>
<DIV class=post id=csdn_zhaig_ad_yahoo></DIV><SPAN 
id=Anthem_Comments.ascx_ltlComments__><SPAN id=Comments.ascx_ltlComments><BR>
<DIV id=comments>
<H3></H3>没有评论。 </DIV></SPAN></SPAN>
<SCRIPT language=javascript>
ad_width=468;
ad_height=60;
adcss=2;
unionuser=19;
ad_type='j';
count=5; 
</SCRIPT>

<SCRIPT language=javascript 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/showads.js" 
type=text/javascript></SCRIPT>

<SCRIPT language=javascript 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/showgm.htm" 
type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</SCRIPT>

<DIV class=CommentForm id=commentform>
<H3>发表评论</H3>
<DIV id=Anthem_PostComment.ascx_UpdatePanel1__>
<DIV id=PostComment.ascx_UpdatePanel1>
<TABLE class=CommentForm>
  <TBODY>
  <TR>
    <TD width=69 height=0></TD>
    <TD></TD></TR>
  <TR>
    <TD width=70>大名:</TD>
    <TD align=left><INPUT id=PostComment.ascx_tbName style="WIDTH: 300px" 
      disabled maxLength=32 size=40 name=PostComment.ascx:tbName> <SPAN 
      id=PostComment.ascx_RequiredFieldValidator2 
      style="DISPLAY: none; COLOR: red" initialvalue="" 
      evaluationfunction="RequiredFieldValidatorEvaluateIsValid" 
      display="Dynamic" errormessage="<br>请输入尊姓大名" 
      controltovalidate="PostComment.ascx_tbName"><BR>请输入尊姓大名</SPAN> </TD></TR>
  <TR>
    <TD width=70>网址:</TD>
    <TD align=left><INPUT id=PostComment.ascx_tbUrl style="WIDTH: 300px" 
      disabled maxLength=256 size=40 name=PostComment.ascx:tbUrl> </TD></TR>
  <TR>
    <TD colSpan=3>评论&nbsp; <SPAN id=PostComment.ascx_RequiredFieldValidator3 
      style="DISPLAY: none; COLOR: red" initialvalue="" 
      evaluationfunction="RequiredFieldValidatorEvaluateIsValid" 
      display="Dynamic" errormessage="<br>请输入评论" 
      controltovalidate="PostComment.ascx_tbComment"><BR>请输入评论</SPAN> <BR><TEXTAREA id=PostComment.ascx_tbComment style="WIDTH: 381px; HEIGHT: 193px" disabled name=PostComment.ascx:tbComment rows=10 cols=50></TEXTAREA> 
    </TD></TR>
  <TR>
    <TD colSpan=3><SPAN 
      id=Anthem_PostComment.ascx_btnSubmit__></SPAN>&nbsp;&nbsp;&nbsp; </TD></TR>
  <TR>
    <TD colSpan=3><SPAN id=PostComment.ascx_Message 
      style="COLOR: red">注册用户才能发表评论。如果你没有登录,请点击<A 
      href="http://passport.csdn.net/member/UserLogin.aspx?from=http://blog.csdn.net/njhhack/archive/2001/06/27/6618.aspx">登录</A></SPAN> 
    </TD></TR></TBODY></TABLE></DIV></DIV></DIV></DIV>
<P id=footer>Powered by: <BR><A id=Footer1_Hyperlink2 
href="http://scottwater.com/blog" name=Hyperlink1><IMG 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/100x30_Logo.gif" 
border=0></A> <A id=Footer1_Hyperlink3 href="http://asp.net/" 
name=Hyperlink1><IMG 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/PoweredByAsp.Net.gif" 
border=0></A> <BR>Copyright © njhhack </P>
<SCRIPT 
src="表达式运算器的实现原理(快速优先法) - njhhack的专栏 - CSDNBlog.files/counter.js"></SCRIPT>

<SCRIPT type=text/javascript>
<!--
var Page_Validators =  new Array(document.getElementById("PostComment.ascx_RequiredFieldValidator2"), document.getElementById("PostComment.ascx_RequiredFieldValidator3"));
// -->
</SCRIPT>
<INPUT id=__EVENTVALIDATION type=hidden 
value=/wEWBAL+raDpAgKqtOi0AwLAsuLbDAKi687YCaEdUuRgIvhS8PYPDsd5LslVNRL0 
name=__EVENTVALIDATION>
<SCRIPT type=text/javascript>
<!--
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
    ValidatorOnLoad();
}

function ValidatorOnSubmit() {
    if (Page_ValidationActive) {
        return ValidatorCommonOnSubmit();
    }
    else {
        return true;
    }
}
// -->
</SCRIPT>
 </FORM>
<SCRIPT language=javascript type=text/javascript>
	<!--
	try{
		hide();
		}
		catch(e){
		}
	//-->
    </SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

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