Blogs

发布Sqlite Developer Preview 0.75

更新历史

  • Fixed: now sqlite system table can not be dropped.
  • Fixed: when created a database, the treeview was meshed.
  • New: update to
    support sqlite 3.25 analyze command.
  • Fixed: judge sql type and only show data grid for select sql.
  • Fixed: display order was not correct for the last item.
  • Update: update liveupdate
  • New: basic trigger edit function.
  • Update: now modified config is wrotten to file at once.

    下载地址:这里

Antlr的贪婪模式语法

.-noscript-blocked { border: 1px solid red !important; background: white url("chrome://noscript/skin/icon32.png") no-repeat left top !important; opacity: 0.6 !important; }

下面的规则是非贪婪模式的语法,它会匹配{之后的任意字符而不会匹配}符号,


CURLY_BLOCK_SCARF
: '{' (.)* '}'
;

 

要想让Antlr能够匹配},我们需要将规则改为

在DLL中使用Antlr

.-noscript-blocked { border: 1px solid red !important; background: white url("chrome://noscript/skin/icon32.png") no-repeat left top !important; opacity: 0.6 !important; }

新建一个Win32 DLL项目,设置如下

Delphi调用VC生成用于C程序调用的DLL的注意事项

在VC中可以Export DLL函数供C程序调用

#define PARSERDLL_API __declspec(dllexport)

extern "C" {
PARSERDLL_API int GetSqlType(LPCTSTR szSql);
}

Delphi要想调用这样的针对C输出的函数,不能使用stdcall的调用规范,而应使用cdecl的调用规范

如何include预编译头文件到antlr生成的cpp中

在Antlr生成cpp文件时,我们可能希望添加预编译头文件StdAfx.h到cpp文件中,标准的Header开关只能把头文件include到生成的头文件,而不能是cpp文件。

要想添加头文件到cpp中,需要使用antlr cpp生成器特殊控制开关关键字pre_include_cpp,示意如下
header "pre_include_cpp" {
#include "StdAfx.h"
}

anltr中如何声明变量

.-noscript-blocked { border: 1px solid red !important; background: white url("chrome://noscript/skin/icon32.png") no-repeat left top !important; opacity: 0.6 !important; }

column_ref_2[string& szTableName, string& szColumnName]
{
string s1,s2,s3, s4="";
}
:

c:id { s1=#c->getText();}
(PERIOD c1:id { s2=#c1->getText();}
(PERIOD c2:id { s3=#c2->getText();}
(PERIOD c3:id { s4=#c3->getText();}
)?)?)?
{
if (s2=="")
{

Antlr eclipse plugin

.-noscript-blocked { border: 1px solid red !important; background: white url("chrome://noscript/skin/icon32.png") no-repeat left top !important; opacity: 0.6 !important; }

关于DailyBuild

在XP开发理念中,很重要的就是要能够Daily Build,主要的理由是频繁的发布,频繁的获得反馈。但是从实际开发过程中来看,在开发的不同阶段,对于DailyBuild的需求是不一样的。在原型开发阶段,大家都在忙着写自己的部分,所有的模块还无法组装到一起时,DailyBuild其实没有什么意义,测试人员即便拿到了DailyBuild的时候,也无法进行集成测试。

Eclipse CDT 3.0发布了

.-noscript-blocked { border: 1px solid red !important; background: white url("chrome://noscript/skin/icon32.png") no-repeat left top !important; opacity: 0.6 !important; }Eclipse CDT 3.0发布了

关键字查找窍门

.-noscript-blocked { border: 1px solid red !important; background: white url("chrome://noscript/skin/icon32.png") no-repeat left top !important; opacity: 0.6 !important; }基于Google的Suggest, 比如Sqlite, 我们可以敲Sqlite 然后从a 到 z挨个试验一遍, 就知道哪些关键字会比较人气了.

同步内容