summaryrefslogtreecommitdiff
path: root/src/mesa/glapi/apiparser.py
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2004-10-28 22:18:52 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2004-10-28 22:18:52 +0000
commit4e120c97187b28b98a78f42d7c278784663afa23 (patch)
tree41bd1bb7d6145e6aff5822f6b26659e1ad66e8e7 /src/mesa/glapi/apiparser.py
parent98fa2bf3641633bbde6a8f037c242bc3cd5ec0d9 (diff)
obsolete
Diffstat (limited to 'src/mesa/glapi/apiparser.py')
-rw-r--r--src/mesa/glapi/apiparser.py147
1 files changed, 0 insertions, 147 deletions
diff --git a/src/mesa/glapi/apiparser.py b/src/mesa/glapi/apiparser.py
deleted file mode 100644
index ffbaffc795..0000000000
--- a/src/mesa/glapi/apiparser.py
+++ /dev/null
@@ -1,147 +0,0 @@
-#!/usr/bin/env python
-
-# $Id: apiparser.py,v 1.2 2003/08/19 01:06:24 brianp Exp $
-
-# Mesa 3-D graphics library
-# Version: 4.1
-#
-# Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-# These helper functions are used by the other Mesa Python scripts.
-# The main function is ProcessSpecFile(spedFile, function) which parses
-# the named spec file and calls function() for each entry in the spec file.
-
-
-import string
-
-
-# Given parallel arrays of types and names, make a C-style parameter string
-def MakeArgList(typeList, nameList):
- result = ''
- i = 1
- n = len(typeList)
- for typ in typeList:
- result = result + typ + ' ' + nameList[i - 1]
- if i < n:
- result = result + ', '
- i = i + 1
- #endfor
- if result == '':
- result = 'void'
- #endif
- return result
-#enddef
-
-
-prevCatagory = ''
-
-#
-# Example callback function for ProcessSpecFile()
-#
-def PrintRecord(name, returnType, argTypeList, argNameList, alias, offset):
- argList = MakeArgList(argTypeList, argNameList)
- if category != prevCategory or prevCategory == '':
- print '\n/* %s */' % category
- prevCategory = category
- #endif
- print '%s gl%s(%s); /* %d */' % (returnType, name, argList, offset)
-#endfor
-
-
-#
-# Process the api spec file
-#
-def ProcessSpecFile(specFile, userFunc):
-
- NO_OFFSET = -2
-
- # init some vars
- prevCategory = ''
- funcName = ''
- returnType = ''
- argTypeList = [ ]
- argNameList = [ ]
- maxOffset = 0
- table = { }
- offset = -1
- alias = ''
-
- f = open(specFile)
- for line in f.readlines():
-
- # split line into tokens
- tokens = string.split(line)
-
- if len(tokens) > 0 and line[0] != '#':
-
- if tokens[0] == 'name':
- if funcName != '':
- # Verify entry has offset or alias
- pnts = 0
- if offset == NO_OFFSET:
- pnts = pnts + 1
- if offset >= 0:
- pnts = pnts + 1
- if alias != '':
- pnts = pnts + 1
- if pnts != 1:
- print 'XXXXXXXXXX bad entry for %s' % funcName
-
- # process the function now
- userFunc (funcName, returnType, argTypeList, argNameList, alias, offset)
- # reset the lists
- argTypeList = [ ]
- argNameList = [ ]
- returnType = ''
- offset = -1
- alias = ''
-
- funcName = tokens[1]
-
- elif tokens[0] == 'return':
- returnType = string.join(tokens[1:], ' ')
-
- elif tokens[0] == 'param':
- argNameList.append(tokens[1])
- argTypeList.append(string.join(tokens[2:], ' '))
-
- elif tokens[0] == 'category':
- category = tokens[1]
-
- elif tokens[0] == 'offset':
- if tokens[1] == '?':
- offset = NO_OFFSET
- else:
- offset = int(tokens[1])
- if offset > maxOffset:
- maxOffset = offset
-# else:
-# print 'Unassigned offset for %s' % funcName
-
- elif tokens[0] == 'alias':
- alias = tokens[1]
-
- else:
- print 'Invalid token %s after function %s' % (tokens[0], funcName)
- #endif
- #endif
- #endfor
-#enddef