直接输入根据己知文法构造的LR(0)分析表,对于输入的文法和符号串,所编制的语法分析程序应能正确判断此串是否为文法的句子,并要求输出分析过程。
#include
using namespace std;
const string ERROR="出错,该句子不被当前文法识别!";
const int MAX=100;
int gone=0; //步骤
int state[MAX]; //状态栈
int statetop=-1; //状态栈指针
char sign[MAX]; //符号栈
int signtop=-1; //符号栈指针
string s; //输入串
queue sq; //存放输入串的队列
string ACTION[MAX][MAX]; //ACTION表
int GOTO[MAX][MAX]; //GOTO表
int sta; //状态数
int vt; //终结符数
int vn; //非终结符数
char c; //暂存字符变量
map mpvt; //映射ACTION表中终结符的列号
map::iterator vtit; //遍历vt列号的迭代器
map mpvn; //映射GOTO表中非终结符的列号
map::iterator vnit; //遍历vn列号的迭代器
int ms_num; //产生式数
string ms_str; //暂存产生式
map ms; //保存产生式
map::iterator msit; //访问产生式映射
int Action; //保存从 Si中解析出的要移进的状态
int whichms; //保存从 ri中解析出的产生式编号
int Goto; //保存从 GOTO表中读取的要转向的状态
string thems; //保存当前次归约使用的产生式
int FindSr(string s); //将 Si/ri中对应的状态/产生式编号解析出来
void inputx(); //输入函数
void outputx(); //输出函数
void terror(); //出错处理
void anysit(); //总控程序
int main(){
inputx();
anysit();
return 0;
}
int FindSr(string s){
int num=0;
int k;
int L=s.length();
for(int i=1;i>ms_num;
cout<<"输入文法的产生式:"<>ms_str;
ms[i]=ms_str;
}
cout<<"输入状态数:";
cin>>sta;
cout<<"输入终结符数:";
cin>>vt;
cout<<"依次输入终结符:";
for(int i=0;i>c;
mpvt[c]=i;
}
cout<<"输入ACTION表(以 <> 表示空):"<>ACTION[i][j];
}
}
cout<<"输入非终结符数:";
cin>>vn;
cout<<"依次输入非终结符:";
for(int i=0;i>c;
mpvn[c]=i;
}
cout<<"输入GOTO表(以 -1 表示空):"<>GOTO[i][j];
}
}
cout<<"输入要进行LR(0)分析的句子:";
cin>>s;
for(int i=0;ifirst==cc){
y=vtit->second;
break;
}
}
now=ACTION[x][y];
if(now=="<>"){
terror();
cout<<"(ACTION表出错)"<first==p){
thems=msit->second;
break;
}
}
for(int k=thems.length()-1;k>2;k--){
if(sign[signtop]==thems[k]){
signtop--;
statetop--;
}
}
sign[++signtop]=thems[0];
x=state[statetop];
cc=sign[signtop];
for(vnit=mpvn.begin();vnit!=mpvn.end();vnit++){
if(vnit->first==cc){
y=vnit->second;
break;
}
}
Goto=GOTO[x][y];
if(Goto==-1){
terror();
cout<<"(GOTO表出错)"<
输入:
输出:
希望能帮到你哦。
看完点波关注哦~
你可能感兴趣的:(编译原理实验)
- 【编译原理】一篇就够了——学习笔记与课程实验超详细整理
一棵___大树
编译原理学习笔记学习算法
⭐⭐⭐⭐⭐⭐Github主页https://github.com/A-BigTree更多学习笔记链接https://github.com/A-BigTree/college_assignment编译原理实验https://github.com/A-BigTree/college_assignment/compiler_Experiment如果可以,麻烦各位看官顺手点个star~如果文章对你有所帮助
- 编译原理实验1——词法分析(python实现)
在半岛铁盒里
编译原理python编译原理
文章目录实验目的实现定义单词对应的种别码定义输出形式:三元式python代码实现运行结果检错处理总结实验目的输入一个C语言代码串,输出单词流,识别对象包含关键字、标识符、整型浮点型字符串型常数、科学计数法、操作符和标点、注释等等。实现定义单词对应的种别码自行定义相关单词的种别码定义输出形式:三元式#三元式classThreeFml:#三元式def__init__(self,syn,inPoint,
- 编译原理实验2——自上而下语法分析LL1(包含去消除左递归、消除回溯)
在半岛铁盒里
编译原理python编译原理LL1分析
文章目录实验目的实现流程代码运行结果测试1(含公共因子)测试2(经典的i+i*i文法,且含左递归)测试3(识别部分标识符)总结实验目的实现自上而下分析的LL1语法分析器,给出分析过程实现流程代码代码逻辑1.预处理去除多余空格:如“S->aB”,处理成“S->aB”拆解候选式:对于某一产生式,若有多个候选式,根据|符号拆解为多个产生式。获取开始符号:默认输入的第一个非终结符为开始符消除左递归和回溯(
- 编译原理实验3——自下而上的SLR1语法分析实现(包含画DFA转换图、建表、查表)
在半岛铁盒里
编译原理python编译原理SLR1
文章目录实验目的实现流程定义DFA状态实现代码运行结果测试1测试2测试3总结实验目的实现自下而上的SLR1语法分析,画出DFA图实现流程定义DFA状态classDFA:def__init__(self,id_,item_,next_ids_):self.id_=id_#编号self.item_=item_#productionsself.next_ids_=next_ids_#{v1:id1,v2
- 编译原理实验三 自下而上语法分析
up up up!
编译原理c++编译器
一、实验目的(1)根据PL/0语言的文法规范,要求编写PL/0语言的语法分析程序。(2)通过设计、编制、调试一个典型的自下而上语法分析程序,实现对语法分析程序所提供的单词序列进行语法检查和结构分析,进一步掌握常用的语法分析方法。(3)选择最有代表性的语法分析方法,算符优先分析法、LR分析法;或者调研语法分析器的自动生成工具YACC的功能与工作原理,使用YACC生成一个自底向上的语法分析器。二、实验
- 编译原理实验1——词法分析程序设计原理与实现
dor.yang
课程作业记录博客正则表达式编辑器词法分析
1.理论传授源程序输入与词法分析程序输出的基本方法;正则文法及其状态转换图的基本概念,正则表达式及有限自动机的基本概念;正规文法构造相应的状态转换图的基本方法;正则表达式构造有限自动机的基本方法及不确定有限自动机确定化的基本方法;词法分析程序的设计与编写。2.目标任务给出补充后描述C语言子集单词符号的正则文法,设计并实现其词法分析程序。[设计说明](1)可将该语言设计成大小写不敏感,也可设计成大小
- 编译原理实验(自上而下的语法分析)
霍格沃茨研究生
Java编译原理编译原理实验Java自上而下的语法分析
自上而下的语法分析(Java描述)【问题描述】依据给定的LL(1)文法,识别输入符号串是否是文法的合法句子。【基本要求】1、输入LL(1)文法、待识别的符号串。2、实现由LL(1)文法构造First集和Follow集的算法。3、根据First集和Follow集构造相应的预测分析表。4、实现预测分析技术的总控程序。5、输出识别过程(推导或语法树)及结论。【测试用例】∙\bullet∙文法G[S]产生
- 编译原理实验一(上下文无关文法的表示与存储)
霍格沃茨研究生
编译原理编译原理实验Java上下文无关文法
上下文无关文法的表示与存储(Java描述)【问题描述】把输入的文法存储在计算机内。【基本要求】1、输入上下文无关文法的一组产生式。2、将文法按顺序或链式结构存储在计算机内。3、输出文法的四要素:终极符集合、非终极符集合、规则式集合和开始符。4、开始符在输入时指明,否则将所输入第一条规则式的左部符号视为开始符。【数据结构】1、构建文法类文法四要素:{终极符集合、非终极符集合、规则式集合和开始符}pu
- 编译原理实验(化简DFA算法)
霍格沃茨研究生
编译原理编译原理Java实验DFA化简
DFA的化简(Java描述)【问题描述】实现把DFA最小化的算法【基本要求】1、输入一个DFA,注意:状态转换矩阵的表示是关键。2、化简该DFA。3、输出化简后的DFA的五元组。【数据结构】1、如何表示DFA?DFA的五元组表示为:{状态集合、字母表、状态转换矩阵、开始状态和终止状态集合}。状态集合、字母表和终止状态集合均可以使用字符数组进行存储。开始状态可以使用字符存储也可以存储初态在状态集合(
- HNU-编译原理-实验1-利用FLEX构造C-Minus-f词法分析器
甘晴void
#【3.1】编译原理c语言java数据库
编译原理实验1利用FLEX构造C-Minus-f词法分析器计科210X甘晴void202108010XXX实验要求详细的实验项目文档为https://gitee.com/coderwym/cminus_compiler-2023-fall/tree/master/Documentations/lab1学习和掌握词法分析程序的逻辑原理与构造方法。通过FLEX进行实践,构造C-Minus-f词法分析器
- HNU-编译原理-实验4-cminus-f语言(由AST生成IR)
甘晴void
#【3.1】编译原理php开发语言编译原理
编译原理实验4cminus-f语言(由AST生成IR)计科210X甘晴void202108010XXX(图片来源于网络,侵删)实验要求cminus-f编译器做的事情主要如下:词法分析(Lab1完成)语法分析(Lab2完成)生成语法分析树(Lab2完成)语法分析树->抽象语法树(即AST)【Lab4框架提供】抽象语法树->中间代码(即IR)【★Lab4需要完成★】中间代码->(优化)->目标代码【使
- HNU-编译原理-实验3-LLVM IR与LightIR
甘晴void
#【3.1】编译原理编译原理
编译原理实验3LLVMIR与LightIR计科210X甘晴void202108010XXX【回答三个问题;实验难点与实验反馈在报告最后】实验要求详细的实验项目文档为https://gitee.com/coderwym/cminus_compiler-2023-fall/tree/master/Documentations/lab3简单陈述如下:了解LLVMIR。通过clang生成的.ll,了解LL
- 编译原理实验-LR语法分析
实名吃香菜
编译技术c语言
具体代码已放至Github(仅供参考):qxpBlog/Compiler_UESTC:电子科技大学编译原理实验(github.com)具体实验过程如下:一、实验内容及步骤:1.实验内容:(1)学习所提供的“表达式文法”的LR分析处理理解calc1.l,calc1.y,calc2.l,calc2.y的内容在VSCode中建立工程,对calc3.l,calc3.y调试运行(2)学习lrgram.txt
- 编译原理实验1--词法分析器的设计
随机森林不是森林
本科课程设计与各类作业汇总数据分析
前言编译原理是计算机类专业特别是计算机软件专业的一门重要专业课。设置该课程的目的在于系统地向学生讲述程序设计语言编译程序构造的一般原理、基本设计方法、主要实现技术方法,让学生系统、有效地了解编译程序,以及整个编译程序的构造过程,使学生通过学习既掌握编译理论和方法方面的基本知识,也具有设计、实现、分析和维护编译程序等方面的初步能力。并能将编译程序中的概念和技术应用于一般的软件设计之中。本实验指导书是
- 编译原理实验——词法分析程序
若鱼不是鱼
编译原理实验c++
编译原理实验——词法分析程序1、程序功能介绍此程序主要功能是将字符串类型的源码转换为****这样的二元组,以便后续的编译步骤能够更轻松地理解和处理源代码的结构和语法。输入:输出:2、主要数据结构1、使用string对象存放保留字并使用数组存放对应的id值vectorreserve={"void","int","float","double","if","else","for","do","whil
- 编译原理实验一 《词法分析程序设计与实现》
csu_cangkui
编译原理c++编译器dfa
编译原理实验一《词法分析程序设计与实现》一、实验目的加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。二、实验内容自定义一种程序设计语言,或者选择已有的一种高级语言,编制它的词法分析程序。词法分析程序的实现可以采用任何一种编程语言和编程工具。从输入的源程序中,识别出各个具有独立意义的单词,即
- 使用flex环境的编译原理实验_词法分析器
7frog7
oddsandendsflex词法分析编译原理
要做出来一个词法分析器分析的规则有祖传代码可用(操作环境用linux因为linux做这些方便一些/**/%{#include"stdio.h"#include"stdlib.h"%}INT_DEX[1-9][0-9]*|[0]INT_HEX[0][Xx]([1-9][0-9]*|[0])INT_OCT[0][0-7]FLOAT[0-9]*[.][0-9]+([eE][+-]?[0-9]*|[0])
- 编译原理实验-用LEX(FLEX)生成PL语言的词法分析器
YanXi_Basketball
头歌实训java
实训前面有的知识点就不讲了,大家仔细看一下。第一关:什么是lex/flex?测试集内容已经告知了,所以已通关为目的的话,我们可以面向答案进行编程。测试集给出的字符串是"Hello","G","","FA21",'FA',题目需要识别的字符串是前三个,首先可以在要识别的正规集对应的正规式中排除FA21,因此可以构造出[a-zBCDEG-Z]*,可以不包含数字,反正测试集中没有。但是这样识别不出‘’“
- 编译原理:cminus_compiler-2021-fall Lab1
HNU岳麓山大小姐
编译原理编译原理
说点什么某湖的编译原理实验。这个实验其实原本是中科大他们那边的编译原理实验项目,然后我们的编译原理实验就是果果和他们py的(X)注意:本博客仅供参考!!!0.基础知识在本次实验中我们讲重点用到FLEX和以C-为基础改编的cminus-f语言。这里对其进行简单介绍。0.1cminus-f词法CMINUS是C语言的一个子集,该语言的语法在《编译原理与实践》第九章附录中有详细的介绍。而cminus-f则
- HNU-编译原理实验-cminus_compiler-2021-fall-master【1】-利用FLEX构造 C-Minus-f 词法分析器
没有早八
HNU-编译原理实验linux运维服务器
利用FLEX构造C-Minus-f词法分析器学号:XXXXXXXXXXXX姓名:没有早八的人一、实验目的学习和掌握词法分析程序的逻辑原理与构造⽅法。通过FLEX进⾏实践,构造C-Minus-f词法分析器。二、实验任务学习C-Minus-f的词法规则学习FLEX⼯具使⽤⽅法使⽤FLEX⽣成C-Minus-f的词法分析器,并进⾏验证三、实验要求本次实验需要根据cminux-f的词法补全lexical_
- 编译原理实验2——递归下降分析法
肉夹馍不要青椒
本科课程设计与各类作业汇总算法
实验二:递归下降分析法实验学时:2实验类型:设计实验要求:必做一、实验目的编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析,加深对递归下降分析法的理解。二、实验内容利用C语言编制递归下降分析程序,并对C语言的简单子集进行分析。待分析的C语言子集的语法如下:用扩充的BNF表示如下:(1)∷=main()(2)∷=’{’’}’(3)∷={;};(4)∷=||(5)∷=
- 编译原理实验-递归下降语法分析
实名吃香菜
编译技术c语言
具体代码已放至Github(仅供参考):qxpBlog/Compiler_UESTC:电子科技大学编译原理实验(github.com)具体实验过程如下:一、实验目的、原理、内容及步骤:(1)目的:通过本实验加深对编译技术中重点算法和编译技术的理解,提高学生的编程能力培养好的程序设计风格。了解和掌握递归下降分析法的基本原理,根据给出的文法能够完成递归下降程序的实现。(2)原理:递归下降分析器编译思想
- 编译原理实验(二)—— 预测分析算法的设计与实现(C语言实现)
果冻pudding
大学课程总结分享算法c语言开发语言
大家好,下面介绍的是我当时上编译原理所做的实验,主要内容就是根据已有的文法,构造文法的first集和follow集,然后再根据构造好的first集和follow集构造预测分析表,最后,设置一个栈,然后利用栈和预测分析表来对输入串进行分析,判断输入串是否是该文法的一个合适的语法范畴。用的是最基本的C语言写的,如有不足,欢迎大家批评指正!一、实验目的通过预测分析算法的设计与实现,加深对自上而下语法分析
- 编译原理实验(二)——LL(1)文法语法分析
antRain
编译原理编译原理LL1
编译原理实验(二)——LL(1)文法语法分析实验要求参考程序程序输入说明实验结果截图实验要求根据LL(1)分析法编写一个语法分析程序直接输入根据已知文法构造的分析表M;对于输入的文法和符号串,所编制的语法分析程序应能正确判断此串是否为文法的句子,并要求输出分析过程。参考程序#include#include#include#include#include#includeusingnamespaces
- 编译原理实验——正则表达式转化为NFA
DavidZyy123
编译原理c++编译器正则表达式
目录1、实验目的与内容2、程序总体设计思路和框架3、主要的数据结构和流程描述4、测试结果与说明5、实验收获与反思附录参考资料1、实验目的与内容输入:一个正则表达式(例如“(a|b)*abb”)输出:对应的一个NFA的mermaid语法graphLR0((0))-->|a|1((1))1((1))-->|$|5((5))2((2))-->|b|3((3))3((3))-->|$|5((5))4((4
- HNU编译原理实验四cminus_compiler-2022-fall
芜湖韩金轮
编译原理java开发语言
前言:原本想认认真真把这个实验给完成的,但是当时时间太赶了,一周要做三个实验,所以这次实验基本都是抄的了,有些地方也抄的不明不白,不过懂不懂这个对课程学习的帮助并不是很大,毕竟这个实验的难度对hun的学生来说确实挺大的。至于代码还有很大的优化空间,有时间的可以去优化一下。Lab4实验报告实验要求在理解cminus-f语法与语义的基础上,参考cminusf_builder.hpp文件以及includ
- How to successfully Compile lab1_example_solution1?中山大学软件工程学院编译原理实验1,南京大学编译原理实验,c-- (In English)
MikingG
编译原理笔记编译原理
目录Tomakethiscode.CompilationSteps:TestingtheParser:ExpectedOutcomeExplanationindetailWhycanyouomit-ly?Whatistheresultofomitting-ly?Tomakethiscode.CompilationSteps:OpenyourMakefileandlocatethefollowing
- 编译原理实验作业
qing影
编译原理
编译原理实验作业demo实验说明书实验环境:实验内容:实验步骤:源程序以及可执行程序:flex和yacc的资料:demo实验说明书实验环境:操作系统:Ubuntu(1604及以上)软件:flex,yacc,gcc(安装:sudoaptinstallflexyaccgcc-y)实验内容:演示一个利用flex和yacc工具实现的计算器程序。实验步骤:编写demo.y文件,包含计算器的文法及语义信息。%
- 编译原理实验,词法分析,LL(1),LR(1)
_千寻瀑_
代码在https://github.com/xuan45/Compiler-Principle记得点个star哦Introduction编译原理实验词法分析器和LL(1)文法核心代码均采用C++实现,服务端代码使用Koa2实现,前端可视化代码使用React实现js作为胶水层(node-ffi)将c++运行的结果转发给前端,数据格式使用jsonLR(1)文法我用的是JavaScript,原因是我做L
- 编译原理实验——不同进制间四则运算计算器
小乖路路通
java
一、实验目的1、实现一个词法分析程序,将输入字符串流分解成单词流供语法分析使用。(注意:如果单词输入错误,必须有提示)2、在词法分析的基础上实现一个语法分析程序,对词法分析的结果进行语法分析。3、在语法分析的基础上实现一个语义分析程序,求出输入算式的最后结果。二、文法算术运算文法如下:(1)E->E+E(2)E->E-E(3)E->EE(4)E->E/E(5)E->(E)(6)E->i(7)i->
- Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
- maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
- XSD和XML中的命名空间
darrenzhu
xmlxsdschemanamespace命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
- Java 求素数运算
周凡杨
java算法素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
- java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
- Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
- 32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
- 我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
- mongodb 环境搭建及简单CURD
antlove
WebInstallcurdNoSQLmongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
- 数据字典和动态视图
百合不是茶
oracle数据字典动态视图系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
- 多线程编程一般规则
bijian1013
javathread多线程java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
- 将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linuxunixscp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
- 【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
- cookie状态判断引发的查找问题
bitcarter
formcgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
- java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
- 看别人的博客,觉得心情很好
Cb123456
博客心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
- [JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
- JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
- 正则表达式验证日期格式
dashuaifu
正则表达式IT其它java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
- Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
- UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
- 判断一个数是质数的几种方法
EmmaZhao
Mathpython
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
- SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
- JS实现自适应宽度的Tag切换
ini
JavaScripthtmlWebcsshtml5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
- Hbase Rest API : 数据查询
kane_xie
RESThbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
- JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jqueryjs源码拖动鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
- Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
- 将redis,memcache结合使用的方案?
tcrct
rediscache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
- 开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key