This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CDL question


Hi Sergei

Sergei Gavrikov wrote:

> What I try to do using CDL expressions
> 
> if {board == A} {
> 	default_value A
> 	legal_values {A B C}
> } else if {board == B} {
> 	default_value X
> 	legal_values {X Y Z}
> }
> 
> and using in two-lines coding I could get only, for example,
> 
> 	default_value B
> 	legal_values {A B C X Y Z}
> 
> Thanks for any comments on it.

The following should work, but there may be a more elegant approach:

  default_value { (board == "A") ? "A" : "X" }
  legal_values {
    ((board == "A") ? "A" : "")
    ((board == "A") ? "B" : "")
    ((board == "A") ? "C" : "")
    ((board == "B") ? "X" : "")
    ((board == "B") ? "Y" : "")
    ((board == "B") ? "Z" : "")
  }

John Dallaway

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]