This is the documentation for the programming language Luna for Atmel® AVR® microcontroller. Luna is an object-oriented, modern Basic/Pascal-like programming language, the structure and syntax are based on current development tools. It is equipped with a sophisticated and understandable syntax, which supports the developer by defined symantic/linguistic context in the prevention of errors (similar to Modula over C). It provides much more complex ways than simple BASIC-Languages (eg „BASCOM“) on a technical par with Pascal, Modula and C/C++. This makes it ideal for efficient and time-saving development of small to large, sophisticated software projects for AVR microcontrollers.
Luna consists of an integrated development environment, a preprocessor, compiler and assembler. Software can be written either in the IDe or in a normal text editor. The IDe offers this in addition to the generally desirable features such as syntax coloring, auto-indent, structuring of conditions including opening and closing function, a direct support of Luna-build-in hardware and software objects or classes of each AVR controller. In addition, a library editor, a controller defines browser and other useful tools are available.
The generated binary is comparable with powerful existing high-level languages in execution, speed and size. There is no limitation on the depth of terms/expressions. It also provides a highly optimized dynamic memory management with dynamic strings, memory blocks, memory structures, objects, classes, data structures, pointers, direct access to all hardware registers/ports and functions of the controller.
Luna is not based on a modified C/C++ compiler. It is a completely new development. The AVR specific code parts are open source and completely written in assembler. Luna does not claim to replace other programming languages. Rather enrich the offer of free development tools.