Hi, Thanks a lot for your effort. It is really strange that just the PHP parser doesn't work. In fact all the parsers I implemented use the same mechanism to ignore instance variables names not related to parsers (so the ignoredNames). Tomorrow morning I will try again to play with the bug. Please let me know if I can do something to help. Thanks a lot again. Cheers, Fabrizio 2012/3/30 Stéphane Ducasse <stephane.ducasse@inria.fr>
PPPHPCoreGrammar ignoredNames #('properties' 'parser' 'keywords')
browseSelectorsOn: aBrowser aBrowser list title: 'Productions'; format: [ :class | class asString ]; display: [ :class | ((((class allInstVarNames copyWithoutAll: class ignoredNames) copyWithoutAll: self rootClass allInstVarNames) collect: [ :each | each asSymbol ]) select: [ :each | class includesSelector: each ]) asSortedCollection ]; selectionAct: [ StandardToolSet ^^^^^^^^ does not exist anymore in 1.4 I guess but this is should not be related to this bug.
-> use Smalltalk tools browser
browse: self selectedClass selector: self selectedSelector ] on: $b entitled: 'browse (b)'; selectionAct: [ | class selector | class := self selectedClass. selector := self selectedSelector. (class instVarNames includes: selector) ifTrue: [ class removeInstVarName: selector ]. class removeSelector: selector. aBrowser entity: self rootModel. self selectedClass: class ] on: $r entitled: 'remove (x)'