Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion The Eiffel Compiler tecomp version 0.16 has been released
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Helmut  
View profile  
 More options Apr 27, 10:54 am
Newsgroups: comp.lang.eiffel
From: Helmut <helmut.bra...@gmx.net>
Date: Mon, 27 Apr 2009 07:54:00 -0700 (PDT)
Subject: The Eiffel Compiler tecomp version 0.16 has been released
... with the following new features:

- Underscore now allowed to improve the readability of
  integer constants (e.g. 2_100_095). Grouping of 3 is
  recommended but can be done arbitrarily. The integers have
  to start with a digit. The underscore is allowed in hex,
  octal and binary as well (e.g. 0x0fff_120a, 0c77_44,
  0b1111_0000).

- Free operators implemented.

- Webpresence improved at [[http://tecomp.sourceforge.net]]
  and language description improved.

- Exception objects implemented. To raise an exception
  create an object of type DEVELOPER_EXCEPTION and call the
  feature raise. The class which handles exception has to
  inherit from EXCEPTION_MANAGER. The feature {{exception}}
  returns the raised exception. Object test can be used to
  check the type of the exception (see example below).

   class MY_EXCEPTION inherit DEVELOPER_EXCEPTION end

   class HANDLER inherit EXCEPTION_MANAGER feature
      raise_my_exception
         do
           (create {MY_EXCEPTION}).raise
         end

      raise_precondition
         require
            False
         do
         end

      test_exceptions
         local
            i:INTEGER
         do
            if      i = 0 then
                raise_my_exception
            else if i = 1 then
                 raise_precondition
            end
         rescue
            check i <= 1 end
            check i = 0 implies {e1:MY_EXCEPTION}      exception end
            check i = 1 implies {e2:PRECONDITION_VIOLATION} exception
end
            check i = 1 implies {e: ASSERTION_VIOLATION} exception end
            i := i + 1
            retry
         end
   end

Available exception classes in the kernel library

- EXCEPTION, EXCEPTION_MANAGER, DEVELOPER_EXCEPTION,

- ASSERTION_VIOLATION, CHECK_VIOLATION,
  PRECONDITION_VIOLATION, POSTCONDITION_VIOLATION,
  INVARIANT_VIOLATION, LOOP_INVARIANT_VIOLATION,
  VARIANT_VIOLATION

- BAD_INSPECT_VALUE, IO_EXCEPTION


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google