XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XML design of ((a and b) or c)

Leigh Klotz wrote:
> the question here is whether the evaluation of AND
> and OR stopped once the value became determined,
> or whether they evaluated all arguments.  If evaluation
> stops, then AND and OR can be used as
> control constructs.

Whether the language was COBOL, FORTRAN, Algol, C or other compiled languages, 
it eventually ended up as executable instructions. The heart of the matter is 
the order of execution.

If our pseudo-code is IF ((a AND b) OR c) ...
then you'd see instructions something like this:

        L       R7, a                 ; load a into register 7
        L        R8, b
        AND  R7, R8
        BNZ  20$                   ; if true
         TST  c                       ; test the c bits
         BNZ  20$
10$:
          ...
          ...
20$:  ...

2. Now assume you used an optimizing compiler and the pseudo-code was:

IF ((a AND b AND c AND d) OR e)

It would put the e test first:

         TST  e                       ; test the e bits
         BNZ  20$                   ; if true
        L       R7, a                 ; load a into register 7
        L        R8, b
        ...   and so on

3. Now assume the pseudo-code is IF ((a AND b) XOR c) ...
Because it's an exclusive OR, you need to test both sides because it's true when 
only one side is true.





======== Ken North ===========
www.WebServicesSummit.com
www.SQLSummit.com
www.GridSummit.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS