﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-LORD'S BLOG-随笔分类-工作日志</title><link>http://www.blogjava.net/jiandeh/category/21205.html</link><description>你准备好迎接下一个挑战了吗？</description><language>zh-cn</language><lastBuildDate>Thu, 28 Jun 2007 14:19:39 GMT</lastBuildDate><pubDate>Thu, 28 Jun 2007 14:19:39 GMT</pubDate><ttl>60</ttl><item><title>[工作日志]解决编译器英文NOT的冲突及其他英文冲突问题</title><link>http://www.blogjava.net/jiandeh/archive/2007/05/22/119160.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 22 May 2007 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/05/22/119160.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/119160.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/05/22/119160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/119160.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/119160.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: antlr 编译器 解析器&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/05/22/119160.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/119160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-05-22 16:44 <a href="http://www.blogjava.net/jiandeh/archive/2007/05/22/119160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]编译器增加了对SELECT子句非聚合函数表达式必须在GROUP BY中出现的判断</title><link>http://www.blogjava.net/jiandeh/archive/2007/05/22/119080.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 22 May 2007 03:55:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/05/22/119080.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/119080.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/05/22/119080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/119080.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/119080.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: antlr 语法编译器 语法解析器 解析器 编译器&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/05/22/119080.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/119080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-05-22 11:55 <a href="http://www.blogjava.net/jiandeh/archive/2007/05/22/119080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]编译器修改了允许多表合并的问题</title><link>http://www.blogjava.net/jiandeh/archive/2007/05/16/117836.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Wed, 16 May 2007 06:49:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/05/16/117836.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/117836.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/05/16/117836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/117836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/117836.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: antlr 语法编译器&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/05/16/117836.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/117836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-05-16 14:49 <a href="http://www.blogjava.net/jiandeh/archive/2007/05/16/117836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]修改了非法字符获取错误的问题</title><link>http://www.blogjava.net/jiandeh/archive/2007/05/16/117826.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Wed, 16 May 2007 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/05/16/117826.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/117826.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/05/16/117826.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/117826.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/117826.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: antlr 语法编译器&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/05/16/117826.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/117826.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-05-16 14:04 <a href="http://www.blogjava.net/jiandeh/archive/2007/05/16/117826.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]编译器增加对表比较、表合并的getChFromStr()方法</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/13/110443.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Fri, 13 Apr 2007 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/13/110443.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/110443.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/13/110443.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/110443.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/110443.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ANTLR 语法解析&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/04/13/110443.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/110443.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-13 14:19 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/13/110443.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]WHERE条件中多个逻辑表达式之间的嵌套问题&lt;未解决&gt;</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/12/110107.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Thu, 12 Apr 2007 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/12/110107.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/110107.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/12/110107.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/110107.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/110107.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">&nbsp;&nbsp;&nbsp;在目前的WHERE条件中，针对where ((a &gt; 0) and (c = 'hjd'))之间的逻辑表达式无法识别，参考oracle的语法文件，我修改了语法文件，语法已可以验证，但在遍历语法树时，TOKEN下面的子TOKEN内容无法获取，语法定义的内容如下：<br><br>/*==================================================================//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Where Condition Begin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>//==================================================================*/<br>where_condition<br>&nbsp;:&nbsp;condition<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { #where_condition = #([WHERE_CONDITION, "where_condition"], #where_condition); }<br>&nbsp;&nbsp;&nbsp; ;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">condition <br>&nbsp;: &nbsp;logical_term ( ("or"^ | "或者"^) logical_term )*<br>&nbsp;;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">logical_term <br>&nbsp;:&nbsp;logical_factor ( ("and"^ | "并且"^) logical_factor )*<br>&nbsp;;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">logical_factor<br>&nbsp;:&nbsp;( exp_simple compare_op exp_simple ) =&gt; (exp_simple compare_op exp_simple )<br>&nbsp;&nbsp;{#logical_factor = #([COMPARE_OP, "comp_op"], #logical_factor);}<br>&nbsp;| &nbsp;( exp_simple ( "in" | "在于" ) ) =&gt; exp_simple ( "in" | "在于" ) exp_set<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_CONTAIN, "logic_contain"], #logical_factor); }<br>&nbsp;|&nbsp;( exp_simple ( "not in" | "不在于" ) ) =&gt; exp_simple ( "not in" | "不在于" ) exp_set<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_CONTAIN, "logic_contain"], #logical_factor); }<br>&nbsp;| &nbsp;( exp_simple ( "like" | "包含" ) ) =&gt; exp_simple ("like" | "包含" ) where_expression ( "escape" QUOTED_STRING )?<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_LIKE, "logic_like"], #logical_factor); }<br>&nbsp;| &nbsp;( exp_simple ( "not like" | "不包含" ) ) =&gt; exp_simple ("not like" | "不包含" ) where_expression ( "escape" QUOTED_STRING )?<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_LIKE, "logic_like"], #logical_factor); }<br>&nbsp;| &nbsp;( exp_simple ( "between"| "范围" ) ) =&gt; exp_simple ( "between" | "范围" ) exp_simple exp_simple<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_BETWEEN, "logic_between"], #logical_factor); }<br>&nbsp;| &nbsp;( exp_simple ( "not between"| "不在范围" ) ) =&gt; exp_simple ( "not between" | "不在范围" ) exp_simple exp_simple<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_BETWEEN, "logic_between"], #logical_factor); }<br>&nbsp;| &nbsp;( exp_simple ( "is null" | "为空" ) ) =&gt; exp_simple ( "is null" | "为空" )<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_NULL, "logic_null"], #logical_factor); }<br>&nbsp;| &nbsp;( exp_simple ( "is not null" | "非空" ) ) =&gt; exp_simple ( "is not null" | "非空" )<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_NULL, "logic_null"], #logical_factor); }<br>&nbsp;| &nbsp;( quantified_factor ) =&gt; quantified_factor<br>&nbsp;&nbsp;{ #logical_factor = #([LOGICAL_EXISTS, "logic_exists"], #logical_factor); }<br>&nbsp;| &nbsp;( ( "not" | "非" ) condition ) =&gt; ( "not" | "非" ) condition<br>&nbsp;&nbsp;{ #logical_factor = #([COND_NOT, "cond_not"], #logical_factor); }<br>&nbsp;| &nbsp;( LPAREN condition RPAREN )<br>&nbsp;&nbsp;{ #logical_factor = #([COND_PAREN, "cond_paren"], #logical_factor); }<br>&nbsp;&nbsp;&nbsp; ;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">quantified_factor <br>&nbsp;:&nbsp;( exp_simple compare_op ( "all" | "any" )? subquery ) =&gt; exp_simple compare_op ( "all" | "any" )? subquery<br>&nbsp;&nbsp;&nbsp; | &nbsp;( ( "not" )? "exists" subquery ) =&gt; ( "not" )? "exists" subquery<br>&nbsp;&nbsp;&nbsp; | &nbsp;subquery<br>&nbsp;&nbsp;&nbsp; ;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">exp_simple<br>&nbsp;: &nbsp;where_expression<br>&nbsp;;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">where_expression <br>&nbsp;: &nbsp;term ( ( PLUS^ | MINUS^ | "加"^ | "减"^) term )*<br>&nbsp;&nbsp;&nbsp; ;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">term <br>&nbsp;: &nbsp;factor ( ( MUL^ | DIVIDE^ | "乘"^ | "除"^) factor )*<br>&nbsp;&nbsp;&nbsp; ;<br>&nbsp;<br>multiply<br>&nbsp;:&nbsp;MUL | "乘"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { #multiply = #([MULTIPLY, "multiply"], #multiply); }<br>&nbsp;&nbsp;&nbsp; ;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">factor<br>&nbsp;:&nbsp;( sql_literal ) =&gt; sql_literal<br>&nbsp;|&nbsp;( ( PLUS | MINUS ) where_expression ) =&gt; ( PLUS | MINUS ) where_expression<br>&nbsp;|&nbsp;( function_name ( LPAREN where_expression ( COMMA where_expression )* RPAREN ) ) =&gt; function_name ( LPAREN where_expression ( COMMA where_expression )* RPAREN )<br>&nbsp;&nbsp;{ #factor = #([NORMAL_FUNCTION, "normal_function"], #factor); }<br>&nbsp;| &nbsp;( aggregate_func_name LPAREN ( STAR | "all" | "distinct" )? (where_expression)? RPAREN ) =&gt; aggregate_func_name LPAREN ( STAR | "all" | "distinct" )? (where_expression)? RPAREN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { #factor = #([GROUP_FUNCTION, "group_function"], #factor); }<br>&nbsp;|&nbsp;( LPAREN where_expression RPAREN ) =&gt; LPAREN where_expression RPAREN<br>&nbsp;&nbsp;{ #factor = #([EXPRESSION_PAREN, "expression_paren"], #factor); }<br>&nbsp;;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">sql_literal<br>&nbsp;:&nbsp;constant<br>&nbsp;|&nbsp;field_name<br>&nbsp;;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">where_expression_list<br>&nbsp;:&nbsp;LPAREN where_expression ( COMMA where_expression )+ RPAREN<br>&nbsp;;<br><br>exp_set<br>&nbsp;: &nbsp;LPAREN constexpset RPAREN<br>&nbsp;{#exp_set = #([SUBCONTAIN_OP, "subcontain_op"], #exp_set);}<br>//&nbsp;| subquery<br>&nbsp;;</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">constexpset<br>&nbsp;:&nbsp;constant (COMMA^ constant)*<br>//&nbsp;{#constexpset = #([SUBCONTAIN_CONTENT, "subcontain_content"], #constexpset);}<br>&nbsp;;<br>/*==================================================================//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Where Condition End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br>//==================================================================*/</p>
<img src ="http://www.blogjava.net/jiandeh/aggbug/110107.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-12 10:50 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/12/110107.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]WHERE条件表达式中in/not in处理</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/06/109014.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Fri, 06 Apr 2007 12:23:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/06/109014.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/109014.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/06/109014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/109014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/109014.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ANTLR 语法解析 IN/NOT IN&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/04/06/109014.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/109014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-06 20:23 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/06/109014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]修改了表字段没按顺序的问题</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/03/108240.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 03 Apr 2007 09:48:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/03/108240.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/108240.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/03/108240.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/108240.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/108240.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ANTLR 语法解析 表字段&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/04/03/108240.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/108240.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-03 17:48 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/03/108240.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]编译器QueryModel增加循环语句类型属性</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/03/108194.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 03 Apr 2007 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/03/108194.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/108194.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/03/108194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/108194.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/108194.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">1、QueryModel属性增加circleType：<br>&nbsp; private String circleType;&nbsp; //循环语句类型(表变量/条件变量)</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">&nbsp; /**<br>&nbsp;&nbsp; * 取得循环语句类型（1为表变量，2为条件变量）<br>&nbsp;&nbsp; * @return String 循环语句类型<br>&nbsp;&nbsp; */<br>&nbsp; public String getCircleType() {<br>&nbsp;&nbsp;&nbsp; return circleType;<br>&nbsp; }<br>&nbsp; <br>&nbsp; /**<br>&nbsp;&nbsp; * 设置取得循环语句类型<br>&nbsp;&nbsp; * @param circleType （1为表变量，2为条件变量）<br>&nbsp;&nbsp; */<br>&nbsp; public void setCircleType(String circleType) {<br>&nbsp;&nbsp;&nbsp; this.circleType = circleType;<br>&nbsp; }<br>&nbsp;<br>2、QueryModel的parseQuery()方法增加对circleType的设置：<br>&nbsp;&nbsp;&nbsp;//如果存在条件变量参数，格式为：{机构变量}<br>&nbsp;&nbsp;&nbsp;QueryModel[] _paramModelArr = model.getModelsFromAllChildrenByClass(ParamModel.class);<br>&nbsp;&nbsp;&nbsp;if (_paramModelArr.length &gt; 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model.setCircleType(((ParamModel) _paramModelArr[0]).getCircleType());</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">3、Translator:<br>&nbsp; addDbTable&nbsp;&nbsp;将循环语句类型设置到QueryModel(表变量)<br>&nbsp; addDbField&nbsp; 将循环语句类型设置到QueryModel(条件变量)<br>&nbsp; getXmlString() 将circleType增加到ch_query_string的属性值中<br>&nbsp; loadModelFromXML(...) 增加从XML中将circleType设置到QueryModel</p>
<img src ="http://www.blogjava.net/jiandeh/aggbug/108194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-03 14:07 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/03/108194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]修改了updateDbTables对表名或字段不存在没有判断的问题</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/03/108193.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 03 Apr 2007 06:03:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/03/108193.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/108193.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/03/108193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/108193.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/108193.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">修改了Translator的updateDbTables方法，增加了对表名或字段不存在的判断。代码如下：<br>for (int i = 0; i &lt; ts.length; i++) {<br>&nbsp; DbTable dbt = ts[i];<br>&nbsp; <br>&nbsp; //根据DbTable的中文表名获取业务上传入的英文表名<br>&nbsp; String enTableName = t.getTableEnName(dbt.getChName());<br>&nbsp; if (enTableName == null || enTableName.equals("")){<br>&nbsp;&nbsp;&nbsp; model.addException(new NoSuchTableException(dbt.getChName()));<br>&nbsp; }else{<br>&nbsp;&nbsp;&nbsp; dbt.setEnName(t.getTableEnName(dbt.getChName()));<br>&nbsp; }<br>&nbsp; <br>&nbsp; //获取DbTable中的当前表名所有字段属性（查询语句中的字段属性）<br>&nbsp; for (Iterator it = dbt.getFields().iterator(); it.hasNext();) {<br>&nbsp;&nbsp;&nbsp; DbField dbf = (DbField)it.next();<br>&nbsp;&nbsp;&nbsp; dbf.setTableEnName(dbt.getEnName());<br>&nbsp;&nbsp;&nbsp; //获取业务上传入的英文字段名称<br>&nbsp;&nbsp;&nbsp; String enFieldName = t.getFieldEnName(dbt.getChName(), dbf.getChName());<br>&nbsp;&nbsp;&nbsp; //如果业务上的英文字段不存在则提示错误信息，如果存在则将英文字段赋值给DbTable对象的DbField属性<br>&nbsp;&nbsp;&nbsp; if (enFieldName == null || enFieldName.equals("")){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; model.addException(new NoSuchFieldException(dbt.getChName(), dbf.getChName()));<br>&nbsp;&nbsp;&nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbf.setEnName(t.getFieldEnName(dbt.getChName(), dbf.getChName()));<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br>}</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier"></p>
<img src ="http://www.blogjava.net/jiandeh/aggbug/108193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-03 14:03 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/03/108193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]增加片断子句的语法校验接口</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/03/108190.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 03 Apr 2007 05:45:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/03/108190.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/108190.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/03/108190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/108190.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/108190.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">接口调用方法：<br>&nbsp;&nbsp;&nbsp;Translator t = new Translator();<br>&nbsp;&nbsp;&nbsp;//字段或字段表达式SELECT子句判断<br>&nbsp;&nbsp;&nbsp;t.setChSegment(t.COLUMN, "求和 (AI_94传票对照表.省/市代号)");&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;//条件表达式WHERE子句判断<br>&nbsp;&nbsp;&nbsp;t.setChSegment(t.WHERE, "AI_94传票对照表.省/市代号 + AI_94传票对照表.金额 大于 30");</span> 
<img src ="http://www.blogjava.net/jiandeh/aggbug/108190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-03 13:45 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/03/108190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[工作日志]语法编译器表别名与字段别名问题</title><link>http://www.blogjava.net/jiandeh/archive/2007/04/03/108161.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Tue, 03 Apr 2007 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/archive/2007/04/03/108161.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/108161.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/archive/2007/04/03/108161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/108161.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/108161.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 语法解析 表别名 字段别名&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/archive/2007/04/03/108161.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/108161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2007-04-03 11:33 <a href="http://www.blogjava.net/jiandeh/archive/2007/04/03/108161.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>