java - 词法语法和句法语法有什么区别?

标签 java grammar context-free-grammar lexical

我正在阅读 Java 语言规范 8。

我正在努力理解第 2 章的语法。

这是我已经学到的:

  1. 语义:
    语义学是对意义的研究。

  2. 含义:
    在语义学中,意义被定义为外延:词/短语所指的世界中的事物,加上意图:词/短语唤起的概念/心理意象。

  3. 语法:
    句法是关于句子的结构,以及决定哪些单词出现在何处的因素。

  4. 制作:
    计算机科学中的产生式或产生式规则是一种重写规则,指定可以递归执行以生成新符号序列的符号替换。

  5. 字母表:
    当一个非空集在字符串操作中的预期用途应被指明时,它被称为字母表。

  6. 词位:
    词位是构成句法单元的字符串。

  7. 句法单位:
    句子是“最高”(即最大)的句法单位,
    最低(即最小)的句法单位是单词,
    中间句法单元是短语。

  8. token :
    标记是表示词素的结构,它明确指示其分类以便进行解析。

  9. 语法:
    文法(当未给出上下文时,为清楚起见通常称为形式文法)是形式语言中字符串的一组产生式规则。 这些规则描述了如何根据语言的语法从语言的字母表中形成有效的字符串。 形式语法是一组重写字符串的规则,以及重写开始的“开始符号”。

  10. 词汇语法:
    词法文法是定义标记句法的形式文法。

我找不到句法语法是什么。

最佳答案

“语法”的更广泛的定义是在给定语言中形成正确文档的所有有序符号组合的集合。因此,“句法语法”可以概括地描述为语言语法的一部分,它描述了如何对各种标记进行排序,以形成有意义的短语。

当然,这与您提供的“词法语法”定义有关,所以请允许我强调主要区别——词法语法描述了词典的结构,即每个标记 (词)在语言中使用。句法语法描述了短语和文档是如何从这些标记中形成的。

关于java - 词法语法和句法语法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30284394/

相关文章:

parsing - 消除 E := EE+|EE-|id 的左递归

python - 简约 - 规则 'rules' 完全匹配,但它没有消耗所有文本

java - 二分查找查找数组中 K 个最接近的元素

java - 如何在 JTable 中编辑行

java - 是什么原因导致 OpenSplice 中出现此 Java 错误?

grammar - 来自 GATE 教程网站的简单 JAPE 语法不起作用

java - Tablelayout 或自定义 listView 布局

kotlin - 分号推理的规则是什么?

java - Antlr:对尚未解析的数据的引用

java - 在 Java 中验证给定上下文无关语法的字符串