NHI1 10.0
NHI1 -
theKernel -
theLink -
theConfig -
theSq3Lite -
theCompiler -
theBrain -
theGuard
Nhi1Label - Nhi1BuildExtension - Nhi1Config - Nhi1Exec - Nhi1Switch - Nhi1Tags - Nhi1Docs |
An alphabetically sorted list of all keywords with references to their documentation:
The following subsections provide a list of all keywords that are recognized by NHI1.
The alc is the abbreviation for "all languages compiler" where languages stands for programming languages as well as any form of structured data.
The alc-compiler is the central tool in the Programming-Language-Micro-Kernel (PLMK) and is used to take over error-prone and monotonous tasks that otherwise take a lot of time. The guiding principle in the alc-compiler is simply explained:
a code is only correct and valid if the alc-compiler has written it
That sounds a bit aloof at first, but it\'s the truth. because if you take programming seriously, you have to admit to yourself that people are far too imperfect to write really error-free code.
In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated by the program, but is no longer referenced;
such memory is called garbage.
https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)
Heap memory is a region of computer memory used for dynamic allocation of objects at runtime.
It is a dynamic area of memory where blocks of memory are allocated and deallocated dynamically as needed,
in contrast to the stack memory, where memory is allocated and deallocated in a last-in-first-out (LIFO) manner.
Objects stored in the heap have a longer lifetime than objects stored in the stack, as heap-allocated objects persist
until they are explicitly deallocated or until the program ends.
https://computersciencewiki.org/index.php/Heap_memory
MkObjectC - managed-object details
Managed-Object-Technology (MOT) is a class system in C that is designed to integrate automatically into other software, which of course also includes other programming languages.
The core of the MOT is the class and the class is a C struct with a link between:
The type is a struct and a struc which follows the MOT-format is called a MOT-class.
The type MyClassS
is always related to the class MyClassC
.
MkBufferS
versa MkBufferC
.A MOT-class always starts with a union
called super.
union
is always the MkObjectS instance-base.A MOT-class is not just limited to the C programming language, but the technology allows the SAME class to be used as a MOT-class in almost all programming languages: "write once → use everything" .
The MOT-Wrapper is used to connect the MOT-Class (lang=C) to a Target-Programming-Language (TPL) (lang=C++,C#,VB.NET,Java,Python,Ruby,Perl,PHP,Tcl or GO).
Two connection methods are conceivable:
delete ptr
) from the outside, the MOT instance is also deleted, which is difficult to control in a complex scenario (e.g. in the event processing of an application server) and ultimately creates "disorder" in the Programming-Language-Micro-Kernel (PLMK).The NULL-Intance in Managed-Object-Technology (MOT) is the counterpart to the NULL
value pointer in C …
NULL
separately from each other so that the TPL and MOT are separated.NULL
but two.NULL
. The meta-code is an importand part of the alc compiler because this is the glue between the input file (e.g. api-definition} and the output files (e.g. the code)
The best definition of meta-code is a wrapper around a given API that follows the Programming-Language-Micro-Kernel (PLMK) programming style.
The meta-compiler is the tool to generate the meta-file from the meta-header and the meta-parser.
The meta-file is created by the meta-code-compiler (META-COMPILER) using the meta-code-parser-extension (META-PARSER), meta-code-external-header-file (META-HEADER) and optional the meta-code-header-wrapper-file (META-WRAPPER) as input.
The meta-file is:
The external-header-file is the source of the API information and the goal of the Programming-Language-Micro-Kernel (PLMK) in conjunction with the All-Language-Compiler (ALC) is to use this file to provide language binding for a variety of languages.
The meta-library is either created directly by the programmer or is the meta-code-wrapper around a native-library created by the meta-code-compiler (META-COMPILER).
The native-meta-library is the link between the meta-library and the Target-Programming-Language (TPL), with the connection being established via the Managed-Object-Technology (MOT).
The meta-parser is a C compliant extension to the C programming language to associate an attribute with an C-object-definition (e.g. function, struct, enum, argument etc.)
If an external-header-file cannot be changed, it is a good idea to call this file via a wrapper and then add the changes using __parser__global__(...)
.
The NULL-Value in Managed-Object-Technology (MOT) is the counterpart to the NULL
value in C …
This problem looks simpler than it is because NULL
is not defined in every language.
TCL e.g. does not understand the NULL
as a data type and an approximation with ""
is only correct to the extent that the target API also understands the ""
as a NULL-Value.
Unfortunately, this is not always the case and therefore:
NULL
is explicitly required the MK_NULL
is used in C . NULL
as string (MK_STRN) is required then the string "MK_NULL"
is used in C.To support the NULL
the following items are defined:
"MK_NULL"
into the MK_NULL
pointer wherever a pointer is expected as a return value. The PLMK is the summary of all tools, libraries and technologies used to build and use the microkernel.
The PLMK includes theKernel and theCompiler as well as the build environment.
The Programming-Language-Micro-Kernel (PLMK) is separted into three programming-layers:
A RUNTIME is a thread-local structure that maps the global namespace of a meta-code-library (META-LIBRARY) and is initialized when a new thread is started.
The kernel-runtime MkRuntimeS is always present and maps the meta-kernel.
TPL describes the set of all programming languages supported by the Programming-Language-Micro-Kernel (PLMK).
C is a general-purpose, procedural, high-level programming language used in the development of computer software and applications, system programming, games, and more.
The C programming language is known for its simplicity and efficiency. It is the best choice to start with programming as it gives you a foundational understanding of programming.
C++ is the most used and most popular programming language developed by Bjarne Stroustrup. C++ is a high-level and object-oriented programming language. This language allows developers to write clean and efficient code for large applications and software development, game development, and operating system programming. It is an expansion of the C programming language to include Object Oriented Programming(OOPs) and is used to develop programs for computers. This C++ Tutorial will cover all the basic to advanced topics of C++ like C++ basics, C++ functions, C++ classes, OOPs and STL concepts.
C++ is a most popular cross-platform programming language which is used to create high-performance applications and software like OS, Games, E-commerce software, etc. It was developed by Bjarne Stroustrup, as an extension of C language. C++ give a high level of control over system resources and memory.
C# is the most common programming language used to develop multiple applications in the.NET framework, and it was introduced by Microsoft in 2000. It was designed to be a simple, object-oriented programming language that can be used to create a wide range of applications and software.
It features a clear syntax, an object-oriented nature, and platform independence, which makes it simpler for developers to organise their code and makes it more legible and manageable.
It is platform-independent in the sense that it may be used to create programmes that operate on different platforms such as Windows, macOS, Linux, and mobile devices. This makes C# a versatile language.
Developed by Sun Microsystems in 1995, Java is a highly popular, object-oriented programming language. This platform independent programming language is utilized for Android development, web development, artificial intelligence, cloud applications, and much more.
Golang is a procedural and statically typed programming language having the syntax similar to C programming language. Sometimes it is termed as Go Programming Language. It provides a rich standard library, garbage collection, and dynamic-typing capability. It was developed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google but launched in 2009 as an open-source programming language and mainly used in Google’s production systems. Golang is one of the most trending programming languages among developers.
The term PHP is an acronym for – Hypertext Preprocessor. PHP is a server-side scripting language designed specifically for web development. It is open-source which means it is free to download and use. It is very simple to learn and use. The file extension of PHP is “.php”.
PHP was introduced by Rasmus Lerdorf in the first version and participated in the later versions. It is an interpreted language and it does not require a compiler.
Perl is a general purpose, high level interpreted and dynamic programming language. Perl supports both the procedural and Object-Oriented programming. Perl is a lot similar to C syntactically and is easy for the users who have knowledge of C, C++. Since Perl is a lot similar to other widely used languages syntactically, it is easier to code and learn in Perl. Programs can be written in Perl in any of the widely used text editors like Notepad++, gedit, etc.
This Programming Language Python Tutorial is very well suited for beginners and also for experienced programmers. This specially designed free Python tutorial will help you learn Python programming most efficiently, with all topics from basics to advanced (like Web-scraping, Django, Learning, etc.) with examples.
Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. Ruby is a pure Object-Oriented language developed by Yukihiro Matsumoto. Everything in Ruby is an object except the blocks but there are replacements too for it i.e procs and lambda. The objective of Ruby’s development was to make it act as a sensible buffer between human programmers and the underlying computing machinery.
VB.NET stands for Visual Basic. Network Enabled Technologies. Microsoft released the .NET platform in 2001, that supports Visual Basic .NET which is an upgrade to the last version of VB programming language. It is a high-level programming language for the Microsoft .NET Framework. It is also possible to run VB.NET on Linux and MAC operating systems.
Visual Basic or VB is a programming language was initially released in 1991. It was the first programming language that directly supported programmable graphical user interface using language-supplied objects. From that time until 2002, there were 7 other versions released, each version having features that increased the power of the language.
The build root directory, the real directory used is NHI1_abs_top_builddir
The extension root directory, the real extension directory used is NHI1_EXT
The generated-files root directory, the real generated-files directory used is NHI1_abs_top_gendir
The real source directory: is same as NHI1_abs_top_srcdir
The real build directory: NHI1_BUILD/NHI1_target/NHI1_setup
The real extension directory: NHI1_EXT/NHI1_target/NHI1_setup
The real generated-files directory: NHI1_GEN/NHI1_target/NHI1_setup/...
The real source directory: is same as NHI1_HOME
The setup is the last part of the build-directory :
A setup is created with Nhi1Config and is just the configure
of the build directory.
The target is the second to last part of the build directory:
x86_64-suse-linux-gnu
./config.guess
of the automake/autoconf
build environment.configure
script must accept the value.