summaryrefslogtreecommitdiff
path: root/source/slang/lexer.h
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-06-15 13:12:51 -0700
committerTim Foley <tfoley@nvidia.com>2017-06-15 13:12:51 -0700
commit517513645afb8eaf4841e7b7035f1ba3a9c7cd57 (patch)
treeeb0fdf58f5f42c427ade3aac136a9053fbf21d54 /source/slang/lexer.h
parentc34a433d7aa3fdbfefee22f20d5aac2d960f392a (diff)
Rename `Slang::Compiler` -> `Slang`
This gets rid of one unecessary namespace.
Diffstat (limited to 'source/slang/lexer.h')
-rw-r--r--source/slang/lexer.h175
1 files changed, 86 insertions, 89 deletions
diff --git a/source/slang/lexer.h b/source/slang/lexer.h
index d11e92d84..d599b3b7f 100644
--- a/source/slang/lexer.h
+++ b/source/slang/lexer.h
@@ -6,96 +6,93 @@
namespace Slang
{
- namespace Compiler
+ using namespace CoreLib::Basic;
+
+ struct TokenList
+ {
+ Token* begin() const;
+ Token* end() const;
+
+ List<Token> mTokens;
+ };
+
+ struct TokenSpan
+ {
+ TokenSpan();
+ TokenSpan(
+ TokenList const& tokenList)
+ : mBegin(tokenList.begin())
+ , mEnd (tokenList.end ())
+ {}
+
+ Token* begin() const { return mBegin; }
+ Token* end () const { return mEnd ; }
+
+ int GetCount() { return (int)(mEnd - mBegin); }
+
+ Token* mBegin;
+ Token* mEnd;
+ };
+
+ struct TokenReader
{
- using namespace CoreLib::Basic;
-
- struct TokenList
- {
- Token* begin() const;
- Token* end() const;
-
- List<Token> mTokens;
- };
-
- struct TokenSpan
- {
- TokenSpan();
- TokenSpan(
- TokenList const& tokenList)
- : mBegin(tokenList.begin())
- , mEnd (tokenList.end ())
- {}
-
- Token* begin() const { return mBegin; }
- Token* end () const { return mEnd ; }
-
- int GetCount() { return (int)(mEnd - mBegin); }
-
- Token* mBegin;
- Token* mEnd;
- };
-
- struct TokenReader
- {
- TokenReader();
- explicit TokenReader(TokenSpan const& tokens)
- : mCursor(tokens.begin())
- , mEnd (tokens.end ())
- {}
- explicit TokenReader(TokenList const& tokens)
- : mCursor(tokens.begin())
- , mEnd (tokens.end ())
- {}
-
- bool IsAtEnd() const { return mCursor == mEnd; }
- Token PeekToken() const;
- TokenType PeekTokenType() const;
- CodePosition PeekLoc() const;
-
- Token AdvanceToken();
-
- int GetCount() { return (int)(mEnd - mCursor); }
-
- Token* mCursor;
- Token* mEnd;
- };
-
- typedef unsigned int LexerFlags;
- enum
- {
- kLexerFlag_InDirective = 1 << 0,
- kLexerFlag_ExpectFileName = 2 << 0,
- };
-
- struct Lexer
- {
- Lexer(
- String const& path,
- String const& content,
- DiagnosticSink* sink);
-
- ~Lexer();
-
- Token lexToken();
-
- TokenList lexAllTokens();
-
- String path;
- String content;
- DiagnosticSink* sink;
-
- char const* cursor;
- char const* end;
- CodePosition loc;
- TokenFlags tokenFlags;
- LexerFlags lexerFlags;
- };
-
- // Helper routines for extracting values from tokens
- String getStringLiteralTokenValue(Token const& token);
- String getFileNameTokenValue(Token const& token);
- }
+ TokenReader();
+ explicit TokenReader(TokenSpan const& tokens)
+ : mCursor(tokens.begin())
+ , mEnd (tokens.end ())
+ {}
+ explicit TokenReader(TokenList const& tokens)
+ : mCursor(tokens.begin())
+ , mEnd (tokens.end ())
+ {}
+
+ bool IsAtEnd() const { return mCursor == mEnd; }
+ Token PeekToken() const;
+ TokenType PeekTokenType() const;
+ CodePosition PeekLoc() const;
+
+ Token AdvanceToken();
+
+ int GetCount() { return (int)(mEnd - mCursor); }
+
+ Token* mCursor;
+ Token* mEnd;
+ };
+
+ typedef unsigned int LexerFlags;
+ enum
+ {
+ kLexerFlag_InDirective = 1 << 0,
+ kLexerFlag_ExpectFileName = 2 << 0,
+ };
+
+ struct Lexer
+ {
+ Lexer(
+ String const& path,
+ String const& content,
+ DiagnosticSink* sink);
+
+ ~Lexer();
+
+ Token lexToken();
+
+ TokenList lexAllTokens();
+
+ String path;
+ String content;
+ DiagnosticSink* sink;
+
+ char const* cursor;
+ char const* end;
+ CodePosition loc;
+ TokenFlags tokenFlags;
+ LexerFlags lexerFlags;
+ };
+
+ // Helper routines for extracting values from tokens
+ String getStringLiteralTokenValue(Token const& token);
+ String getFileNameTokenValue(Token const& token);
}
#endif \ No newline at end of file