当前位置:  编程技术>综合
本页文章导读:
    ▪IDV始终保持在浏览器中央       window.onresize = resetDiv; function resetDiv(){ //浏览器宽度 var sWidth  = document.documentElement.clientWidth; //浏览器高度 var sHeight = document.documentElement.clientHeight; //设置对象 var obj = document.getElementByI.........
    ▪cucu: a compiler you can understand (part 1)      译者序: 最近在学习一些编译器的基本知识,就找到了这篇英文的博客,在csdn搜了一下貌似没有人翻译,所以我干脆翻译了算了,反正都是学习。 原文地址:http://zserge.com/blog/cucu-part1.htm.........
    ▪mysql导入数据表sql文件      1、显示数据库列表。   show databases;   刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户 ,实际上就是用这个库进行操作。   2、显.........

[1]IDV始终保持在浏览器中央
    来源:    发布时间: 2013-11-19

window.onresize = resetDiv;

function resetDiv(){

//浏览器宽度

var sWidth  = document.documentElement.clientWidth;

//浏览器高度

var sHeight = document.documentElement.clientHeight;

//设置对象

var obj = document.getElementById('div_login');

//设置的高度和宽度减去DIV自身的高度和宽度

var w = sWidth/2-100;

var h = sHeight/2-100;

obj.style.marginLeft=w+'px';

obj.style.marginTop=h+'px';

}

 

<body onload="resetDiv();">



已有 0 人发表留言,猛击->>这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—




    
[2]cucu: a compiler you can understand (part 1)
    来源: 互联网  发布时间: 2013-11-19

译者序:

最近在学习一些编译器的基本知识,就找到了这篇英文的博客,在csdn搜了一下貌似没有人翻译,所以我干脆翻译了算了,反正都是学习。

原文地址:http://zserge.com/blog/cucu-part1.html

cucu: 一个易于理解的编译器 (part 1)

让我们来讨论一下编译器吧。你有想过自己去写一个编译器吗?

我将会让你看到这是一件多么简单的事情!但这个博客的第一部分有点偏理论,所以希望你们能够保持耐心。

我们的目标

CUCU 是一个“玩具”编译器用来编译一个“玩具”语言。我希望这个玩具语言能尽可能的像标准C语言,因此一个正确的CUCU程序同样能够使用C编译器进行编译。当然,整个C语言标准时非常复杂的,我们这里的CUCU所使用的语法只是C语言的一小部分。

比如说,这里有一个有效的CUCU程序片段:

int cucu_strlen(char *s) {
    int i = 0;
    while (s[i]) {
        i = i + 1;
    }
    return i;
}
语法

We're about to define a grammar for our language. It's an important step, because everything in our compiler design depends on it.

接下来我们要定义我们这个编程语言的语法。这是一个重要的步骤,因为在设计我们编译器的时候将会依赖于这个语法。

让我们从上到下来设计语法。我们的源文件包含一个程序。什么是程序?根据经验我们可以知道,程序就是一个列表,包括变量声明、函数声明、函数定义等,比如:

int func(char *s, int len); /* function declaration */
int i;                      /* variable declaration */

int func(char *s, int len) { /* function definition */
    ...
}

让我们尝试着将它写成EBNF的形式(如果你不知道什么是EBNF也没关系,它看上去很直观):

(译者:关于EBNF的详细信息请参考http://zh.wikipedia.org/wiki/%E6%89%A9%E5%B1%95%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F)

<program> ::= { <var-decl> | <func-decl> | <func-def> } ;

这个表示法说明:一个函数是一个重复的序列,这个序列中的每一项是变量声明、函数声明或者函数定义。那么,这些所谓的声明和定义又是啥呢?让我们继续往下走。

<var-decl> ::= <type> <ident> ";"
<func-decl> ::= <type> <ident> "(" <func-args> ")" ";"
<func-def> ::= <type> <ident> "(" <func-args> ")" <func-body>
<func-args> ::= { <type> <ident> "," }
<type> ::= "int" | "char *"

因此,变量声明很简单:一个类型名加上一个标识符,然后在后面加上一个分号,就像我们经常在C语言中使用的那样。

int i;
char *s;

函数声明稍微要复杂一点,首先是“类型+标识符”,然后在括号里可以有选择性的加上 <func-args>

函数的参数表,是一个用逗号分割开的“类型+标识符”的序列,比如:

char *s, int from, int to

Actually, trailing comma in CUCU is still allowed, but not required. It will just simplify our parser code.

The supported data types are only int and char *. Identifier is a sequence of letters, digits and an underscore symbol.

The only thing left is <func-body>. But let's talk about statements and expressionsfirst.

Statement is a smallest standalone element of the language. Here are valid statements in out language:

事实上,参数表最后的逗号在CUCU语言里是允许的,但不是必要的。之所以这么做是为了使我们分析代码变的简单。

语言所支持的类型只有int和char*,标识符是一串字母、数字或者下划线。

唯一没有说明的只有<func-body>. 但首先我们需要讨论一下语句(statements)和表达式(experssions)。

语句是指我们的语言中最小的独立元素。下面是一下有效的语句:

/* 这是一些简单的语句 */
i = 2 + 3; /* 赋值语句 */
my_func(i); /* 函数调用语句 */
return i; /*返回语句 */

/* 这是一些复合语句 */
if (x > 0) { .. } else { .. }
while (x > 0) { .. }

Expression is a smaller part of the statement. As opposed to statements, expressions always return a value. Usually, it's just the arithmetic. For example in the statementfunc(x[2], i + j) the expressions are x[2] and i+j.

So, looking back at <func-body>. It's just a valid statement (which is usually a block statement).

表达式是语句的一部分,它比语句更小。和语句不同的是,表达式总是会返回一个值。通常,表达式会是算数预算。比如在语句func(x[2], i + j)里,表达式是 x[2] 和 i

    
[3]mysql导入数据表sql文件
    来源: 互联网  发布时间: 2013-11-19
1、显示数据库列表。 
  show databases; 
  刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户

,实际上就是用这个库进行操作。 
  2、显示库中的数据表: 
  use anying; //打开库,学过FOXBASE的一定不会陌生吧 
  show tables; 
  3、显示数据表的结构: 
  describe 表名; 
  4、建库: 
  create database 库名; 
  5、建表: 
  use 库名; 
  create table 表名 (字段设定列表); 
  6、删库和删表: 
  drop database 库名; 
  drop table 表名; 
  7、将表中记录清空: 
  delete from 表名; 
  8、显示表中的记录: 
  select * from 表名; 
      9、显示use的数据库名:
      SELECT DATABASE();
      10、显示当前的user:
      SELECT USER();



前提

电脑属性-》环境变量 -》新建 -》变量值 输入MYSQL路径

C:\Program Files\MySQL\MySQL Server 5.0\bin\


第一步 首先打开MYSQL 用 建库命令

建库: 
  create database 库名; 
    显示数据库列表。 
  show databases;  用此命令来判断库是否创建成功,若创建成功!则进行下一步
第二步
打开开始菜单的命令行输入 cmd 打开后
首先使用cd 切换路径命令,切换到sql目录中去
cd C:\Program Files\MySQL\MySQL Server 5.0\bin\
切换成功后输入导入sql文件命令 
mysql -u root -pabc123456 anying < E:\data\heroes.sql
输入后可打开 MYSQL用
  2、显示库中的数据表: 
  use anying; //打开库,学过FOXBASE的一定不会陌生吧 
  show tables; 
去判断表是否导入成功!



  



        
作者:lloveyou520 发表于2013-1-13 20:32:17 原文链接
阅读:37 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
CSS属性参考手册 iis7站长之家
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3