| polemy.lexAuthors:k.inaba
 
 License:
 NYSL 0.9982 http://www.kmonos.net/nysl/
 
 Lexer for Polemy programming language.
 
 
 
class 
Token
;
Represents a lexer token
 
 
immutable LexPosition 
pos
;
Position where the token occurred in the source
 
immutable string 
str
;
The token string itself
 
immutable bool 
quoted
;
Was it a "
quoted
" token or unquoted?
 
Lexer 
lexerFromFile
(T...)(string filename, T ln_cn);
Named Construtors for Lexer
 
LexerT!(PositionedReader!(CharSeq)) 
lexerFromString
(CharSeq)(CharSeq str, string filename = "<unnamed>", int lineno = 1, int column = 1);
Named Construtor for Lexer
 
alias 
Lexer
;
Standard 
Lexer
 Type (all you have to know is that this is a forward range of Tokens!)
 
class 
LexerT
(Reader) if (isForwardRange!(Reader) && is(ElementType!(Reader) == dchar));
Lexer Implementation
 
 
bool 
empty
();
Range primitive
 
Token 
front
();
Range primitive
 
void 
popFront
();
Range primitive
 
typeof(this) 
save
();
Range primitive
 
struct 
PositionedReader
(CharSeq) if (isForwardRange!(CharSeq) && is(ElementType!(CharSeq) == dchar));
Forward range for reader character by character,
 keeping track of position information and caring \r\n -> \n conversion.
 
 
bool 
empty
();
Range primitive
 
dchar 
front
();
Range primitive
 
void 
popFront
();
Range primitive
 
typeof(this) 
save
();
Range primitive
 
const LexPosition 
currentPosition
();
Get the current position
 
 | 
		|