- 博客(18)
- 收藏
- 关注
原创 LLVM官方文档阅读(三)TableGen Language Reference
本文为LLVM官方的一篇TableGen参考文章TableGen Language Reference的翻译和阅读笔记,在官方文档的基础上补充一些更便于理解的内容,如有出入,一切以官方文档为主。如果没有了解过TableGen,可以先看我的上一篇文章LLVM官方文档阅读(二)-TableGen_Language_Introduction文章目录一、介绍二、符号三、词法分析四、语法4.1 classes4.2 Declarations4.3 Types4.4 Values4.5 Bodies4.6 .
2021-12-20 17:34:13
1329
原创 LLVM官方文档阅读(二)-TableGen_Language_Introduction
文章目录前言TableGen介绍二、使用步骤1.引入库2.读入数据参考链接前言“组合和匹配”的方案允许目标作者选择对其架构有意义的内容,并允许跨不同目标进行大量代码重用。这带来了另一个挑战:每个共享组件都需要能够以通用方式推理目标特定属性。例如,共享寄存器分配器需要知道每个目标的寄存器文件以及指令与其寄存器操作数之间存在.
2021-12-19 17:56:55
1240
翻译 LLVM官方文档阅读(一)LLVM介绍
文章目录前言一、经典编译器设计简介1.1 本设计的意义二、 现有的语言实现三、LLVM的代码表示:LLVM IR3.1 编写LLVM IR优化四、LLVM对三阶段设计的实现4.1 LLVM IR 是一个完整的代码表示4.2 LLVM是一个库集合五、可重定向LLVM代码生成器的设计5.1 LLVM目标描述文件六、模块化设计提供的有趣功能6.1 选择每个阶段运行的时间和地点6.2 单元测试优化器6.3 使用BugPoint减少测试用例七、回顾和未来方向参考链接前言本文为官网文档http://www.aosa
2021-12-17 21:22:15
3444
1
原创 字符串匹配【北航机试题】KMP
题目描述读入数据string[ ],然后读入一个短字符串。要求查找string[ ]中和短字符串的所有匹配,输出行号、匹配字符串。匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配。如“aa[123]bb”,就是说aa1bb、aa2bb、aa3bb都算匹配。输入描述输入有多组数据。每组数据第一行输入n(1<=n<=1000),从第二行开始输入n个字符串(不含空格),接下来输入一个匹配字符串。输出描述输出匹配到的字符串的行号和该字符串(匹配时不区分大小写)。示例1输入4A
2021-09-06 17:12:39
270
1
原创 蓝桥杯 A组 格子中输出 2015 C++组
格子中输出 蓝桥杯2015 t4 C++组StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include <stdio.h>#include <string.h>void StringInGrid(int width, int height, const char* s){ int
2020-09-27 19:58:04
152
原创 非递归二叉树的中序遍历 ---计蒜客ACM题库
给定一个层数小于等于10的二叉树,输出对其中序遍历的节点名序列。输入包括一行,为由空格分隔开的各节点,按照二叉树的分层遍历顺序给出,每个节点形式如X(Y,num),X表示该节点,Y表示父节点,num为0,1,2中的一个,0 表示根节点,1表示为父节点的左子节点,2表示为父节点的右子节点。输出为一行,为中序遍历的结果。样例输入A(0,0) B(A,1) C(A,2) D(B,1) E(B,2) F(C,1) G(D,1) H(D,2)样例输出G D H B E A F C题记:自己写的递归法
2020-07-24 16:16:47
406
转载 蓝桥杯 基础练习 2n皇后问题 C++
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1...
2020-07-23 15:09:19
402
原创 蓝桥杯 基础练习 芯片测试 C++
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行...
2020-04-28 18:04:21
267
原创 蓝桥杯 基础练习 龟兔赛跑预测 C++(模拟)
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米...
2020-04-28 17:27:37
466
原创 蓝桥杯 基础练习 回形取数 C++
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要...
2020-04-28 16:38:22
561
原创 蓝桥杯 基础练习 报时助手 C++ (map)
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用...
2020-04-28 16:00:14
310
原创 蓝桥杯 基础练习 Huffuman树 C++(优先队列)
题目来源 蓝桥杯官方测试题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{...
2020-04-27 15:25:04
289
原创 蓝桥杯 基础练习 高精度加法 C++
题目来源 蓝桥杯官方测试题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 ...
2020-04-27 14:53:52
243
原创 蓝桥杯 基础练习 阶乘计算C++
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 输入一个正整数n,输出n!的值。 其中n!=123*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首...
2020-04-27 12:13:58
385
1
原创 蓝桥杯 入门训练 序列求和 C++
问题来源 蓝桥杯官网测试题资源限制时间限制:1.0s 内存限制:256.0MB问题描述求1+2+3+…+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+…+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据...
2020-04-27 11:17:18
280
原创 蓝桥杯 入门训练 圆的面积 C++
资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。样例输入4样例输出50.2654825数据规模与约定1 <= r <= 10000。提示本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来...
2020-04-27 11:01:49
200
原创 蓝桥杯 入门训练 Fibonacci数列问题 C++
问题来源:蓝桥杯官方测试题资源限制时间限制:1.0s 内存限制:256.0MB问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。样例输入10样例输出55样...
2020-04-27 10:14:53
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人