compiler/extensions.st
changeset 421 7e08b31e0dae
parent 414 0eaf09920532
child 422 116d2b2af905
equal deleted inserted replaced
420:b2f2f15cef26 421:7e08b31e0dae
    17 asCompilerNode
    17 asCompilerNode
    18 	^ PPCActionNode new
    18 	^ PPCActionNode new
    19 		name: self name;
    19 		name: self name;
    20 		block: block;
    20 		block: block;
    21 		child: parser;
    21 		child: parser;
       
    22 		properties: properties;
    22 		yourself
    23 		yourself
    23 ! !
    24 ! !
    24 
    25 
    25 !PPActionParser methodsFor:'*petitcompiler'!
    26 !PPActionParser methodsFor:'*petitcompiler'!
    26 
    27 
   466 
   467 
   467 trimmingToken
   468 trimmingToken
   468 	| ws |
   469 	| ws |
   469 	ws := #space asParser star.
   470 	ws := #space asParser star.
   470 	^ ((ws, (PPTokenParser on: self), ws) ==> #second)
   471 	^ ((ws, (PPTokenParser on: self), ws) ==> #second)
   471 		name: 'trimmingToken';
   472 		propertyAt: #trimmingToken put: true;
   472 		yourself
   473 		yourself
   473 ! !
   474 ! !
   474 
   475 
   475 !PPPluggableParser methodsFor:'*petitcompiler'!
   476 !PPPluggableParser methodsFor:'*petitcompiler'!
   476 
   477 
   568 
   569 
   569 asCompilerNode
   570 asCompilerNode
   570 	^ PPCSequenceNode new
   571 	^ PPCSequenceNode new
   571 		children: parsers;
   572 		children: parsers;
   572 		name: self name;
   573 		name: self name;
       
   574 		properties: properties;
   573 		yourself
   575 		yourself
   574 ! !
   576 ! !
   575 
   577 
   576 !PPSequenceParser methodsFor:'*petitcompiler'!
   578 !PPSequenceParser methodsFor:'*petitcompiler'!
   577 
   579 
   686 	^ PPSmalltalkWhitespaceParser new
   688 	^ PPSmalltalkWhitespaceParser new
   687 ! !
   689 ! !
   688 
   690 
   689 !PPSmalltalkWhitespaceParser methodsFor:'*petitcompiler'!
   691 !PPSmalltalkWhitespaceParser methodsFor:'*petitcompiler'!
   690 
   692 
       
   693 = anotherParser
       
   694 	anotherParser == self ifTrue: [ ^ true ].
       
   695 	anotherParser class = self class ifFalse: [ ^ false ].
       
   696  ^ anotherParser name = self name
       
   697 ! !
       
   698 
       
   699 !PPSmalltalkWhitespaceParser methodsFor:'*petitcompiler'!
       
   700 
   691 acceptsEpsilon
   701 acceptsEpsilon
   692 	^ true
   702 	^ true
   693 ! !
   703 ! !
   694 
   704 
   695 !PPSmalltalkWhitespaceParser methodsFor:'*petitcompiler'!
   705 !PPSmalltalkWhitespaceParser methodsFor:'*petitcompiler'!