----boundary-LibPST-iamunique-1114316400_-_-
Content-type: text/plain
Hi Stan,
A good point but somewhat unconvincing - otherwise it could be equally
argued that HALT is the redundant statement. Maybe more so - why have
two reserved words when one will do?
Redundant facilities do not *need* to be *disallowed* unless there is a
good underlying reason for it.
Typically, the main difference between HALT and ASSERT is that you can
disable all ASSERT statements with a compile-time option. This can be a
useful debugging technique - particularly in the absence of a runtime
debugger.
There are several compile-time options available in Blackbox but I am
left to wonder why I have not been able to find any documentation for
them. For example, to disable ASSERT statements
DevCompiler.CompileOpt('!')
Regards,
Chris
CFB Software
http://www.cfbsoftware.com/gpcp
-----Original Message-----
From: blackbox{([at]})nowhere.xy
Warford
Sent: Sunday, 11 June 2006 1:34 PM
To: BlackBox Mailing List
Subject: [BlackBox] - ASSERT fault?
I had this question before. As I recall, the answer is that the
existence
of HALT makes ASSERT(FALSE) redundant, i.e. it is a CP design
decision.
Stan
J. Stanley Warford
Professor of Computer Science
Pepperdine University
Malibu, CA 90263
Stan.Warford{([at]})nowhere.xy
310-506-4332
On Jun 10, 2006, at 7:47 PM, CFB Software wrote:
This question arose in the process of porting some code from Gardens
Point Component Pascal to Blackbox Component Pascal.
The following statement:
ASSERT(FALSE)
Results in the compiler error: 'ASSERT fault'
Why? I haven't been able to find any reason in the Component Pascal
Language Reference why it should not be allowed.
Chris Burrows
CFB Software
http://www.cfbsoftware.com/gpcp
--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy----boundary-LibPST-iamunique-1114316400_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhpIFN0YW4sXHBhcg0KXHBhcg0KQSBnb29kIHBv
aW50IGJ1dCBzb21ld2hhdCB1bmNvbnZpbmNpbmcgLSBvdGhlcndpc2UgaXQgY291bGQgYmUgZXF1
YWxseVxwYXINCmFyZ3VlZCB0aGF0IEhBTFQgaXMgdGhlIHJlZHVuZGFudCBzdGF0ZW1lbnQuIE1h
eWJlIG1vcmUgc28gLSB3aHkgaGF2ZVxwYXINCnR3byByZXNlcnZlZCB3b3JkcyB3aGVuIG9uZSB3
aWxsIGRvPyBccGFyDQpccGFyDQpSZWR1bmRhbnQgZmFjaWxpdGllcyBkbyBub3QgKm5lZWQqIHRv
IGJlICpkaXNhbGxvd2VkKiB1bmxlc3MgdGhlcmUgaXMgYVxwYXINCmdvb2QgdW5kZXJseWluZyBy
ZWFzb24gZm9yIGl0LlxwYXINClxwYXINClR5cGljYWxseSwgdGhlIG1haW4gZGlmZmVyZW5jZSBi
ZXR3ZWVuIEhBTFQgYW5kIEFTU0VSVCBpcyB0aGF0IHlvdSBjYW5ccGFyDQpkaXNhYmxlIGFsbCBB
U1NFUlQgc3RhdGVtZW50cyB3aXRoIGEgY29tcGlsZS10aW1lIG9wdGlvbi4gVGhpcyBjYW4gYmUg
YVxwYXINCnVzZWZ1bCBkZWJ1Z2dpbmcgdGVjaG5pcXVlIC0gcGFydGljdWxhcmx5IGluIHRoZSBh
YnNlbmNlIG9mIGEgcnVudGltZVxwYXINCmRlYnVnZ2VyLiBccGFyDQpccGFyDQpUaGVyZSBhcmUg
c2V2ZXJhbCBjb21waWxlLXRpbWUgb3B0aW9ucyBhdmFpbGFibGUgaW4gQmxhY2tib3ggYnV0IEkg
YW1ccGFyDQpsZWZ0IHRvIHdvbmRlciB3aHkgSSBoYXZlIG5vdCBiZWVuIGFibGUgdG8gZmluZCBh
bnkgZG9jdW1lbnRhdGlvbiBmb3JccGFyDQp0aGVtLiBGb3IgZXhhbXBsZSwgdG8gZGlzYWJsZSBB
U1NFUlQgc3RhdGVtZW50c1xwYXINClxwYXINCiAgRGV2Q29tcGlsZXIuQ29tcGlsZU9wdCgnIScp
XHBhcg0KXHBhcg0KUmVnYXJkcyxccGFyDQpDaHJpc1xwYXINClxwYXINCkNGQiBTb2Z0d2FyZVxw
YXINCmh0dHA6Ly93d3cuY2Zic29mdHdhcmUuY29tL2dwY3BccGFyDQogXHBhcg0KLS0tLS1Pcmln
aW5hbCBNZXNzYWdlLS0tLS1ccGFyDQpGcm9tOiBibGFja2JveEBvYmVyb24uY2ggW21haWx0bzpi
bGFja2JveEBvYmVyb24uY2hdIE9uIEJlaGFsZiBPZiBTdGFuXHBhcg0KV2FyZm9yZFxwYXINClNl
bnQ6IFN1bmRheSwgMTEgSnVuZSAyMDA2IDE6MzQgUE1ccGFyDQpUbzogQmxhY2tCb3ggTWFpbGlu
ZyBMaXN0XHBhcg0KU3ViamVjdDogW0JsYWNrQm94XSAtIEFTU0VSVCBmYXVsdD9ccGFyDQpccGFy
DQpccGFyDQpJIGhhZCB0aGlzIHF1ZXN0aW9uIGJlZm9yZS4gQXMgSSByZWNhbGwsIHRoZSBhbnN3
ZXIgaXMgdGhhdCB0aGVccGFyDQpleGlzdGVuY2VccGFyDQpvZiBIQUxUIG1ha2VzIEFTU0VSVChG
QUxTRSkgcmVkdW5kYW50LCBpLmUuIGl0IGlzIGEgQ1AgZGVzaWduXHBhcg0KZGVjaXNpb24uXHBh
cg0KXHBhcg0KXHBhcg0KU3RhblxwYXINClxwYXINClxwYXINCkouIFN0YW5sZXkgV2FyZm9yZFxw
YXINClByb2Zlc3NvciBvZiBDb21wdXRlciBTY2llbmNlXHBhcg0KUGVwcGVyZGluZSBVbml2ZXJz
aXR5XHBhcg0KTWFsaWJ1LCBDQSA5MDI2M1xwYXINClN0YW4uV2FyZm9yZEBwZXBwZXJkaW5lLmVk
dVxwYXINCjMxMC01MDYtNDMzMlxwYXINClxwYXINClxwYXINCk9uIEp1biAxMCwgMjAwNiwgYXQg
Nzo0NyBQTSwgQ0ZCIFNvZnR3YXJlIHdyb3RlOlxwYXINClxwYXINClxwYXINClRoaXMgcXVlc3Rp
b24gYXJvc2UgaW4gdGhlIHByb2Nlc3Mgb2YgcG9ydGluZyBzb21lIGNvZGUgZnJvbSBHYXJkZW5z
XHBhcg0KUG9pbnQgQ29tcG9uZW50IFBhc2NhbCB0byBCbGFja2JveCBDb21wb25lbnQgUGFzY2Fs
LiBccGFyDQpccGFyDQpccGFyDQpUaGUgZm9sbG93aW5nIHN0YXRlbWVudDpccGFyDQpccGFyDQpc
cGFyDQogIEFTU0VSVChGQUxTRSlccGFyDQpccGFyDQpccGFyDQpSZXN1bHRzIGluIHRoZSBjb21w
aWxlciBlcnJvcjogJ0FTU0VSVCBmYXVsdCdccGFyDQpccGFyDQpccGFyDQpXaHk/IEkgaGF2ZW4n
dCBiZWVuIGFibGUgdG8gZmluZCBhbnkgcmVhc29uIGluIHRoZSBDb21wb25lbnQgUGFzY2FsXHBh
cg0KTGFuZ3VhZ2UgUmVmZXJlbmNlIHdoeSBpdCBzaG91bGQgbm90IGJlIGFsbG93ZWQuXHBhcg0K
XHBhcg0KXHBhcg0KQ2hyaXMgQnVycm93c1xwYXINCkNGQiBTb2Z0d2FyZVxwYXINCmh0dHA6Ly93
d3cuY2Zic29mdHdhcmUuY29tL2dwY3BccGFyDQpccGFyDQpccGFyDQotLS0gQmxhY2tCb3hccGFy
DQotLS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jlcm9u
LmNoXHBhcg0KXHBhcg0KLS0tIEJsYWNrQm94XHBhcg0KLS0tIHNlbmQgc3ViamVjdCBIRUxQIG9y
IFVOU1VCU0NSSUJFIHRvIGJsYWNrYm94QG9iZXJvbn19AAAAFOMTYWjBUgA4CgA=
----boundary-LibPST-iamunique-1114316400_-_---
Received on Sun Jun 11 2006 - 07:48:02 UTC