     }
     /// Label
     struct Label : Decodable {
+        let definedLabel : Swift.String?
         let customLabel : Swift.String?
-        let definedLabel : Swift.String?
     }
     /// Terminal
     struct Terminal : Decodable {
+        let regex : Swift.String?
         let characterRange : CharacterRange?
         let characterSet : CharacterSet?
         let terminalString : TerminalString?
-        let regex : Swift.String?
     }
     /// Group
     class Group : Decodable {

    }
    /// Literal
    struct Literal : Decodable {
        let number : Swift.String?
        let boolean : Swift.String?
        let string : String?
    }
    /// Annotation
    struct Annotation : Decodable {
        let label : Label
        let literal : Literal?
    }
    /// Annotations
    struct Annotations : Decodable {

    }
    /// ModuleImport
    struct ModuleImport : Decodable {
        let `import` : Swift.String
        let moduleName : Swift.String
    }
    /// Grammar
    struct Grammar : Decodable {
        let rule : [Rule]
        let moduleImport : [ModuleImport]
        let mark : Swift.String
    }
    /**
     Parses the supplied string using the generated grammar into a new instance of
     the generated data structure
    
     - Parameter source: The string to parse
     - Returns: A new instance of the data-structure
     */
    func build(grammar source : Swift.String) throws ->IR.Grammar  {
        let root = HomogenousTree(with: IRTokens.grammar, matching: source, children: [try AbstractSyntaxTreeConstructor().build(source, using: IRTokens.generatedLanguage)])
        return try ParsingDecoder().decode(IR.Grammar.self, using: root)
    }
}
