header
{
// This source file was generated by ANTLR. Do not edit manually!
package org.epic.core.parser;
}

class PODLexer extends Lexer("org.epic.core.parser.LexerBase");
options
{
	k = 5;
	charVocabulary = '\0'..'\uFFFF';
	importVocab = shared;
}

CLOSE_POD
	: ("=cut" (NEWLINE)? | "=cut" (' ' | '\t') (NOTNEWLINE)* (NEWLINE)?)
	{ getParent().pop(); }
	;

POD_BODY
	: (NEWLINE
	{
		if (LA(1) == '=' &&
		    LA(2) == 'c' &&
		    LA(3) == 'u' &&
		    LA(4) == 't' &&
		    (LA(5) == EOF_CHAR || Character.isWhitespace(LA(5)))) break;
	} | NOTNEWLINE)+
	;

protected
NEWLINE:
	(
	 '\r' '\n' |	// DOS
     '\r' |			// MacOS
     '\n'			// UNIX
    )
    { newline(); }
    ;

protected
NOTNEWLINE:
	~('\r' | '\n' | '\uFFFF')
	;