{"id":16359999,"url":"https://github.com/superjmn/codegeneration","last_synced_at":"2025-10-26T04:32:06.010Z","repository":{"id":75248170,"uuid":"123318818","full_name":"SuperJMN/CodeGeneration","owner":"SuperJMN","description":"Code Generation sample (courtesy of Javier JBM)","archived":false,"fork":false,"pushed_at":"2018-05-13T10:50:42.000Z","size":243,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T14:51:21.333Z","etag":null,"topics":["code-generation","compiler-construction","compiler-design","compiler-principles","compilers"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuperJMN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-28T17:32:22.000Z","updated_at":"2023-01-17T19:12:33.000Z","dependencies_parsed_at":"2023-06-05T20:45:17.012Z","dependency_job_id":null,"html_url":"https://github.com/SuperJMN/CodeGeneration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SuperJMN/CodeGeneration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FCodeGeneration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FCodeGeneration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FCodeGeneration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FCodeGeneration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuperJMN","download_url":"https://codeload.github.com/SuperJMN/CodeGeneration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FCodeGeneration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281059645,"owners_count":26437056,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["code-generation","compiler-construction","compiler-design","compiler-principles","compilers"],"created_at":"2024-10-11T02:10:14.907Z","updated_at":"2025-10-26T04:32:06.005Z","avatar_url":"https://github.com/SuperJMN.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CodeGeneration\n\nCode Generation sample (courtesy of Javier JBM)\n\nThis is a simple code generation example using C#. It has been created originally by **Javier (JBM)** in Java and ported to C# by me (@SuperJMN). So, all credits go to him :)\n\nThe application translates high level expressions to **Intermediate Code**.\n\n# What's code generation?\n\nCode generation is the process of converting a language into another, usually simpler and closer to the machine that will execute it.\n\n# Example\n\nThis high level expression:\n\n`a = b + c * d`\n\nis turned into:\n\n```\nT1 = c * d\nT2 = b + T1\na = T2\n```\n\n# Running the application\n\n- **Tests**. this projects has tests, so run them and see what's under the hood :)\n- **Program.cs**. In addition, you will find code in the Main method that generates code from an AST. If you debug it from Visual Studio it will close almost immediately, so it's better to run it \"without debugging\", that keeps the console window until you press a key :)\n\n**PLEASE NOTICE** that the code is generated from an **AST**, not from the actual source code (a string). The generation of an AST from source code belongs to another (previous) stage of the compiling process.\n\nFeel free to copy or investigate / ask!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperjmn%2Fcodegeneration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperjmn%2Fcodegeneration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperjmn%2Fcodegeneration/lists"}