- 博客(7)
- 收藏
- 关注
原创 SICP习题笔记(第一章)
前面九题是熟悉用于熟悉scheme,不做记录 第十题Ackermann函数的展开形式,在数学课本中有介绍 1.11 1 (define (f n) 2 (cond ((< n 3) n)
2017-04-30 18:33:33
361
原创 用YACC构造简单语法分析器
课堂实验题要求 通过YACC构造能够识别台式计算器表达式的文法的语法分析程序 文法: E–>E+T|E-T|T T–>T*F|F F–>(E)|DIGIT分析 YACC的工作流程是: 1.L语言的YACC源程序trans.y 通过YACC编译器生成trans_tab.c 2.trans_tab.c通过C语言编译器生成trans_tab.exe trans_tab.ex
2015-12-02 21:23:04
5766
1
原创 大整数的四则运算
大整数的四则运算经常用到,有必要专门写一个数据结构当以后用到的时候可以直接使用,原理就是四则运算的笔算,但是写起来细节还是挺多的,虽然并不是很完善,但是一般用来应该足够了#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define MAXN 1000using namespace std;cha
2015-11-20 21:46:22
752
原创 汉诺塔(梵塔)问题
汉诺塔(梵塔)问题几乎是所有的初学编程的人遇到的问题,这个问题很好的运用了递归的特性,将原来看起来不好解决的问题变得异常简单,而且很容易理解。问题所有的人都知道就不描述了,代码很简单且有注释就不解释了#include<iostream>using namespace std;int cnt=1; //step计数void hanoi(int n,char A,char B,char C);
2015-11-20 21:39:01
2756
原创 已有预测分析表时的语法分析
这篇是编译原理的课堂作业实验题题目要求 为给定文法写预测分析程序,预测分析表已知(虽然求取预测分析表更重要,但是老师要求是给定预测分析表的情况下写预测分析程序),文法如下: E–>TE’ E’–> +TE’|ε T–>FT’ T’–> *FT’|ε F–>(E) | i 预测分析表(太难打了): 表格 i +
2015-11-19 19:36:46
3232
3
原创 LEX自动生成词法分析器
词法分析器作为编译器的一个重要组成部分,原理很简单,代码也都没什么技术含量,但是如果让你手工写一个词法分析器,哪怕是一个简单的词法分析器,工作量无疑是巨大的。现代的词法分析器一般都是依靠工具自动生成,这里我们选用flex生成词法分析器,下面是用到的flex的下载地址。windows的环境的话,lex.exe文件使我们所需要的工具。里面的帮助文档将教会你如何使用flex。学习编译原理并非一定要做一个完
2015-11-08 23:34:48
15861
1
原创 A*算法解决八数码(九宫重排)问题
问题描述 八数码-九宫重排问题作为一个经典的问题被大家所熟知,该问题是求解如何从开始的一个状态(布局)到达目标状态所需步数最少的问题。百度百科详情问题分析 将每一个状态作为一个结点容易想到可以用广搜的方法解决,这种方法简单,但是就算是加入哈希判重也会搜索很多的无用结点。 我们打算用A*算法解决这个问题,既然确定了用A*算法,那么我们首先应该确定估价函数h(x),估价函数的选取直接决定A*算法
2015-11-07 21:14:49
7512
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人