oberon-07-compiler
oberon-07-compiler copied to clipboard
New functions and native modules.
Hello! Thinking about expanding the functionalities, I imagine there is something related to new modules for the language such as: *If any module suggestions already exist, you may have a separate folder of examples. This helps the adoption of the language. The more examples the better.
1 - File manipulation module (read files, write files, delete files, search files, create directories, delete directories); 2 - Module with time, date, year function; 3 - Module for windows Gui (Windows, buttons, menus, message box); 4 - Text Window Gui Module console and Color function in the console and text mode windows;
Does your compiler support the functions of pure version 7 of Oberon? We can conclude this. And in this case, is it a natural compiler or does it make a transpiler for C. And does it use GCC to compile the .c into .exe? I note that we need a bunch of additional examples.
Thank you for your work. This above is a suggestion for improvement.
The compiler translates only into machine code. GCC is not used.
The compiler supports Oberon07 edition 2016 + some extensions:
- The SYSTEM pseudo-module has been expanded
- The symbol "_" is allowed in identifiers
- Added system flags
- The CASE operator has been improved (constant expressions have been added to option labels and an optional ELSE branch)
- The set of standard procedures has been expanded
- Type guarding/checking semantics clarified for null pointer
- Added one-line comments (starting with a pair of characters "//")
- Inheritance from a pointer type is allowed
- Added syntax for importing procedures from external libraries
- "Strings" can also be enclosed in single quotes: 'string'
- Added WCHAR type
- Added operation of concatenation of string and character constants
- It is possible to import modules specifying the path and file name
- Added special syntax for conditional compilation
- The name of the procedure at the end of the declaration (after END) is optional
- Allow lowercase for keywords