aslsupport.y revision 271440
1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: aslsupport.y - Bison/Yacc C support functions
5 *
6 *****************************************************************************/
7
8/*
9 * Copyright (C) 2000 - 2014, Intel Corp.
10 * All rights reserved.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 *    notice, this list of conditions, and the following disclaimer,
17 *    without modification.
18 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 *    substantially similar to the "NO WARRANTY" disclaimer below
20 *    ("Disclaimer") and any redistribution must be conditioned upon
21 *    including a substantially similar Disclaimer requirement for further
22 *    binary redistribution.
23 * 3. Neither the names of the above-listed copyright holders nor the names
24 *    of any contributors may be used to endorse or promote products derived
25 *    from this software without specific prior written permission.
26 *
27 * Alternatively, this software may be distributed under the terms of the
28 * GNU General Public License ("GPL") version 2 as published by the Free
29 * Software Foundation.
30 *
31 * NO WARRANTY
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
43 */
44
45')
46
47/******************************************************************************
48 *
49 * Local support functions
50 *
51 *****************************************************************************/
52
53/*! [Begin] no source code translation */
54int
55AslCompilerwrap(void)
56{
57  return (1);
58}
59/*! [End] no source code translation !*/
60
61
62void *
63AslLocalAllocate (unsigned int Size)
64{
65    void                *Mem;
66
67
68    DbgPrint (ASL_PARSE_OUTPUT, "\nAslLocalAllocate: Expanding Stack to %u\n\n", Size);
69
70    Mem = UtStringCacheCalloc (Size);
71    if (!Mem)
72    {
73        AslCommonError (ASL_ERROR, ASL_MSG_MEMORY_ALLOCATION,
74                        Gbl_CurrentLineNumber, Gbl_LogicalLineNumber,
75                        Gbl_InputByteCount, Gbl_CurrentColumn,
76                        Gbl_Files[ASL_FILE_INPUT].Filename, NULL);
77        exit (1);
78    }
79
80    return (Mem);
81}
82
83ACPI_PARSE_OBJECT *
84AslDoError (void)
85{
86
87
88    return (TrCreateLeafNode (PARSEOP_ERRORNODE));
89
90}
91
92
93/*******************************************************************************
94 *
95 * FUNCTION:    UtGetOpName
96 *
97 * PARAMETERS:  ParseOpcode         - Parser keyword ID
98 *
99 * RETURN:      Pointer to the opcode name
100 *
101 * DESCRIPTION: Get the ascii name of the parse opcode
102 *
103 ******************************************************************************/
104
105char *
106UtGetOpName (
107    UINT32                  ParseOpcode)
108{
109#ifdef ASL_YYTNAME_START
110    /*
111     * First entries (ASL_YYTNAME_START) in yytname are special reserved names.
112     * Ignore first 8 characters of the name
113     */
114    return ((char *) yytname
115        [(ParseOpcode - ASL_FIRST_PARSE_OPCODE) + ASL_YYTNAME_START] + 8);
116#else
117    return ("[Unknown parser generator]");
118#endif
119}
120