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

📄 binnum.y

📁 和YACC一样
💻 Y
字号:
/* Attribute expression for binary numbers using inherited attributes. */%{#include <stdio.h>void yyerror();int yylex();%}%%Line  : Line BNum($v) '\n' { printf("%.4f\n", $v); }  | error '\n'  | /* empty */  ;BNum(double $v)  : IntPart(0, $i) '.' FracPart(0.5, 0, $f)	{ $v= $i + $f; }  ;	      IntPart(%in int $acc, int $v)  : Bit($b) IntPart(2 * $acc + $b, $v)  | /* empty */ { $v= $acc; }  ;FracPart(%in double $wt, %in double $acc, double $v)  : Bit($b) FracPart($wt/2, $acc + $wt*$b, $v)  | /* empty */ { $v= $acc; }  ;Bit(int $b)  : '0' { $b= 0; }  | '1' { $b= 1; }  ;%%void yyerror(const char *s) {  printf("%s\n", s);}int yylex(){  int c= getchar();  return (c == EOF) ? 0 : c;}int main(){  return yyparse();}

⌨️ 快捷键说明

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