1 /// \file
2 /// Implementation of superclass elements of an ANTLR3 int stream.
3 /// The only methods required are an allocator and a destructor.
4 /// \addtogroup pANTLR3_INT_STREAM
5 /// @{
6 
7 // [The "BSD licence"]
8 // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
9 // http://www.temporal-wave.com
10 // http://www.linkedin.com/in/jimidle
11 //
12 // All rights reserved.
13 //
14 // Redistribution and use in source and binary forms, with or without
15 // modification, are permitted provided that the following conditions
16 // are met:
17 // 1. Redistributions of source code must retain the above copyright
18 //    notice, this list of conditions and the following disclaimer.
19 // 2. Redistributions in binary form must reproduce the above copyright
20 //    notice, this list of conditions and the following disclaimer in the
21 //    documentation and/or other materials provided with the distribution.
22 // 3. The name of the author may not be used to endorse or promote products
23 //    derived from this software without specific prior written permission.
24 //
25 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
26 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
27 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
29 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 
36 #include    <antlr3intstream.h>
37 
38 static	void	freeStream    (pANTLR3_INT_STREAM stream);
39 
40 ANTLR3_API pANTLR3_INT_STREAM
antlr3IntStreamNew()41 antlr3IntStreamNew()
42 {
43 	pANTLR3_INT_STREAM	stream;
44 
45 	// Allocate memory
46 	//
47 	stream  = (pANTLR3_INT_STREAM) ANTLR3_CALLOC(1, sizeof(ANTLR3_INT_STREAM));
48 
49 	if	(stream == NULL)
50 	{
51 		return	NULL;
52 	}
53 
54 	stream->free    =  freeStream;
55 
56 	return stream;
57 }
58 
59 static	void
freeStream(pANTLR3_INT_STREAM stream)60 freeStream    (pANTLR3_INT_STREAM stream)
61 {
62 	ANTLR3_FREE(stream);
63 }
64 
65 /// @}
66 ///
67