# DleX **Repository Path**: juliusstein/dle-x ## Basic Information - **Project Name**: DleX - **Description**: 编译原理作业-词法分析器 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-04-03 - **Last Updated**: 2023-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 编译原理实验一 ## 输入输出 **输入:** 命令行调用”DleX.exe [要分析的文件]“ **输出:** 输出为两个文件,名为”**data_out.txt**“输出分析元组,"**error_log.txt**"输出未能分析的字符。 # 编译原理实验二 ## 输入输出 **输入:** 命令行调用“Dlex_contextreader.exe [文法文件]” **输出:** 文件“ll1.txt”记录文法对应的ll(1)文法,控制台输出分析结果和字符串匹配结果 ## 值得注意的地方 - 必须把文法中出现的非终结符输入在文件第一行,并且以空格为分隔,换行为结束。 - 必须把文法中出现的终结符输入在文件第二行,并且以空格为分隔,换行为结束,且空字不算在内 - 文法中空字由符号“@”代替 - 文法允许同一个非终结符的产生式间使用“|”进行分隔,同时也支持把它们拆开写 - 文件的一行内只支持一个非终结符和它对应的产生式 - 文法中不能出现空格和换行符 - 程序规定必须把待分析的字符串写在同文件夹下名为“data_out1.txt”的文本文件中,且字符串只占一行,程序不支持待分析字符串中包括“\n”的情况。 - 程序输出是UTF-8,控制台默认GBK出现乱码请先用“chcp 65001"调编码 - 有些文法会导致FOLLOW集计算死循环,祝你好运