{"id":16422096,"url":"https://github.com/sonus21/c-programm-to-3-address-translator","last_synced_at":"2025-04-23T22:32:02.788Z","repository":{"id":30305186,"uuid":"33856921","full_name":"sonus21/C-programm-to-3-address-translator","owner":"sonus21","description":"Translate a C program to 3 Address Code.","archived":false,"fork":false,"pushed_at":"2020-10-29T02:25:07.000Z","size":13,"stargazers_count":3,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T21:24:56.433Z","etag":null,"topics":["bison","c","c-plus-plus","compiler","lex","lexical-analyzer","programming-language","yacc"],"latest_commit_sha":null,"homepage":"","language":"Yacc","has_issues":false,"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/sonus21.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":"2015-04-13T08:31:01.000Z","updated_at":"2024-02-08T18:49:22.000Z","dependencies_parsed_at":"2022-09-02T15:41:41.935Z","dependency_job_id":null,"html_url":"https://github.com/sonus21/C-programm-to-3-address-translator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonus21%2FC-programm-to-3-address-translator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonus21%2FC-programm-to-3-address-translator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonus21%2FC-programm-to-3-address-translator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonus21%2FC-programm-to-3-address-translator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sonus21","download_url":"https://codeload.github.com/sonus21/C-programm-to-3-address-translator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250527109,"owners_count":21445304,"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":["bison","c","c-plus-plus","compiler","lex","lexical-analyzer","programming-language","yacc"],"created_at":"2024-10-11T07:35:23.896Z","updated_at":"2025-04-23T22:32:02.390Z","avatar_url":"https://github.com/sonus21.png","language":"Yacc","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C-programm-to-3-address-translator\n  \u003ch3\u003e\u003cb\u003eIt takes a subset of C programming language and generates intermediate (3 address)  code .\u003c/b\u003e\u003c/h3\u003e\n\n### Subset of C programming language is defined as below\n\t\t Binary Operators: + , - , * , / ,exponentiation operator (denote it as @) \n\t\t Data types:  int , unsigned , signed , bool , float \n\t\t Bitwise operators : | , \u0026 , ~ , ^(XOR) \n\t\t Logical Operators : || , \u0026\u0026 , ! \n\t\t Relational Operators : ==, !=, \u003c, \u003c=, \u003e, \u003e= \n\t\t Assignment Operators : = , += , -= , *= , /= \n\t\t Unary opeartors : + , - \n\t\t Postfix / Prefix Operators : ++ , -- \n\t\t Identifiers:Simple identifiers without special characters (starts with alphabet)\n\t\t \n##### Control Structures:\n\t\t Assignment Statement \n\t \t Expressions: \n\t \t \t  infix expressions \n\t\t Iterative  \n\t\t Conditional: \n\t\t\t  if-else\n\t\t\t  else-if\n\t\t\t  switch \n\t\t Repetitive: \n\t\t\t  while\n\t\t Jump :\n\t  \t\t  continue\n\t  \t\t  break\n\n###### Note:\n          It follows C operators precedence , syntax rule.\n          There is no scope rule  for identifiers .\n          There is no function call.\n          Functions shouldn't have argument(s).\n          It reports following error messages\n\t\t\tlval requirement\n\t\t\tcase  label duplication\n\t\t\tVariable is not defined  \n\t\t\tRedeclaration of variable\n# I/O\n         Input  \n   \t\t\t -  C program which follows synatx rule as described above\n         Output\n   \t\t\t -  3 address code , Output will be displayed on  terminal/cmd and it's also available in file output.txt\n\t   \t\t \n# Download\n\t$ git clone https://github.com/sonus21/C-programm-to-3-address-translator.git \nor \t \t\n        [trans](https://codeload.github.com/sonus21/C-programm-to-3-address-translator/zip/master)\u003cbr/\u003e\n        $ unzip C-programm-to-3-address-translator-master.zip\u003cbr/\u003e\n$ cd C-programm-to-3-address-translator\u003cbr/\u003e\n\n# Installation \n   [1] If you are having binary file name \u003cb\u003etrans\u003c/b\u003e \n  \n\t$ ./trans filename\n\te.g. $ ./trans test.c\n\t    \t   \n   [2] If you are having source code of the program . \n\t\n\tRequirements\n\t\t[1]  GNU make utilities\n\t\t[2]  GNU flex/LEX\n\t\t[3]  GNU YACC/Bison\n\t\t[4]  g++ \u003e=4.8 \n\t$ cd C-programm-to-3-address-translator\n\t$ make \n# Support\nPlease report problems and bugs to  [trans](https://github.com/sonus21/C-programm-to-3-address-translator/issues) issue tracker.\n\n# License\nThe content of this project  is licensed under the\n[Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/us/deed.en_US)\n\n\t        \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonus21%2Fc-programm-to-3-address-translator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsonus21%2Fc-programm-to-3-address-translator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonus21%2Fc-programm-to-3-address-translator/lists"}