complier-Learning-语法制导的语义计算

语法制导的语义计算无法通过本章的引言建立基础概念。仅知本章介绍两种重要的语义计算模型:属性文法和翻译模式。属性文法是一种基本的语义计算模型,适用于对一般原理的理解。翻译模式是面向实现的语义计算模型,有助于理解语法制导的语义计算程序的自动构造方法。 基于属性文法的语义计算属性文法的基本概念在文法G[S]的基础上,为文法符号关联有特定意义的属性,并为产生式关联相...

Read More

complier-Learning-自底向上语法分析

LR分析自底向上分析方法是一种移进-规约过程:当分析的栈顶符号串形成句柄(可规约串)时采取规约动作。LR分析法就是一种一种能根据当前分析栈中的符号串和向右顺序查看输入串的k个符号即可唯一确定分析器的动作是移进还是规约和用哪个产生式规约。值得注意的是:LR分析是规范规约过程(最左规约),即规范推导过程(最右推导)的逆过程。通过一个案例来考察这一点:产生式:$S...

Read More

GAME_OpenGL_Project_1

12#include <glad/glad.h>#include <GLFW/glfw3.h> 请务必在 GLFW 之前包含 GLAD。GLAD 的包含文件在后台包含所需的 OpenGL 头文件(如GL/gl.h),因此请务必在需要 OpenGL 的其他头文件(如 GLFW)之前包含 GLAD。 12345678910111...

Read More

GAME_OpenGL_Project_2

123456789101112131415161718192021222324#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>void framebuffer_size_callback(GLFWwindow* window, int widt...

Read More

文法和语言

引子一个程序设计语言是一个记号系统,它的完整定义应包括语法和语义两个方面。一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序。目前广泛使用的手段是上下文无关文法。语法只是定义什么样的符号序列是合法的,与这些符号的含义毫无关系。判定语言是否符合逻辑,是属于语义分析的工作。程序设计语言的语义分为两类:静态语义和动态语义。静态语义是一系列限定规则,并确定...

Read More

自顶向下语法分析

引子语法分析的作用是识别由词法分析给出的单词符号串是否是给定文法的正确句子。语法分析常用方法可分为自顶向下分析和自底向上分析两大类。语法分析可以通过确定分析或者不确定分析来实现,但在实际的编译器构造中,几乎都是采用确定分析方法。本篇主要介绍自顶向下的确定性分析。 自定向下语法分析方法FIRST集的引入 在自顶向下分析过程中,如果两个产生式有相同的左部,但它们...

Read More

GAME_OpenGL_Learn_1

OpebGL开发-01一、前置需求C++数学基础-线性代数、几何学 二、入门1、基础概念 OpenGLOpenGL主要地被视为API(application programming interface)。然而,OpenGL 本身又并不是一个 API,而仅仅是一个规范,由Khronos Group开发和维护。OpenGL 规范准确地指定了每个函数的结果...

Read More

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask...

Read More