Agda-2.5.1.2: A dependently typed functional programming language and proof assistant

Description

This module defines the lex action to lex nested comments. As is well-known this cannot be done by regular expressions (which, incidently, is probably the reason why C-comments don't nest).

When scanning nested comments we simply keep track of the nesting level, counting up for open comments and down for close comments.

Synopsis

# Documentation

Should comment tokens be output?

Should comment tokens be output?

Manually lexing a block comment. Assumes an open comment has been lexed. In the end the comment is discarded and lexToken is called to lex a real token.

Lex a hole ({! ... !}). Holes can be nested. Returns TokSymbol SymQuestionMark.

Skip a block of text enclosed by the given open and close strings. Assumes the first open string has been consumed. Open-close pairs may be nested.