1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-29 03:42:07 +00:00
serenity/Userland/Libraries/LibCpp
Itamar 7a4a32b112 LibCpp: Lex before processing the source in the Preprocessor
Previously, the preprocessor first split the source into lines, and then
processed and lexed each line separately.

This patch makes the preprocessor first lex the source, and then do the
processing on the tokenized representation.

This generally simplifies the code, and also fixes an issue we
previously had with multiline comments (we did not recognize them
correctly when processing each line separately).
2021-08-21 22:09:56 +02:00
..
Tests Tests: Add regression tests for the LibCpp preprocessor 2021-08-14 12:40:55 +02:00
AST.cpp LibCpp: Add support for parsing function types 2021-08-02 01:03:59 +02:00
AST.h LibCpp: Add support for parsing function types 2021-08-02 01:03:59 +02:00
CMakeLists.txt LibCpp: Move Cpp::Token to a separate file 2021-03-13 10:17:02 +01:00
Lexer.cpp LibCpp: Allow whitespace between # and preprocessor directive 2021-08-21 22:09:56 +02:00
Lexer.h LibCpp: Add lexer option to ignore whitespace tokens 2021-08-14 12:40:55 +02:00
Parser.cpp LibCpp: Do macro substitution in the preprocessor instead of the parser 2021-08-07 21:24:11 +02:00
Parser.h LibCpp: Do macro substitution in the preprocessor instead of the parser 2021-08-07 21:24:11 +02:00
Preprocessor.cpp LibCpp: Lex before processing the source in the Preprocessor 2021-08-21 22:09:56 +02:00
Preprocessor.h LibCpp: Lex before processing the source in the Preprocessor 2021-08-21 22:09:56 +02:00
SyntaxHighlighter.cpp LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
SyntaxHighlighter.h LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Token.cpp LibCpp: Modify Token::to_string() to include more information 2021-05-22 15:52:11 +02:00
Token.h LibCpp: Modify Token::to_string() to include more information 2021-05-22 15:52:11 +02:00