Nicolas Winkler 7 years ago
parent
commit
452dae3ed6
2 changed files with 16 additions and 7 deletions
  1. 15 7
      src/Semantic.h
  2. 1 0
      src/parser.y

+ 15 - 7
src/Semantic.h

@@ -1,26 +1,34 @@
 #ifndef QLOW_SEMANTIC_H
 #define QLOW_SEMANTIC_H
 
+#include <string>
+#include "Util.h"
 
 namespace qlow
 {
     namespace sem
     {
 
-        class Class;
+        struct Class;
 
-        class Field;
-        class Method;
+        struct Field;
+        struct Method;
     }
 }
 
 
+struct Class
+{
+    std::string name;
+    util::OwningList<Field> fields;
+    util::OwningList<Method> methods;
+};
 
 
-
-
-
-
+struct Field
+{
+    Class* type;
+}
 
 
 

+ 1 - 0
src/parser.y

@@ -53,6 +53,7 @@ std::unique_ptr<ClassList> parsedClasses;
 //%name-prefix "uetli_parser_"
 */
 %union {
+    //using qlow::ast::Class;
     std::vector<std::unique_ptr<qlow::ast::Class>>* classes;
     qlow::ast::Class* classDefinition;
     qlow::ast::FeatureDeclaration* featureDeclaration;