Durch die Implementierung eines auf peg.js basierenden Parsers bleibe ich beim Hinzufügen von Code zum Umgang mit C-Style-Kommentaren/* wie diesem */stecken.PEG.js - wie man Kommentare im C-Stil parst?
Ich muss den Endmarker finden, ohne es zu essen.
dies nicht funktioniert:
multi = '/*' .* '*/'
Die Botschaft lautet:
line: 14
Expected "*/" or any character but end of input found.
Ich verstehe, warum dies nicht funktioniert, aber leider habe ich keine Ahnung, wie Kommentar Parsen funktionsfähig zu machen.
Hier ist der Code so weit:
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}
und einige Abtastwerteingang:
// line comment, no problems here
/*
how to parse this ??
*/
values
// another comment
some legal
Funktioniert! Danke vielmals. Ich werde den vollständigen Code veröffentlichen. – Gisela