Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

词法/语法分析器 接口标准讨论 #2

Closed
bjutfgxqzn opened this issue May 8, 2019 · 11 comments
Closed

词法/语法分析器 接口标准讨论 #2

bjutfgxqzn opened this issue May 8, 2019 · 11 comments
Assignees
Labels
Discuss 组内讨论 Doing 描述正在进行的工作

Comments

@bjutfgxqzn
Copy link
Collaborator

2 词法分析器 返回单词种别(整数表示)

3 词法分析器 返回单词属性(不同属性对应不同全局变量) @hanliutong @WDDcat @Jakob1357

@bjutfgxqzn bjutfgxqzn added the Doing 描述正在进行的工作 label May 8, 2019
@bjutfgxqzn bjutfgxqzn self-assigned this May 8, 2019
@hanliutong
Copy link
Owner

返回值INT

表示种别:需要定义各个种别的整型值
int scan(char* input)

全部变量

表示单词属性:需要定义全局变量存储单词属性

例子

种别 属性
INT10 0
INT10 92
+ _
IDN data
> _
INT16 63
INT8 0
WHILE _

@hanliutong hanliutong added the Discuss 组内讨论 label May 8, 2019
@bjutfgxqzn
Copy link
Collaborator Author

徐老师关于此问题的回复:在实验题目的测试数据示例中,运算符(+,>),关键词(while)都没有属性(属性为无)。这样定义是可以的,但更鼓励进行实验时由后续语法分析的需要来重新定义单词种别及属性。

@hanliutong
Copy link
Owner

@Jakob1357 语法分析中对词法分析器的种别和属性的需求大概是?

@Jakob1357
Copy link
Collaborator

@hanliutong 目前来看,我觉得需要的属性有三类数字,返回的是三种int型的值;标识符,返回一个类。感觉关键字和+,-这样的关键字和运算符暂时可以无属性。如果行不通可以再讨论。

@bjutfgxqzn
Copy link
Collaborator Author

@Jakob1357 标识符返回的是它本身吗?比如说上面韩柳彤发的例子中输入数据"data"的属性就为data。

@Jakob1357
Copy link
Collaborator

@bjutfgxqzn 你是说返回的是个字符串吗?

@bjutfgxqzn
Copy link
Collaborator Author

@Jakob1357 是的

@WDDcat
Copy link
Collaborator

WDDcat commented May 9, 2019

我在想有没有必要以宏定义的形式把接口返回的种别单独定义在一个头文件里 @bjutfgxqzn @hanliutong

@hanliutong
Copy link
Owner

类似于#define INT10 10?我感觉好像确实会优雅一点 @WDDcat

@WDDcat
Copy link
Collaborator

WDDcat commented May 9, 2019

对对对,这样代码可读性也强一些 @hanliutong

@hanliutong
Copy link
Owner

int NUM = 0; INT8 INT10 INT16属性的全局变量

string IDN_NAME; 标识符属性的全局变量

宏定义

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discuss 组内讨论 Doing 描述正在进行的工作
Projects
None yet
Development

No branches or pull requests

4 participants