コメントの削除
Posted feedbacks - Smalltalk
Squeak Smalltalk で。
与えられた Smalltalk コードを抽象構文木に落とし、それに含まれるコメントノードを削除してから文字列に戻して出力しました(実際は、抽象構文木の初回出力時にそこからコメントノードが削除される副作用を流用)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | | decomment |
decomment := [:sourceStr |
| dummySel tree |
dummySel := 'dummy '.
tree := Parser new
parse: (dummySel, sourceStr) readStream
class: UndefinedObject
noPattern: false
context: nil
notifying: nil
ifFail: [^nil].
(tree printString; printString) allButFirst: dummySel size].
^decomment value: '"comment1" ^ self "comment2"' "=> ' ^ self' "
|


nobsun
#6534()
Rating-1/5=-0.20
[ reply ]