Bug 691781 - Generate IDL lexer and parser as part of the build system. r=khuey

This commit is contained in:
Bobby Holley 2011-11-06 13:32:25 +01:00
Родитель de333becea
Коммит 68d352d87f
9 изменённых файлов: 83 добавлений и 112 удалений

Просмотреть файл

@ -1469,7 +1469,7 @@ $(XPIDL_GEN_DIR)/%.h: %.idl $(XPIDL_DEPS) $(XPIDL_GEN_DIR)/.done
$(PYTHON_PATH) \
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
$(topsrcdir)/xpcom/idl-parser/header.py --cachedir=$(topsrcdir)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
$(topsrcdir)/xpcom/idl-parser/header.py --cachedir=$(DEPTH)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
@if test -n "$(findstring $*.h, $(EXPORTS))"; \
then echo "*** WARNING: file $*.h generated from $*.idl overrides $(srcdir)/$*.h"; else true; fi
@ -1482,7 +1482,7 @@ $(XPIDL_GEN_DIR)/%.xpt: %.idl $(XPIDL_DEPS) $(XPIDL_GEN_DIR)/.done
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
-I$(topsrcdir)/xpcom/typelib/xpt/tools \
$(topsrcdir)/xpcom/idl-parser/typelib.py --cachedir=$(topsrcdir)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
$(topsrcdir)/xpcom/idl-parser/typelib.py --cachedir=$(DEPTH)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
# no need to link together if XPIDLSRCS contains only XPIDL_MODULE
ifneq ($(XPIDL_MODULE).idl,$(strip $(XPIDLSRCS)))

Просмотреть файл

@ -1469,7 +1469,7 @@ $(XPIDL_GEN_DIR)/%.h: %.idl $(XPIDL_DEPS) $(XPIDL_GEN_DIR)/.done
$(PYTHON_PATH) \
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
$(topsrcdir)/xpcom/idl-parser/header.py --cachedir=$(topsrcdir)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
$(topsrcdir)/xpcom/idl-parser/header.py --cachedir=$(DEPTH)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
@if test -n "$(findstring $*.h, $(EXPORTS))"; \
then echo "*** WARNING: file $*.h generated from $*.idl overrides $(srcdir)/$*.h"; else true; fi
@ -1482,7 +1482,7 @@ $(XPIDL_GEN_DIR)/%.xpt: %.idl $(XPIDL_DEPS) $(XPIDL_GEN_DIR)/.done
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
-I$(topsrcdir)/xpcom/typelib/xpt/tools \
$(topsrcdir)/xpcom/idl-parser/typelib.py --cachedir=$(topsrcdir)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
$(topsrcdir)/xpcom/idl-parser/typelib.py --cachedir=$(DEPTH)/xpcom/idl-parser $(XPIDL_FLAGS) $(_VPATH_SRCS) -d $(MDDEPDIR)/$(@F).pp -o $@
# no need to link together if XPIDLSRCS contains only XPIDL_MODULE
ifneq ($(XPIDL_MODULE).idl,$(strip $(XPIDLSRCS)))

Просмотреть файл

@ -167,7 +167,7 @@ dom_quickstubs.cpp: $(srcdir)/dom_quickstubs.qsconf \
-I$(topsrcdir)/xpcom/idl-parser \
$(srcdir)/qsgen.py \
--idlpath=$(DEPTH)/dist/idl \
--cachedir=$(DEPTH)/xpcom/idl-parser/cache \
--cachedir=$(DEPTH)/xpcom/idl-parser \
--header-output dom_quickstubs.h \
--stub-output dom_quickstubs.cpp \
--makedepend-output $(MDDEPDIR)/dom_qsgen.pp \

Просмотреть файл

@ -518,6 +518,7 @@ MAKEFILES_xpcom="
xpcom/stub/Makefile
xpcom/windbgdlg/Makefile
xpcom/system/Makefile
xpcom/idl-parser/Makefile
"
MAKEFILES_xpcom_tests="

Просмотреть файл

@ -46,6 +46,7 @@ MODULE = xpcom
GRE_MODULE = 1
DIRS = \
idl-parser \
typelib \
string \
glue \
@ -90,14 +91,3 @@ endif
include $(topsrcdir)/config/rules.mk
regenerate-idl-parser:
$(PYTHON_PATH) \
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
$(topsrcdir)/xpcom/idl-parser/header.py --cachedir=$(topsrcdir)/xpcom/idl-parser --regen
check::
$(PYTHON_PATH) \
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
$(topsrcdir)/xpcom/idl-parser/runtests.py

Просмотреть файл

@ -0,0 +1,76 @@
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Mozilla.
# Portions created by the Initial Developer are Copyright (C) 2011
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
PARSER_SRCS = \
header.py \
typelib.py \
xpidl.py \
$(NULL)
PLY_PROGS = \
$(topsrcdir)/other-licenses/ply/ply/lex.py \
$(topsrcdir)/other-licenses/ply/ply/yacc.py \
$(NULL)
include $(topsrcdir)/config/rules.mk
# Generate the PLY lexer and parser.
export:: $(PARSER_SRCS) $(PLY_PROGS)
$(PYTHON_PATH) \
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
$(topsrcdir)/xpcom/idl-parser/header.py --cachedir=. --regen
check::
$(PYTHON_PATH) \
-I$(topsrcdir)/other-licenses/ply \
-I$(topsrcdir)/xpcom/idl-parser \
$(topsrcdir)/xpcom/idl-parser/runtests.py
GARBAGE += \
xpidllex.py \
xpidllex.pyc \
xpidlyacc.py \
xpidlyacc.pyc \
xpidl_debug \
$(NULL)

Просмотреть файл

@ -1,9 +0,0 @@
# xpidllex.py. This file automatically created by PLY (version 3.3). Don't edit!
_tabversion = '3.3'
_lextokens = {'TYPEDEF': 1, 'INCLUDE': 1, 'RSHIFT': 1, 'LSHIFT': 1, 'ATTRIBUTE': 1, 'NATIVEID': 1, 'NUMBER': 1, 'NATIVE': 1, 'IID': 1, 'READONLY': 1, 'RAISES': 1, 'CDATA': 1, 'IN': 1, 'INTERFACE': 1, 'CONST': 1, 'IDENTIFIER': 1, 'OUT': 1, 'INOUT': 1, 'HEXNUM': 1}
_lexreflags = 0
_lexliterals = '"(){}[],;:=|+-*'
_lexstateinfo = {'nativeid': 'exclusive', 'INITIAL': 'inclusive'}
_lexstatere = {'nativeid': [('(?P<t_nativeid_NATIVEID>[^()\\n]+(?=\\)))', [None, ('t_nativeid_NATIVEID', 'NATIVEID')])], 'INITIAL': [('(?P<t_multilinecomment>/\\*(?s).*?\\*/)|(?P<t_singlelinecomment>(?m)//.*?$)|(?P<t_IID>[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12})|(?P<t_IDENTIFIER>unsigned\\ long\\ long|unsigned\\ short|unsigned\\ long|long\\ long|[A-Za-z][A-Za-z_0-9]*)|(?P<t_LCDATA>(?s)%\\{[ ]*C\\+\\+[ ]*\\n(?P<cdata>.*?\\n?)%\\}[ ]*(C\\+\\+)?)|(?P<t_INCLUDE>\\#include[ \\t]+"[^"\\n]+")|(?P<t_directive>\\#(?P<directive>[a-zA-Z]+)[^\\n]+)|(?P<t_newline>\\n+)|(?P<t_HEXNUM>0x[a-fA-F0-9]+)|(?P<t_NUMBER>-?\\d+)|(?P<t_LSHIFT><<)|(?P<t_RSHIFT>>>)', [None, ('t_multilinecomment', 'multilinecomment'), ('t_singlelinecomment', 'singlelinecomment'), ('t_IID', 'IID'), ('t_IDENTIFIER', 'IDENTIFIER'), ('t_LCDATA', 'LCDATA'), None, None, ('t_INCLUDE', 'INCLUDE'), ('t_directive', 'directive'), None, ('t_newline', 'newline'), (None, 'HEXNUM'), (None, 'NUMBER'), (None, 'LSHIFT'), (None, 'RSHIFT')])]}
_lexstateignore = {'nativeid': '', 'INITIAL': ' \t'}
_lexstateerrorf = {'nativeid': 't_ANY_error', 'INITIAL': 't_ANY_error'}

Просмотреть файл

@ -1,85 +0,0 @@
# /src/trunk/mozilla/xpcom/idl-parser/xpidlyacc.py
# This file is automatically generated. Do not edit.
_tabversion = '3.2'
_lr_method = 'LALR'
_lr_signature = ',Q\xe7:m\xcf|\xa4\x8ad\x0f\x06\xc1Q\x1f\x99'
_lr_action_items = {'CONST':([6,25,42,47,48,82,84,104,],[14,14,45,45,-28,-29,-41,-42,]),'NATIVEID':([43,],[50,]),'NUMBER':([62,65,66,77,78,79,80,81,83,],[68,68,68,68,68,68,68,68,68,]),'LSHIFT':([67,68,69,70,75,76,92,93,94,95,96,97,98,],[80,-30,-32,-31,80,-34,-33,-35,-37,-36,-38,-39,80,]),'RSHIFT':([67,68,69,70,75,76,92,93,94,95,96,97,98,],[81,-30,-32,-31,81,-34,-33,-35,-37,-36,-38,-39,81,]),'INOUT':([28,64,74,85,],[-13,-14,90,-14,]),'NATIVE':([0,2,5,7,8,9,10,28,31,44,61,],[-14,-14,-14,-14,-14,-14,23,-13,-8,-21,-9,]),')':([33,34,50,64,68,69,70,72,73,75,76,86,92,93,94,95,96,97,98,99,103,106,107,108,111,],[38,39,57,-44,-30,-32,-31,-45,87,92,-34,-43,-33,-35,-37,-36,-38,-39,-40,-45,-46,-47,109,-55,-56,]),'(':([14,16,17,30,37,60,62,65,66,77,78,79,80,81,83,101,],[-12,27,-11,-10,43,64,65,65,65,65,65,65,65,65,65,105,]),'+':([67,68,69,70,75,76,92,93,94,95,96,97,98,],[77,-30,-32,-31,77,-34,-33,-35,-37,-36,77,77,77,]),'*':([67,68,69,70,75,76,92,93,94,95,96,97,98,],[78,-30,-32,-31,78,-34,-33,78,-37,78,78,78,78,]),'-':([62,65,66,67,68,69,70,75,76,77,78,79,80,81,83,92,93,94,95,96,97,98,],[66,66,66,79,-30,-32,-31,79,-34,66,66,66,66,66,66,-33,-35,-37,-36,79,79,79,]),',':([14,15,16,17,26,38,39,72,99,106,108,],[-12,25,-20,-11,-17,-18,-19,85,85,-47,110,]),'IID':([27,],[34,]),'READONLY':([28,42,47,48,49,82,84,104,],[-13,-14,-14,-28,55,-29,-41,-42,]),';':([24,29,36,40,41,52,57,67,68,69,70,71,76,87,92,93,94,95,96,97,98,100,109,],[31,-25,-23,-24,44,-22,61,82,-30,-32,-31,84,-34,-54,-33,-35,-37,-36,-38,-39,-40,104,-53,]),'IDENTIFIER':([3,6,12,22,23,25,27,28,35,42,45,47,48,49,51,56,59,62,63,65,66,77,78,79,80,81,82,83,84,88,89,90,91,102,104,105,110,],[12,17,24,29,30,17,33,-13,40,-14,51,-14,-28,56,58,60,63,69,71,69,69,69,69,69,69,69,-29,69,-41,102,-48,-49,-50,106,-42,108,108,]),'=':([58,],[62,]),'OUT':([28,64,74,85,],[-13,-14,91,-14,]),'TYPEDEF':([0,2,5,7,8,9,31,44,61,],[3,3,3,3,3,3,-8,-21,-9,]),'RAISES':([87,],[101,]),'IN':([28,64,74,85,],[-13,-14,89,-14,]),'[':([0,2,5,7,8,9,31,42,44,47,48,61,64,82,84,85,104,],[6,6,6,6,6,6,-8,6,-21,6,-28,-9,6,-29,-41,6,-42,]),'INCLUDE':([0,2,5,7,8,9,31,44,61,],[7,7,7,7,7,7,-8,-21,-9,]),']':([14,15,16,17,18,26,32,38,39,],[-12,-15,-20,-11,28,-17,-16,-18,-19,]),':':([29,],[35,]),'ATTRIBUTE':([28,42,47,48,49,54,55,82,84,104,],[-13,-14,-14,-28,-52,59,-51,-29,-41,-42,]),'CDATA':([0,2,5,7,8,9,31,42,44,47,48,61,82,84,104,],[9,9,9,9,9,9,-8,48,-21,48,-28,-9,-29,-41,-42,]),'INTERFACE':([0,2,5,7,8,9,10,28,31,44,61,],[-14,-14,-14,-14,-14,-14,22,-13,-8,-21,-9,]),'{':([29,36,40,],[-25,42,-24,]),'$end':([0,1,2,4,5,7,8,9,11,13,19,20,21,31,44,61,],[-2,-1,-2,0,-2,-2,-2,-2,-6,-5,-4,-7,-3,-8,-21,-9,]),'}':([42,46,47,48,53,82,84,104,],[-26,52,-26,-28,-27,-29,-41,-42,]),'|':([67,68,69,70,75,76,92,93,94,95,96,97,98,],[83,-30,-32,-31,83,-34,-33,-35,-37,-36,-38,-39,-40,]),'HEXNUM':([62,65,66,77,78,79,80,81,83,],[70,70,70,70,70,70,70,70,70,]),}
_lr_action = { }
for _k, _v in _lr_action_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_action: _lr_action[_x] = { }
_lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'members':([42,47,],[46,53,]),'attribute':([6,25,],[15,15,]),'number':([62,65,66,77,78,79,80,81,83,],[67,75,76,93,94,95,96,97,98,]),'productions':([0,2,5,7,8,9,],[1,11,13,19,20,21,]),'raises':([87,],[100,]),'ifacebody':([36,],[41,]),'attlist':([6,25,],[18,32,]),'native':([0,2,5,7,8,9,],[8,8,8,8,8,8,]),'typedef':([0,2,5,7,8,9,],[2,2,2,2,2,2,]),'attributeval':([16,],[26,]),'optreadonly':([49,],[54,]),'ifacebase':([29,],[36,]),'afternativeid':([30,],[37,]),'param':([64,85,],[72,99,]),'member':([42,47,],[47,47,]),'idlfile':([0,],[4,]),'paramlist':([64,],[73,]),'moreparams':([72,99,],[86,103,]),'interface':([0,2,5,7,8,9,],[5,5,5,5,5,5,]),'idlist':([105,110,],[107,111,]),'paramtype':([74,],[88,]),'anyident':([6,25,],[16,16,]),'attributes':([0,2,5,7,8,9,42,47,64,85,],[10,10,10,10,10,10,49,49,74,74,]),}
_lr_goto = { }
for _k, _v in _lr_goto_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_goto: _lr_goto[_x] = { }
_lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
("S' -> idlfile","S'",1,None,None,None),
('idlfile -> productions','idlfile',1,'p_idlfile','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1088),
('productions -> <empty>','productions',0,'p_productions_start','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1092),
('productions -> CDATA productions','productions',2,'p_productions_cdata','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1096),
('productions -> INCLUDE productions','productions',2,'p_productions_include','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1101),
('productions -> interface productions','productions',2,'p_productions_interface','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1106),
('productions -> typedef productions','productions',2,'p_productions_interface','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1107),
('productions -> native productions','productions',2,'p_productions_interface','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1108),
('typedef -> TYPEDEF IDENTIFIER IDENTIFIER ;','typedef',4,'p_typedef','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1113),
('native -> attributes NATIVE IDENTIFIER afternativeid ( NATIVEID ) ;','native',8,'p_native','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1120),
('afternativeid -> <empty>','afternativeid',0,'p_afternativeid','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1127),
('anyident -> IDENTIFIER','anyident',1,'p_anyident','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1133),
('anyident -> CONST','anyident',1,'p_anyident','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1134),
('attributes -> [ attlist ]','attributes',3,'p_attributes','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1139),
('attributes -> <empty>','attributes',0,'p_attributes','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1140),
('attlist -> attribute','attlist',1,'p_attlist_start','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1148),
('attlist -> attribute , attlist','attlist',3,'p_attlist_continue','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1152),
('attribute -> anyident attributeval','attribute',2,'p_attribute','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1157),
('attributeval -> ( IDENTIFIER )','attributeval',3,'p_attributeval','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1161),
('attributeval -> ( IID )','attributeval',3,'p_attributeval','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1162),
('attributeval -> <empty>','attributeval',0,'p_attributeval','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1163),
('interface -> attributes INTERFACE IDENTIFIER ifacebase ifacebody ;','interface',6,'p_interface','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1168),
('ifacebody -> { members }','ifacebody',3,'p_ifacebody','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1197),
('ifacebody -> <empty>','ifacebody',0,'p_ifacebody','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1198),
('ifacebase -> : IDENTIFIER','ifacebase',2,'p_ifacebase','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1203),
('ifacebase -> <empty>','ifacebase',0,'p_ifacebase','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1204),
('members -> <empty>','members',0,'p_members_start','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1209),
('members -> member members','members',2,'p_members_continue','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1213),
('member -> CDATA','member',1,'p_member_cdata','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1218),
('member -> CONST IDENTIFIER IDENTIFIER = number ;','member',6,'p_member_const','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1222),
('number -> NUMBER','number',1,'p_number_decimal','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1230),
('number -> HEXNUM','number',1,'p_number_hex','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1235),
('number -> IDENTIFIER','number',1,'p_number_identifier','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1240),
('number -> ( number )','number',3,'p_number_paren','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1246),
('number -> - number','number',2,'p_number_neg','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1250),
('number -> number + number','number',3,'p_number_add','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1255),
('number -> number - number','number',3,'p_number_add','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1256),
('number -> number * number','number',3,'p_number_add','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1257),
('number -> number LSHIFT number','number',3,'p_number_shift','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1268),
('number -> number RSHIFT number','number',3,'p_number_shift','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1269),
('number -> number | number','number',3,'p_number_bitor','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1278),
('member -> attributes optreadonly ATTRIBUTE IDENTIFIER IDENTIFIER ;','member',6,'p_member_att','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1284),
('member -> attributes IDENTIFIER IDENTIFIER ( paramlist ) raises ;','member',8,'p_member_method','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1300),
('paramlist -> param moreparams','paramlist',2,'p_paramlist','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1315),
('paramlist -> <empty>','paramlist',0,'p_paramlist','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1316),
('moreparams -> <empty>','moreparams',0,'p_moreparams_start','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1324),
('moreparams -> , param moreparams','moreparams',3,'p_moreparams_continue','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1328),
('param -> attributes paramtype IDENTIFIER IDENTIFIER','param',4,'p_param','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1333),
('paramtype -> IN','paramtype',1,'p_paramtype','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1341),
('paramtype -> INOUT','paramtype',1,'p_paramtype','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1342),
('paramtype -> OUT','paramtype',1,'p_paramtype','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1343),
('optreadonly -> READONLY','optreadonly',1,'p_optreadonly','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1347),
('optreadonly -> <empty>','optreadonly',0,'p_optreadonly','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1348),
('raises -> RAISES ( idlist )','raises',4,'p_raises','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1355),
('raises -> <empty>','raises',0,'p_raises','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1356),
('idlist -> IDENTIFIER','idlist',1,'p_idlist','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1363),
('idlist -> IDENTIFIER , idlist','idlist',3,'p_idlist_continue','/src/trunk/mozilla/xpcom/idl-parser/xpidl.py',1367),
]

Просмотреть файл

@ -46,8 +46,6 @@ MODULE = xpcom
SDK_BINARY = \
$(topsrcdir)/xpcom/idl-parser/xpidl.py \
$(topsrcdir)/xpcom/idl-parser/xpidllex.py \
$(topsrcdir)/xpcom/idl-parser/xpidlyacc.py \
$(topsrcdir)/xpcom/idl-parser/header.py \
$(topsrcdir)/xpcom/idl-parser/typelib.py \
$(NULL)