source: src/examples/abstype.c @ 10e81ac

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

update examples with new keywords, more formatting changes in documentation

  • Property mode set to 100644
File size: 820 bytes
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// abstype.c --
8//
9// Author           : Richard C. Bilson
10// Created On       : Wed May 27 17:56:53 2015
11// Last Modified By : Peter A. Buhr
12// Last Modified On : Wed Apr  6 22:16:08 2016
13// Update Count     : 8
14//
15
16otype T | { T x( T ); };
17
18T y( T t ) {
19        T t_instance;
20        return x( t );
21}
22
23forall( otype T ) lvalue T *?( T* );
24int ?++( int * );
25int ?=?( int *, int );
26forall( dtype DT ) DT * ?=?( DT **, DT* );
27
28otype U = int *;
29
30U x( U u ) {
31        U u_instance = u;
32        (*u)++;
33        return u;
34}
35
36int *break_abstraction( U u ) {
37        return u;
38}
39
40// Local Variables: //
41// tab-width: 4 //
42// compile-command: "cfa abstype.c" //
43// End: //
Note: See TracBrowser for help on using the repository browser.