的功能扩张....

原创 2007年09月14日 18:33:00
%{

#include 
<stdlib.h>
#include 
"entint.tab.h"
extern 
long yylval;
%}

D        [
0-9]
N        [
1-9]
O        [
0-7]
H        [
0-9a-fA-F]

%%
"+"            {return(ADDOP);}
"-"            {return(SUBOP);}
"*"            {return(MULOP);}
"/"            {return(DIVOP);}
"**"            {return(POWOP);}
"!"            {return(FACTOP);}
"("            {return(LP);}
")"            {return(RP);}
end            {return(END);}
{N}{D}
*        |
0{O}*        |
0(X|x){H}+    {//将字符串??成?整型数 
                yylval 
= strtol((char*)yytext,(char**)NULL0); 
                return(NUMBER);
            }
[
T]        ;
n            {return(NL);}
.            {return(yytext[
0]);}

 

 

%{
#include 
<stdio.h>
#define YYSTYPE 
long
%} 
%token NUMBER
%token NL
%token 
END
%token LP
%token RP
%
left  ADDOP SUBOP
%
left  MULOP DIVOP
%
right POWOP
%
right FACTOP
%
right UMINUS
%start s

%%

s        :list        {printf(
"bye-bye... ");}
        ;
        
list    :
/*empty*/
            {printf(
"welcome to ecalc. ");}
        |list line
            {printf(
"end expression or end... ");}
        ;
line    :expr NL
            {printf(
"%ld,0x%lx,0%lo ",$1,$1,$1);}
        |
END NL
            {
                printf(
"bye-bye... ");
                YYACCEPT;
            }
        |
error NL
        ;
expr    :expr ADDOP expr
            {$$ 
= $1 + $3;}
        |expr SUBOP expr
            {$$ 
= $1 - $3;}
        |expr MULOP expr
            {$$ 
= $1 * $3;}
        |expr DIVOP expr
            {
                
if ($3 == 0){
                    printf(
"zero divide ");
                    YYERROR;
                }
                $$ 
= $1 / $3;
            }
        |expr POWOP expr
            {
                
if ($3 < 0){
                    printf(
"POWOP divide ");
                    YYERROR;                
                }
                $$ 
= lpower($1,$3);
            }
        |expr FACTOP
            {
                
if ($1 < 0){
                printf(
"FACTOP divide ");
                    YYERROR;                    
                }
                lfact($
1);
            }
        |SUBOP expr    %prec UMINUS
            {$$ 
= -$2;}
        |LP expr RP
            {$$ 
= $2;}
        |NUMBER
            {$$ 
= $1;}
        ;
%%
int yyerror(char *str){
    printf(
"%s ", str);
}
    
long lpower(long x, long y){

    
long i ,pw;
    
if (x == 0){
        return 
0;
    }
    
else{
        pw 
= 1;
        
for (i = y;i;--i){
            pw 
*= i;
        }
        return (pw);    
    }
}

long lfact(long x){
    
long i,fc;
    
    
for (fc = 1,i = x;i;--i){
        fc 
*= i;
    }
    return (fc);
}

最优化学习笔记(十三)——基本共轭方向算法(扩张子空间定理)

由上节我们得出的一个引理: 引理 在共轭方向算法中, 对于所有的k,0≤k≤n−1,0≤i≤kk,0≤k≤n−1,0≤i≤k 都有 : g(k+1)Td(i)=0 \boldsymbol{g}^...
  • chunyun0716
  • chunyun0716
  • 2016年11月19日 11:37
  • 540

算法导论笔记:14数据结构的扩张

一:概述          一些工程应用只会使用教科书式的标准数据结构,但是也会有些应用需要对现有的数据结构进行少许的创新和改造,只有很少的情况会创造全新的数据结构。   二:动态顺序统计  ...
  • gqtcgq
  • gqtcgq
  • 2015年04月27日 21:27
  • 487

Dilated Convolutions——扩张卷积

Dilated Convolutions——扩张卷积
  • Quincuntial
  • Quincuntial
  • 2017年12月07日 16:36
  • 1243

俄罗斯国土面积最大的原因——四百年扩张史

http://military.china.com/zh_cn/history2/06/11027560/20060111/13022073.html 东斯拉夫人请来诺曼人,遂造就一大强国俄罗斯.其...
  • caolaosanahnu
  • caolaosanahnu
  • 2012年12月25日 11:43
  • 2820

内生性的变革,还是外延式的扩张

http://www.eeworld.com.cn/szds/article_2016121310774.html
  • boborookie
  • boborookie
  • 2017年04月07日 14:57
  • 236

案例--------供应链的扩展不容忽视

对于任何企业而言,扩大国际市场确实令人振奋。即使像哈罗德百货(Harrods)这样有名的大型企业,也不能低估先进技术在有效管理扩展式供应链、支持业务发展方面所起的重要作用。哈罗德百货作为全球品牌,在服...
  • hjmuhjg
  • hjmuhjg
  • 2011年12月10日 12:40
  • 641

QPSO---收缩扩张系数的选择方案(未完待续)

一、理论基础 平均最优位置:                               其中,P代表第i个粒子的最优位置,即局部最优位置,mbest为平均最优位置。对于多维粒子而言,每一维上的最优...
  • jinpeng_cumt
  • jinpeng_cumt
  • 2017年06月26日 10:46
  • 253

用自定义的节来扩展web.config和machine.config配置文件的结构

webconfig:  获取自定义节点 内容: //打开配置文件 Configuration config = We...
  • chifengchifeng
  • chifengchifeng
  • 2012年11月21日 15:32
  • 1251

android使用opencv图片腐蚀与扩张

数学形态学中运算有 膨胀(或扩张)、腐蚀(或侵蚀)、开启、闭合、骨架抽取、极线腐蚀、击中击不中变换、Top-hat变换、颗粒分析、流域变换、形态学梯度等,其中腐蚀与扩张就是我们今天所有讲的要点。ope...
  • xy1213236113
  • xy1213236113
  • 2018年01月23日 23:41
  • 23

如何修改文件扩展名

修改文件拓展名 >>> f = open('record.txt') Traceback (most recent call last):   File "", line 1, in    ...
  • weixin_40066565
  • weixin_40066565
  • 2017年12月29日 23:18
  • 24
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:的功能扩张....
举报原因:
原因补充:

(最多只允许输入30个字)