语法检查

Apache检查配置文件语法

非 Y 不嫁゛ 提交于 2019-11-27 21:34:49
Windows环境: httpd -t 或者: httpd.exe -w -t -f "C:\Apache2.2\conf\httpd.conf" -d "C:\Apache2.2\." httpd.conf配置错误如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示the requested operation has failed,这是比较郁闷的事,因为查错要看个半天。 其实可以用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决。 检查错误方法:进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)\bin> httpd.exe -w -n "Apache2" -k start (引号中的Apache2修改为你的Apache服务名,我的是2.2.4版,服务名就是Apache2,可以到计算机服务里找) Linux环境: apachectl configtest 或 apache2ctl configtest SuSE等系统的apache2,可能为apache2ctl命令。 如果你不能确认自己的apache服务器到底使用哪个命令,你可以使用 find / -name "apachectl" 或者 find / -name "apache2ctl" 来查找一下。 [root@myserver

从零写一个编译器(二):语法分析之前置知识

冷暖自知 提交于 2019-11-27 15:00:06
前言 在之前完成了词法分析之后,得到了Token流,那么接下来就是实现语法分析器来输入Token流得到抽象语法树 (Abstract Syntax Tree,AST) 。但是在完成这个语法分析器不像词法分析器,直接手撸就好了,还是需要一些前置的知识。 这些前置知识在之前的博文都有提起过 之前的博文目录 项目的完整代码在 C2j-Compiler 什么是语法分析? 如果我们把词法分析看成是组合单词,输出单词流,那么语法分析就可以看作是检查这些单词是不是符合语法的过程。在词法分析的时候用正则或者手工比对来验证单词,语法分析则是用上下文无关文法 (context-free grammar,CFG) 。 若一个形式文法 G = (N, Σ, P, S) 的产生式规则都取如下的形式:V -> w,则谓之。其中 V∈N ,w∈(N∪Σ) 。上下文无关文法取名为“上下文无关”的原因就是因为字符 V 总可以被字符串 w 自由替换,而无需考虑字符 V 出现的上下文。一个形式语言是上下文无关的,如果它是由上下文无关文法生成的* BNF范式 巴科斯范式(英语:Backus Normal Form,BNF)是一种用于表示上下文无关文法的语言。 看一个例子: S –> AB A –> aA | ε B –> b | bB 其中S A B叫作 非终结符 ,代表可以通过推导产生新的符号

vim(gvim)相关插件整理【转】

偶尔善良 提交于 2019-11-26 18:32:56
之前有朋友在博客里希望我能列出自己使用的所有Vim插件,一直没有时间,趁周末的最后的几个小时,就给大家列一下,大家可以实行拿来主义,取自己需要的,呵呵~ OK,一个个来说吧~~ plugin: 编程相关: 公共: taglist 相信无人不知其大名,用来提供单个源代码文件的函数列表之类的功能。最近在使用一个针对面向对象语言的类似插件- tagbar.vim ,也很不错。 NERD_commenter 提供快速注释/反注释代码块的功能 DoxygenToolkit.vim 添加doxygen注释 UltiSnips 提供超强的快速生成代码段的功能(超越snipmate) mark.vim 给不同的单词高亮,表明不同的变量时很有用。(特别说明一下,vim.org上有两个Mark.vim,请使用链接中指向的那个,另外一个是有bug的) authorinfo 自动生成/更新文件的作者信息(本博编写) checksyntax 一个通用的语法检查插件,支持c,js,等等 Indent Guides 用来帮助缩进对齐的插件,需要的时候会很好用 c/c++: omnicppcomplete 提供C++代码的自动补全功能 a.vim 提供快速切换.h和.cpp文件的功能 python: pyflakes 提供实时检查python代码语法的功能(强烈推荐!) pydoc 在vim中查找python文档

24 道 shell 脚本面试题

穿精又带淫゛_ 提交于 2019-11-26 17:53:59
想要成为中高级phper, shell 脚本是需要掌握的,它有助于你在工作环境中自动完成很多任务。 如下是一些面试过程中,经常会遇到的 shell 脚本面试问题及解答: Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。 Q:2 什么是默认登录shell,如何改变指定用户的登录shell 答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用chsh命令可以改变默认的shell。示例如下所示: # chsh <用户名> -s <新shell> # chsh linuxtechi -s /bin/sh Q:3 可以在shell脚本中使用哪些类型的变量? 答:在shell脚本,我们可以使用两种类型的变量: 系统定义变量 用户定义变量 系统变量是由系统系统自己创建的。这些变量通常由大写字母组成,可以通过“set”命令查看。 用户变量由系统用户来生成和定义,变量的值可以通过命令“echo $<变量名>”查看。 Q:4 如何将标准输出和错误输出同时重定向到同一位置? 答:这里有两个方法来实现: 方法一: 2>&1 (如# ls /usr/share/doc >

bat的批处理命令

别说谁变了你拦得住时间么 提交于 2019-11-26 11:58:05
Bat命令学习 一、基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。 4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。 5.C:\AUTOEXEC.BAT 是每次系统启动时都会自动运行的,可以将每次启动时都要运行的命令放入该文件中。 6.大小写不敏感(命令符忽略大小写) 7.批处理的文件扩展名为 .bat 或 .cmd。 8.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。 二、参数: 1) 系统参数 复制代码 %SystemRoot% === C:\WINDOWS (%windir% 同样) %ProgramFiles% === C:\Program Files %USERPROFILE% === C:\Documents and Settings\Administrator (子目录有“桌面”,“开始菜单”,“收藏夹”等) %APPDATA% === C:\Documents and Settings