Phasor 3.1.1
Stack VM based Programming Language
Loading...
Searching...
No Matches
Lexer.hpp
Go to the documentation of this file.
1#pragma once
3#include <string>
4#include <vector>
5#include <iostream>
7namespace pulsar
8{
10class Lexer
11{
12 public:
13 Lexer(const std::string &source);
14 std::vector<Phasor::Token> tokenize();
15
16 private:
17 std::string source;
18 size_t position = 0;
19 size_t line = 1;
20 size_t column = 1;
21
22 char peek();
23 char advance();
24 bool isAtEnd();
32};
33} // namespace pulsar
Phasor::Token number()
std::string source
Definition Lexer.hpp:17
void skipShebang()
void skipWhitespace()
Phasor::Token complexString()
size_t line
Definition Lexer.hpp:19
size_t position
Definition Lexer.hpp:18
Phasor::Token identifier()
std::vector< Phasor::Token > tokenize()
Lexer(const std::string &source)
size_t column
Definition Lexer.hpp:20
Phasor::Token string()
Phasor::Token scanToken()
The Pulsar Scripting Language.
Definition Compiler.cpp:13
Token structure.
Definition AST.hpp:25