source: translator/examples/array.c @ 134b86a

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 134b86a was 134b86a, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

add compiler flag to driver, update examples, fix unnamed bit fields

  • Property mode set to 100644
File size: 764 bytes
RevLine 
[51b7345]1// "cfa -c -o array.o array.c"
2// "cfa -CFA array.c > array_out.c"
3// "gcc32 array_out.c ../LibCfa/libcfa.a"
4
5#include "array.h"
6
7/// forall( type array_type, elt_type | bounded_array( array_type, elt_type ) )
8/// [ array_iterator begin, array_iterator end ]
9/// get_iterators( array_type array )
10/// {
11///   begin = 0;
[134b86a]12///   end = last( array );
[51b7345]13/// }
14
[134b86a]15// The first element is always at index 0.
[51b7345]16forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
[134b86a]17elt_type * begin( array_type array ) {
18    return &array[ 0 ];
[51b7345]19}
20
[134b86a]21// The end iterator should point one past the last element.
[51b7345]22forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
[134b86a]23elt_type * end( array_type array ) {
24    return &array[ last( array ) ] + 1;
[51b7345]25}
Note: See TracBrowser for help on using the repository browser.