Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#4116 closed enhancement (duplicate)

define an EvalNotBoolError exception

Reported by: fdupont Owned by: UnAssigned
Priority: medium Milestone: Outstanding Tasks
Component: configuration Version: git
Keywords: classification Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description (last modified by fdupont)

There are two uses of an EvalNotBoolError? exception:

  • when the evaluation of an Expression doesn't leave "false" or "true" on the value stack (note the case where the value stack has not exactly one element raises EvalBadStack?).
  • to come boolean operators (or, and, not)

BTW the type correctness (and also the stack one) is a property which can be proved statically on the grammar itself. So this new exception does not add cases when the evaluation can raise as soon as the expression was built by the parser.
(I was involved in a formal proof of the type correctness of objects built from a well formed grammar so you can trust me. And you should confess this is great!)


Change History (5)

comment:1 Changed 4 years ago by fdupont

  • Owner set to fdupont
  • Status changed from new to accepted

comment:2 Changed 4 years ago by fdupont

  • Owner changed from fdupont to UnAssigned
  • Status changed from accepted to reviewing

Ready for review (note the exception is defined in token.h because of its second usage).

comment:3 Changed 4 years ago by hschempf

  • Milestone changed from Kea-proposed to DHCP Outstanding Tasks

comment:4 Changed 4 years ago by fdupont

  • Description modified (diff)
  • Resolution set to duplicate
  • Status changed from reviewing to closed

Was merged with #4094. Closing.

comment:5 Changed 4 years ago by tomek

  • Milestone changed from DHCP Outstanding Tasks to Outstanding Tasks

Milestone renamed

Note: See TracTickets for help on using tickets.