-- To launch the compilation with this file, just type:
-- 
--               compile example2.ace
--
-- This second example contains more constructs and options of ACE files.
-- In this example, all classes are not compiled with the same level of 
-- assertions checking.
-- Actually most "pure" Eiffel project should be handled this way.
-- Also note that the -verbose option flag is compatible with the
-- ACE file mode, hence the following command is also allowed:
--
--               compile -verbose example2.ace
--

system 
    pyramid -- is the name for the executable

root
    PYRAMID: "make"
    -- To indicate that the execution will start in procedure "make" of 
    -- class PYRAMID.

default -- The default section:

   -- To select the default assertion level to be verified: 
   assertion (loop) -- Try to change this "loop" keyword for example.

   -- To include or to exclude the Garbage Collector:
   collect (yes) -- Yes or No is a valid answer here.

-- The default section is finished, the next keyword starts the 
-- cluster section.    
cluster

        -- The description of the first cluster starts with its name 
        -- just folowed by the path of the directory:
	demos_cluster: "${SmartEiffelDirectory}tutorial"
                       -- The ${SmartEiffelDirectory} variable is automatically
                       -- computed with the SmartEiffel directory value.
           end 
	
        -- The kernel cluster:
        standard : "${SmartEiffelDirectory}lib/kernel" 
           default
               assertion (require)
           option
               -- To override the previously defined level
               -- for some classes of this cluster:
               assertion (ensure): STRING
           end 

        -- The base cluster:
        standard : "${SmartEiffelDirectory}lib/base" 
           default
               assertion (require)
           end 

        -- The io cluster:
        standard : "${SmartEiffelDirectory}lib/io" 
           default
               assertion (ensure)
           option
               -- To override the previously defined level
               -- for some classes of this cluster:
               assertion (require): STD_INPUT
           end 

end
