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

📄 ic.y

📁 这是一个软件水平资格考试中使用的CASL汇编语言的编译器,实现文件中包括一个编译器,一个虚拟机,一个类似于Debug的调试器.
💻 Y
字号:
%{
#include <math.h>
#include <malloc.h>
#include <stdlib.h>
%}
%token DECIMAL
%token HEX
%token LABEL
%token VAR
%token START
%token END
%token JMP
%token IF
%token GOTO
%left	'+''-'
%%
PROGRAM:  START BODY END {printf("Input Ok!\n");};

BODY: BODY STMT | STMT

STMT: ASSIGNSTMT | IFSTMT | JMPSTMT

ASSIGNSTMT: LBLSTMT VAR '=' EXPR

IFSTMT: LBLSTMT IF CONDEXPR GOTO VAR

JMPSTMT: LBLSTMT JMP VAR

EXPR: DECIMAL | 
      VAR | 
      EXPR '+' EXPR |
      EXPR '-' EXPR

CONDEXPR: EXPR '>' EXPR |
	  EXPR '<' EXPR

LBLSTMT: LABEL |  
%%
#include "Lex.yy.c"

	int yyerror(char *s)
	{
	   
	   printf("%s\n",s); return;
	 }

int main()
{
   FILE * fp;
   fp = fopen("test.ic", "r");
   if (NULL != fp)
   {
	yyin = fp;     
   }
   else
   {
	yyin = stdin;
   }

   yyparse();
   return 0;
}

⌨️ 快捷键说明

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