First/Follow/Firstvt/Lastvt集合
First/Follow/Firstvt/Lastvt 集合
设文法 G
G=(VT,VN,S,P)VN为非空有限的终结符号集VT为非空有限的终结符号集S为文法的开始符号或识别符号,代表语言最终要得到的语法范畴P为产生式规则G = (V_T,V_N,S,P) \\
V_N为非空有限的终结符号集 \\
V_T为非空有限的终结符号集 \\
S为文法的开始符号或识别符号,代表语言最终要得到的语法范畴 \\
P为产生式规则 \\
G=(VT,VN,S,P)VN为非空有限的终结符号集VT为非空有限的终结符号集S为文法的开始符号或识别符号,代表语言最终要得到的语法范畴P为产生式规则
2 型文法(上下文无关文法)
设文法 G,对 P 中的每个产生式限制形如
A→αA \to \alpha
A→α
其中,A∈VN,α∈(VT∪VN)∗A \in V_N, \alpha \in (V_T \cup V_N)^*A∈VN,α∈(VT∪VN)∗则称文法 G 为 2 型文法。
First 集合
设 G 为上下文无关文法,则
FIRST(A)={α∣A⇒α...,α∈VT}FIRST(A) = ...
MyBatis的基本使用
MyBatis的基本使用情况的一次记录
添加依赖
Maven 中添加如下依赖
123456789101112131415<dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!-- PostgreSQL数据库驱动 --> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.24</ve ...
第十二届蓝桥杯C-C++-B组省赛-第一场-试题C-直线求解
第十二届蓝桥杯C-C+±B组省赛-第一场-试题C-直线求解
首先定义表示一个顶点的结构体
1234567891011struct Point { int x, y; Point(int x, int y) : x(x), y(y) { } //向量减法 Point operator-(Point &point) const { return {x - point.x, y - point.y}; }};
根据两点确定一条直线,我们可以写一个表示直线的类,使用直线的一般式Ax+By+C=0,表示任意的一条直线,其中数据成员有A,B,C三个系数,为了数据精度以及便于判断相等,尽量避免使用浮点数运算。
那么,已知两个整数坐标表示的点P1(x1,y1),P2(x2,y2)P_1(x_1,y_1),P_2(x_2,y_2)P1(x1,y1),P2(x2,y2)我们可通过两点式按如下数学推导,计算出直线方程。
根据两点式
\begin{equati ...