100 likes | 234 Vues
This project aims to create a robust compiler that translates C# code to JavaScript, enabling developers to build complex web applications in a language they are familiar with. Leveraging the strengths of both C# and JavaScript, our vision is to simplify the coding process, ensuring the code is intuitive, maintainable, and testable. The compiler will support most of C# 3.0 syntax while excluding specific features like pointer types and operator overloading. The development environment will include Visual Studio templates, making it user-friendly for web developers.
E N D
CSWFC-sharp web framework CSharp to JavaScript compiler Tzah Granot David Pankovski AssafElazar
VISION Java Script is a scripting 3-paradigm language, dynamically typed, prototype based, that is widely used to give functionality to web pages. C# is a multi-paradigm programming language, statically typed, class based, and widely used. Our vision is to allow programmers to write complex web application in C#. This allows to write easier and intuitive, to maintain and testable code, and also use reflection.
Main Parts Compiler (syntactic analysis, semantic analysis and code generation) 2. Standard library 3. Developing environment (includes visual studio template)
Functional Requirements • Compiler requirements: • We will support the entire C# 3.0 syntax except the following: • Struct Types • Unsafe code, pointer types, pointer conversions and expressions • Goto statements • Thread management and lock statements • Operator overloading • Class Destructors
Functional Requirements • Standard library requirements: • .NET Framework: • mscorlib.dll 4.0 assembly • Most of System namespace • Most of System.Collections namespace • Most of System.Collections.Generic namespace • System.dll 4.0 assembly • Most of System.Collections.Genericnamespace • System.Core.dll 4.0 assembly • Most of System.Collections.Genericnamespace • Most of System.Linq namespace • Browser JavaScript: • Most of org.w3c.dom interfaces • RPC functionality
Functional Requirements • IDE requirements: • Visual Studio template • MsBuild targets file
Non-Functional Requirements • The compiler must be extremely reliable • The usability of the compiler must be easy to every web developer, even ones who are not familiar with JavaScript.