广工编译原理学习必备

需积分: 9 6 下载量 188 浏览量 更新于2024-07-26 收藏 505KB DOC 举报
“广工编译原理复习资料,包含了编译原理的重要概念和术语,适合备考使用。” 在计算机科学领域,编译原理是研究编程语言如何转换成计算机可执行代码的学科。以下是一些核心知识点的详细说明: 1. **字母表(Alphabet)**:在编译原理中,字母表是指一组基本符号的集合,这些符号用于构建程序或语言的语法。 2. **符号(Symbol)**:符号是构成语言的基本单元,可以是单个字符或字符串。 3. **串(String)**:由一个或多个符号组成的序列,是程序的基本结构。 4. **长度(Length)**:一个符号或串的字符数量。 5. **连接(Catenation)**:将两个或多个串合并成一个新的串。 6. **方幂(Power)**:在数学运算中,指一个数自乘的次数,在编译原理中可能涉及计算表达式的值。 7. **集合(Gather)**:一组具有共同特性的元素的组合。 8. **乘积(Product)**:在编译器设计中,可能指不同符号或语言结构的组合。 9. **空集(Empty Set)**:不包含任何元素的集合,表示没有匹配的语法结构。 10. **闭包(Closure)**:在正则表达式或自动机理论中,表示所有可能的扩展串。 11. **程序(Program)**:一组指令,用于告诉计算机执行特定任务。 12. **逻辑结构(Logic Structure)**:程序中的逻辑组成部分,如循环、条件语句等。 13. **机器语言(Machine Language)**:计算机能直接理解的二进制指令。 14. **指令(Instruction)**:机器语言中的基本操作命令。 15. **函数(Function)**:程序中的可重用代码块,执行特定功能。 16. **汇编程序(Assembler)**:将高级语言转换为机器语言的程序。 17. **解释程序(Interpreter)**:直接执行源代码的程序,无需先生成目标代码。 18. **翻译程序(Translator)**:将一种语言转换为另一种语言的工具。 19. **源语言(Source Language)**:程序员编写程序的语言。 20. **有穷的(Finite)**:在编译原理中,通常用于描述有限状态自动机,即只有有限数量的状态。 21. **源程序(Source Program)**:用源语言编写的原始程序。 22. **目标语言(Target Language)**:编译后的程序所用的语言,通常是机器语言。 23. **属性(Attribute)**:在语法分析中,与语法元素相关的附加信息。 24. **占有(Possess)**:在编译过程中,指一个元素具有或关联特定的属性。 25. **预处理(Preprocess)**:在编译前对源代码进行的处理,如宏替换。 26. **编译程序(Compiler)**:将源代码转换为目标代码的软件。 27. **中断(Break)**:在程序执行中,用于停止当前流程的控制结构。 28. **中间语言(Intermediate Language)**:编译过程中产生的临时代码,便于进一步处理。 29. **定义(Definition)**:在编译原理中,指的是语法结构的规范说明。 30. **重构(Reconstructed)**:在编译过程中,对源代码进行的结构修改。 31. **正规(Regular)**:在正则表达式中,表示可以用有限状态自动机识别的语言。 32. **字符序列(Symbol Sequences)**:在词法分析阶段,识别出的符合语法规则的字符组合。 33. **程序设计语言(Programming Language)**:用于编写计算机程序的语言。 34. **操作数(Operand)**:在表达式中参与运算的对象。 35. **内存(Memory)**:计算机存储数据和指令的地方。 36. **元素(Element)**:构成程序设计语言的基本单位。 37. **高级语言(High-Level Language)**:人类可读性更强的编程语言。 38. **目标程序(Object Program)**:经过编译后的、准备被链接和执行的程序。 39. **地址(Address)**:内存中存储位置的标识。 40. **输入(Input)**:提供给程序的数据。 41. **输出(Output)**:程序处理后的结果。 42. **终结符(Terminal)**:文法中的基本符号,对应于词法分析的标记。 43. **递归(Recursion)**:函数或过程调用自身的技术。 44. **确定性(Deterministic)**:在编译器设计中,指解析过程的确定性,即对于相同的输入,总能得到相同的结果。 45. **非确定性(Nondeterministic)**:相反,非确定性解析允许有多种可能的解析路径。 46. **Backus-Normal Form (BNF)**:一种描述形式文法的表示方法,用于定义编程语言的语法。 47. **语法(Syntax)**:编程语言中,关于如何正确构造程序的规则。 48. **树(Tree)**:在语法分析中,用于表示程序结构的图形表示。 49. **表达式(Expression)**:在程序中,代表计算的结构。 50. **文法(Grammar)**:一套定义语言结构的规则。 51. **自动机(Automaton)**:用于识别或生成语言的数学模型。 52. **前缀(Prefix)**、**后缀(Suffix)**和**中缀(Infix)**:表示运算符的三种方式,分别在操作数前、后和中间。 53. **识别(Identify)**:在词法分析中,识别输入流中的符号或关键字。 54. **标识符(Identifier)**:程序中用来命名变量、函数等的符号。 55. **分析(Analyses)**:编译过程中的各种检查和转换,如词法分析、语法分析和语义分析。 56. **化简(Predigest)**:简化复杂的语言结构,使其更易于处理。 57. **符号集(Symbol Set)**:在词法分析中,所有可能的输入符号的集合。 58. **执行(Performed)**:在编译器中,指对特定任务的处理。 59. **预测(Prediction)**:在预测解析中,预测下一个输入符号的能力。 60. **状态(State)**:在自动机中,表示当前解析过程的位置。 61. **产生式(Production)**:在上下文无关文法中,定义非终结符如何转化为终结符的规则。 62. **转换(Conversion)**:在编译过程中,源代码到中间代码或目标代码的转换。 63. **优先级(Precedence)**:运算符的优先级,决定哪个运算先进行。 64. **简单(Simple)**:在编译原理中,可能指简单的语法结构或无复杂性的特性。 65. **句柄(Handle)**:在编译器中,用于引用或管理特定对象的标识。 66. **终态(Terminal State)**:在有限状态自动机中,接收输入序列并结束的特殊状态。 67. **初态(First State)**:自动机开始运行时的状态。 68. **优化程序(Optimizer)**:在编译器中,用于改进目标代码性能的部分。 69. **连接(Concatenation)**:在字符串处理中,连接两个或更多字符串。 70. **单词(Word)**:在词法分析中,通常指一个完整的、有意义的词法单元。 71. **字母表(Alphabet)**:在语言理论中,字符的集合。 72. **词法(Lexical)**:与词法分析相关的,关注如何将输入分解为词法单元。 73. **扫描器(Scanner)**:也称为词法分析器,负责识别输入中的词法单元。 以上知识点构成了编译原理的基础框架,理解和掌握这些概念对于学习和实践编译技术至关重要。