瀏覽代碼

[lexer.h] Implementig parsing for defines

Vinicius Teshima 1 年之前
父節點
當前提交
d50d422a55
共有 1 個文件被更改,包括 9 次插入1 次删除
  1. 9 1
      src/lexer.h

+ 9 - 1
src/lexer.h

@@ -370,7 +370,15 @@ lexer_handle_pp(struct lexer *l, struct lexer_err *err)
 		goto ret_ok;
 		break;
 
-	case TT_PP_DEFINE: goto ret_illegal; break;
+	case TT_PP_DEFINE:
+		ident = lexer_read_until_or(l, '\n', '\\', &reached_limit);
+		if ( reached_limit == true ) {
+			goto ret_illegal;	
+		}
+
+		t = token_create(tt, ident);
+		goto ret_ok;
+		break;
 	case TT_PP_IFNDEF: goto ret_illegal; break;
 	case TT_PP_IFDEF: goto ret_illegal; break;
 	case TT_PP_IF: goto ret_illegal; break;