Syntax features 语法特性(二)

注释

为了程序维护的简洁,我们建议在源码中使用注释. 源码中的注释可以帮助读者,但是会被BDL忽略.你可以使用注

释符在开发阶段暂时注释掉不要执行的指令,代替直接从源码中删除此部分指令.

源码中的注释可以按照下面任何一种方式指定:

1、一对负号(--)指示当前行到结尾为注释。这个注释符和ANSI 标准的SQL注释符一致。

2、井号(#)注释符指示当前行到结尾为注释。

3、一个左大括号( { ) 代表一个注释块的开始。后面可以跟任何字符(包括行终断).这个注释块直到右大括号( } )

被发现才结束。

MAIN
-- DISPLAY "This line will be ignored."
# DISPLAY "This line will be ignored."
{
DISPLAY "This line will be ignored."
DISPLAY "This line will be ignored."
}
DISPLAY "Hello, World"
END MAIN

在引号代表的字符串中,编译器把注释符看作常量字符,而不是注释符。

你不能使用大括号({ })在注释块里嵌套注释块。

注释语句不能出现在表单显示段的定义中。比如 SCREEN,TABLE, TREE, 或者GRID.

#符号在SQL语句块或者SQL语句的预准备语句中是不代表注释的。也不可以在数学表达式中使用连续的负号

(--),BDL会把它后面的语句作为注释。你可以使用空格或者括号在数学表达式中分开连续的负号。

除非在同一份源码中需要Informix 4GL编译,否则不要在--注释符后面跟#符号。--#特殊注释符号是在Genero BDL

代码中区别Informix 4GL代码。这种条件源码编译技术可以转换--#{和--#}注释包含的代码块:

MAIN
--# DISPLAY "Ignored by I4GL, but compiled with BDL."
--#{
DISPLAY "Ignored by BDL, but compiled with I4GL."
--#}
END MAIN

总结:--#开始的代码块,Gennero BDL编译, Informix 4GL会忽略。--#{和--#}包含的代码块,Informix 4GL编译,

Genero BDL会忽略。

标识符

一个Genero BDL 标识符是和程序文件名类似的字符串。

标识符必须符合以下规则:

1、必须包含至少一个字符,字符长度不限制。

2、只用ASCII 字母,数字,和下划线(_)是有效的符号

3、空格,连接符号和其他非阿拉伯数字字符时无效符号

4、第一个字符必须是字母或者下划线

5、一般标识符是大小写不敏感的,因此my_Var 和 MY_vaR 代表同一个标识符。然而,在有些情况下,标识符大

小写是不一样的(像AUI树中的动作名)。建议使用小写标识符避免错误。

在非英语地区,如果非ASCII字符在本地字符集中有定义,BDL标识符可以包含这些非ASCII字符在标识中。在非

基于字母东亚地区的多字节语言(比如中文,日文,韩文)支持中,标识符可以不用字母开头。仍然建议程序源码用

ASCII字符集编写。

预编译指令

Genero BDL 支持预编译指令,允许写宏或者条件编译规则

&include "myheader.4gl"
FUNCTION debug( msg )
DEFINE msg STRING
&ifdef DEBUG
DISPLAY msg
&endif
END FUNCTION

注意:使用预编译要小心,除非本语言无法解决。不要让源码被预编译指令包围。这样会使代码不易阅读或者维护。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值