http://www.negnc.net/ngnc_result_of_iRet.htm "NGNC," Interrupt "Results"
Subtitle: A "class C" scripting language introduction;
Subtock 2: A programmer "Wen Xie friends" "Throwing Tour Yu" post;
table of Contents:
1, name description
2, simple rule description
3, relationship with "interrupt"
4, FILEANA, a file analysis tool using NGNC scripting language
5, NGNC development mode, "throwing brick 引 玉"
Name explanation:
NGN = Engine sound, C = C language, the original intention is the same as other scripting languages, the purpose is to encapsulate the engine, use scripts to remove data and rule data out of the engine, so take the name "Engine"
Simple rule description:
Basic compatibility with standard C, no assessment, support basic macro definition, standard C type, control, cycle, function body, etc .; how much the ANSIC gap is unable to answer because there is no study; for example: IF
You must use () to wrap the expression, then follow other expressions or program instruction block "{} block", and NGNC does not need (), but use "," segmentation conditions expressions and program body expressions. There is also a better way to be flexible constant assignment mechanism, mainly to define external data and specifically supported by standard C.
Relationship with "Interrupt":
Interrupt is the most important concept in the machine BIOS. When the external device has a request, such as a mouse, serial port data synchronization request, etc., it generates an interrupt. In a single CPU environment, the system saves the current machine status, responding to this request. After the request is completed, the device status is restored; "NGNC" is an interrupt request, interrupted me this single CPU brain, after the IRET, "NGNC" is presented in front of me;
All along the document of the IDE environment development project, and organizational and managing the documents needed, although the VC's function is very powerful, in the later stage, each of the project is modified by individual data, but recompiled the entire project, trouble. At first, through the design system data file format, the data file was moved out of the project, and the engine and data were separated, and the data editor or simple text description file was performed when only data was modified. The preparation data editor must of course avoid the advantages such as specification data entry, but an additional work is generated. Text description has become our main goal.
The initial text description method is simple, such as the INI file management mode of Window. As the text file format is gradually complex, the conversion tool for text files to a specific data format is increasingly transforming to C language. This is the first opportunity for NGNC. We call it "Dataout", as the name refers to take the data.
The more project development, the demand for control logic and rule description of the project is gradually presented. Just DataOut can no longer meet our needs, just as the text data description, just a simple rule, but with the development of the function, the rules of support for simple class C language is supported.
Development to now NGNC has become a true C language and has its own virtual machine. Our current development has become more and more like this development mode: Any project uses the use of NGNC scripting languages, naturally makes the system good split, reducing the degree of coupling between subsystems, making TEAM collaboration clearer and simple. The overall system complexity decreases, and the improvement of management efficiency is the credit used by scripting languages. Here, the example of several NGNC applications will be described. NGNC Application 1:
FILEANA, a file analysis tool using a scripting language:
FILEANA's production of frequent file format analysis and format conversion, data extraction work. For example: the initial development of the Internet, many websites in order to make the content "rich", the content of the other similar websites on the robot is common. Frequently search for positioning, extraction conversion, exhausted individuals. Research and study other game engines, analyze the analysis of game resources, it will be very helpful to development, and the data is the core of the core.
Each time you analyze the process of a target file: Observe (look at the eyes) target file, use experience to simply speculate a data structure, open the previous VC project file, modify the data definition, start trying to search, luck, not 2 times Can get it. In short, after n times, success is not problematic. Every analysis is like this, and finally manages a lot of data format with IDE. "It seems that the IDE of VC is very weak to the management ability of the data format."
The NGNC script is centrally used in the use of Fileana: Data format description, search rule description, data extraction, and transformation (output into new format files, or database record). For common support functions, user operation interfaces, etc., use MFC window system implementation.
The use of Fileana has become simple and simplified. It is mainly to modify the adjustment efficiency of the data format and the search policy. There is a copy code. And the common file format output is also natural.
(Highweight: NGNC data description method and rule description is C language habits, which is very conforming to programmers, easy to use)
NGNC development mode, "throwing brick 引 玉":
NGNC is the same as other languages, not the exquisite of grammar rules, but also to its function library, and the richness of the supported engine, NGNC will provide the engine's developer with the engine, a simple and clear The interface, making users more focused on the application rather than "White Hand", shielding unnecessary interruption, and playing each single CPU to the extreme; this purpose is here to make more friends, emotion for reference;
(Interested friends, please see the open development project provided by this site: "NGNCALC2X" related content)
(Here is "" NGNIDE Integration Debugging Environment "Introduction" "NGNC Special")
(There is also an open letter of "to friends")