📄 ic.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 + -