1: ================================================================================ 2: 3: Smalltalk defineClass: #SynapseTokenStream 4: superclass: #{Core.Object} 5: indexedType: #none 6: private: false 7: instanceVariableNames: 'tokenCollection currentIndex ' 8: classInstanceVariableNames: '' 9: imports: '' 10: category: '' 11: 12: ================================================================================ 13: 14: SynapseTokenStream method for 'accessing' 15: 16: currentIndex 17: 18: currentIndex ifNil: [currentIndex := 1]. 19: ^currentIndex 20: 21: ------------------------------------------------------------ 22: 23: SynapseTokenStream method for 'accessing' 24: 25: currentIndex: anInteger 26: 27: currentIndex := anInteger 28: 29: ------------------------------------------------------------ 30: 31: SynapseTokenStream method for 'stream operation' 32: 33: next 34: 35: self currentIndex: self currentIndex + 1 36: 37: ------------------------------------------------------------ 38: 39: SynapseTokenStream method for 'accessing-stream' 40: 41: nextToken 42: 43: | aToken | 44: self currentIndex > self tokenCollection size ifTrue: [^nil]. 45: aToken := self tokenCollection at: self currentIndex. 46: self next. 47: ^aToken 48: 49: ------------------------------------------------------------ 50: 51: SynapseTokenStream method for 'accessing-stream' 52: 53: peekToken 54: 55: self currentIndex > self tokenCollection size ifTrue: [^nil]. 56: ^self tokenCollection at: self currentIndex 57: 58: ------------------------------------------------------------ 59: 60: SynapseTokenStream method for 'stream operation' 61: 62: reset 63: 64: self currentIndex: 1 65: 66: ------------------------------------------------------------ 67: 68: SynapseTokenStream method for 'accessing' 69: 70: tokenCollection 71: 72: tokenCollection ifNil: [tokenCollection := OrderedCollection new]. 73: ^tokenCollection 74: 75: ------------------------------------------------------------ 76: 77: SynapseTokenStream method for 'accessing' 78: 79: tokenCollection: aCollection 80: 81: tokenCollection := aCollection 82: 83: ------------------------------------------------------------ 84: 85: SynapseTokenStream method for 'initialize-release' 86: 87: tokens: aTokenCollection 88: 89: aTokenCollection addLast: self class defaultTokenClass acceptanceToken. 90: self tokenCollection: aTokenCollection 91: 92: ================================================================================ 93: 94: Smalltalk.SynapseTokenStream class 95: instanceVariableNames: '' 96: 97: ================================================================================ 98: 99: SynapseTokenStream class method for 'defaults' 100: 101: defaultTokenClass 102: 103: ^KSU.SynapseToken 104: 105: ------------------------------------------------------------ 106: 107: SynapseTokenStream class method for 'instance creation' 108: 109: new 110: 111: ^(super new) 112: initialize; 113: yourself 114: 115: ------------------------------------------------------------ 116: 117: SynapseTokenStream class method for 'instance creation' 118: 119: tokens: tokenCollection 120: 121: ^(self new) 122: tokens: tokenCollection; 123: yourself 124: 125: ================================================================================
This document was generated by KSU.TextDoclet on 2013/02/22 at 01:01:17.