The implementation of the parser based on peg.js, I force you to add code to handle c-style / * style comments, like this * /.
I need to find the end marker without eating it.
this does not work:
multi = '/*' .* '*/'
Message:
line: 14 Expected "*/" or any character but end of input found.
I understand why this does not work, but, unfortunately, I have no idea how to do a functional analysis of comments.
Here is the code:
start = item* item = comment / content_line content_line = _ p:content _ {return ['CONTENT',p]} content = 'some' / 'legal' / 'values' comment = _ p:(single / multi) {return ['COMMENT',p]} single = '//' p:([^\n]*) {return p.join('')} multi = 'TODO' _ = [ \t\r\n]* {return null}
and some sample input:
// line comment, no problems here values // another comment some legal
comments parsing peg
Gisela
source share