में पेटिटपार्सर के साथ टिप्पणियां पार्सिंग क्या इस से 1-पंक्ति टिप्पणियों का विश्लेषण करने का एक आसान तरीका है?फ़ारो
comment
^'//' asParser ,
(#any asParser starLazy: (#newline asParser)) ,
#newline asParser
==> [ :result | nil "Ignore comments" ]
program
^(comment/instruction) star
==> [ :result | N2TProgramNode new
setNodes: (result copyWithout: nil) ]
मैं की (#newline asParser) दोहराव और #copyWithout के बारे में विशेष रूप से अनिश्चित हूँ :.
लुकास 'जवाब के बाद मुझे बहुत सरल निम्नलिखित समाधान के साथ आया था:
program
^programEntity star
==> [ :result | N2TProgramNode new setNodes: result]
programEntity
^instruction trim: ignorable
ignorable
^comment/#space asParser
comment
^'//' asParser , #newline asParser negate star