{"id":19706165,"url":"https://github.com/llnl/typeforge","last_synced_at":"2025-04-29T16:32:59.419Z","repository":{"id":54475466,"uuid":"229631812","full_name":"LLNL/typeforge","owner":"LLNL","description":"Typeforge is a tool for type refactoring of C/C++ programs. It enables users to change the type of variables and determines all type-dependent changes that are necessary to ensure that the generated code is again a correct program.","archived":false,"fork":false,"pushed_at":"2020-03-11T00:09:14.000Z","size":371,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T18:11:27.376Z","etag":null,"topics":["cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LLNL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-22T21:13:29.000Z","updated_at":"2024-06-06T17:57:01.000Z","dependencies_parsed_at":"2022-08-13T17:00:36.926Z","dependency_job_id":null,"html_url":"https://github.com/LLNL/typeforge","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Ftypeforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Ftypeforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Ftypeforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Ftypeforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LLNL","download_url":"https://codeload.github.com/LLNL/typeforge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251540440,"owners_count":21605906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp"],"created_at":"2024-11-11T21:34:24.786Z","updated_at":"2025-04-29T16:32:54.410Z","avatar_url":"https://github.com/LLNL.png","language":"C++","readme":"Typeforge\n=========\n\nTypeforge is a tool for type refactoring of C/C++ programs. It enables users to change the type of any variable and automatically determines all necessary additional (i.e. type-dependent) changes. It guarantees the syntactic and semantic correctness of the generated code. Generated code will always compile.\n\n# Getting Started\n\nTypeforge uses [ROSE Compiler](http://rosecompiler.org/).\nThe following instructions assume that [ROSE is installed](https://github.com/rose-compiler/rose/wiki/How-to-Set-Up-ROSE) and the `rose-config` tool is on your path.\nYou might also need to install autoconf and libtool (for Ubuntu: `sudo apt install autoconf libtool`).\n\nYou can then follow these instructions to install Typeforge:\n```\ngit clone https://github.com/LLNL/typeforge.git\ncd typeforge\n./build\n./configure\nmake -j\nsudo make install\ntypeforge --version\n```\nIf you do not have administrative priviledge, add `--prefix=/path/to/install/typeforge` to the `configure` command.\n\n# Getting Involved \u0026 Contributing\n\nGithub issue tracking and pull request will be leveraged to facilitate high quality contributions.\nAll contribution must be made under BSD-3 license.\n\n## Reporting Issues\n\nWe will provide an issue reporting template and additional guideline soon.\n\n## Making a Pull Request\n\nPull requests must be made toward the `develop` branch from a feature/issue branch (meaning that it has a meaningful feature name or GH issue number).\n\nWe will provide additional guidelines soon.\n\n# Authors\n\nTypeforge was developed at LLNL by:\n * Markus Schordan\n * Tristan Vanderbruggen\n * Nathan Pinnow\n\n# Publications\n\nTypeforge is used by research projects aimed at changing how C/C++ types are used in existing applications.\n\nA list of publication will be provided soon.\n\n# Release\n\nTypeforge is distributed under the terms of the BSD-3 license. See [NOTICE](NOTICE) for details.\n\nSPDX-License-Identifier: BSD-3\n\nLLNL-CODE-799937\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Ftypeforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fllnl%2Ftypeforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Ftypeforge/lists"}