EMEN, AST-BASED PROGRAMMING LANGUAGE

dc.contributor.authorTokan, Bexultan
dc.contributor.authorKabdrashev, Bekzat
dc.contributor.authorSerikbayev, Marat
dc.contributor.authorSurpkelov, Nurlybek
dc.date.accessioned2024-06-22T18:36:04Z
dc.date.available2024-06-22T18:36:04Z
dc.date.issued2024-04-21
dc.description.abstractThe goal of our senior project, "Emen," is to overcome the traditional text-based programming languages' difficult learning curve and error-prone character, which deter many newcomers. Emen is a programming language that takes a new approach by using an Abstract Syntax Tree (AST) and combining a customized editor and compiler to reduce common syntactic and semantic problems. The constraints found in current programming environments and the advantages of visual languages like Scratch for education served as the inspiration for this project. By making programming more approachable and less daunting for novices while maintaining its power and flexibility for more experienced programmers, Emen seeks to transform the programming industry. Our team used the Agile process to create Emen, a functional programming language with a feature set, by utilizing development technologies including Git, Go, and Raylib. Type and variable declarations, function calls, support for logical and arithmetic operations, static arrays, and control structures like while loops and if-else statements are a few examples of these. By enabling direct interaction and editing in the user interface (UI) and providing a visual representation of the code in AST format, Emen's editor guarantees a syntax-error-free writing experience. Significant improvements were made in the spring after the programming language was successfully implemented with an operating editor and compiler by the end of the fall semester. A revamped user interface (UI) influenced by the color scheme of VS Code, a reorganized code base for easier navigation and maintenance, and the transition from an array to a linked-list structure for effective code node management were among the modifications. Notably, these updates improved the backend operations by fixing reference problems and drastically reducing time complexity. As it stands now, Emen set the stage for future advancements. Future work ideas include investigating automatic mistake correction, making sure the language is cross-platform compatible, and extending its capabilities to accommodate object-oriented programming concepts. Emen aims to become a standard instrument in programming education and a driving force behind innovation in software development methodologies.en_US
dc.identifier.citationTokan, B., Kabdrashev, B., Surpkelov, N., Serikbayev, M. (2024). Emen, AST-based programming language. Nazarbayev University School of Engineering and Digital Sciencesen_US
dc.identifier.urihttp://nur.nu.edu.kz/handle/123456789/7954
dc.language.isoenen_US
dc.publisherNazarbayev University School of Engineering and Digital Sciencesen_US
dc.rightsAttribution 3.0 United States*
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/us/*
dc.subjectType of access: Open accessen_US
dc.subjectAST-baseden_US
dc.subjectprogramming languageen_US
dc.titleEMEN, AST-BASED PROGRAMMING LANGUAGEen_US
dc.typeBachelor's thesisen_US
workflow.import.sourcescience

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Senior Project Report (1).pdf
Size:
150.06 KB
Format:
Adobe Portable Document Format
Description:
Bacheor thesis, report
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
6.28 KB
Format:
Item-specific license agreed upon to submission
Description: