Quellcode durchsuchen

LibGUI: Use CharacterTypes.h and constexpr functions in {INI,GML}Lexer

Max Wipfli vor 4 Jahren
Ursprung
Commit
e7b5dbe1ac
2 geänderte Dateien mit 14 neuen und 14 gelöschten Zeilen
  1. 10 10
      Userland/Libraries/LibGUI/GMLLexer.cpp
  2. 4 4
      Userland/Libraries/LibGUI/INILexer.cpp

+ 10 - 10
Userland/Libraries/LibGUI/GMLLexer.cpp

@@ -5,8 +5,8 @@
  */
 
 #include "GMLLexer.h"
+#include <AK/CharacterTypes.h>
 #include <AK/Vector.h>
-#include <ctype.h>
 
 namespace GUI {
 
@@ -36,19 +36,19 @@ char GMLLexer::consume()
     return ch;
 }
 
-static bool is_valid_identifier_start(char ch)
+constexpr bool is_valid_identifier_start(char ch)
 {
-    return isalpha(ch) || ch == '_';
+    return is_ascii_alpha(ch) || ch == '_';
 }
 
-static bool is_valid_identifier_character(char ch)
+constexpr bool is_valid_identifier_character(char ch)
 {
-    return isalnum(ch) || ch == '_';
+    return is_ascii_alphanumeric(ch) || ch == '_';
 }
 
-static bool is_valid_class_character(char ch)
+constexpr bool is_valid_class_character(char ch)
 {
-    return isalnum(ch) || ch == '_' || ch == ':';
+    return is_ascii_alphanumeric(ch) || ch == '_' || ch == ':';
 }
 
 Vector<GMLToken> GMLLexer::lex()
@@ -83,9 +83,9 @@ Vector<GMLToken> GMLLexer::lex()
     };
 
     while (m_index < m_input.length()) {
-        if (isspace(peek(0))) {
+        if (is_ascii_space(peek(0))) {
             begin_token();
-            while (isspace(peek()))
+            while (is_ascii_space(peek()))
                 consume();
             continue;
         }
@@ -132,7 +132,7 @@ Vector<GMLToken> GMLLexer::lex()
             consume();
             commit_token(GMLToken::Type::Colon);
 
-            while (isspace(peek()))
+            while (is_ascii_space(peek()))
                 consume();
 
             if (peek(0) == '@') {

+ 4 - 4
Userland/Libraries/LibGUI/INILexer.cpp

@@ -5,8 +5,8 @@
  */
 
 #include "INILexer.h"
+#include <AK/CharacterTypes.h>
 #include <AK/Vector.h>
-#include <ctype.h>
 
 namespace GUI {
 
@@ -61,16 +61,16 @@ Vector<IniToken> IniLexer::lex()
         IniToken token;
         token.m_type = type;
         token.m_start = token_start_position;
-        token.m_end = m_previous_position;
+        token.m_end = m_position;
         tokens.append(token);
     };
 
     while (m_index < m_input.length()) {
         auto ch = peek();
 
-        if (isspace(ch)) {
+        if (is_ascii_space(ch)) {
             begin_token();
-            while (isspace(peek()))
+            while (is_ascii_space(peek()))
                 consume();
             commit_token(IniToken::Type::Whitespace);
             continue;