I will not give you a history of the birth of the web as we know it now; I'm just going to remind you how it works. However, if some people still want to know more about the story from the Internet, they can follow this link. In short, do not confuse Internet with the web! Internet is an assembly of multiple networks, all connected to each other. This cluster of cables, fiber optics ... hardware, to make it simple, constitutes the Internet, also call the network of networks. The Web is a file system present on machines (servers) transiting through a special protocol, searchable through web browsers and running on the Internet! The web is therefore a system of files that anyone with a Computer (or a phone, now ...) connected to the Internet can consult (with a subscription of an ISP, of course ...
Talk about Further Market, what it offers as services can be a bit confusing first seen. As we usually say, all rivers flow into the sea and the sea in the ocean ; Further Market is like a blazing revolution in the system computer in which several services can be developed on the fly. The most popular slogan commonly: “Further Market is an advanced business and social place where you communicate with the world, make and reach businesses and families.” Available at the following address: https://www.furthermarket.com/
A compiler is an application that reads one or more text files and make it an executable file. This executable file will be the execution of what is described in text files. To make an executable file it is necessary to produce machine code. The compiler will read a text file and produce a machine code. The machine code is a programming language. So the compiler has to transform a high-level language in low level language.
a high-level language is a language easily understood by a human. Pascal for example, can be read and understood. He has lots of keywords that make him allow having a great expressiveness. This programming language can be understood in a simple way by a human. The higher the programming language, the more your language is easily understandable.
A low level language is the one that will be closest to the machine. Thus, instructions sound very close to the processor, we will have less ease in reading it, but the processor, he will have no difficulty in executing it. On the other hand, the program will have to manage problems related to the processor. Thus, the stacks, memory location, and registers should be properly used.
The lowest level language we can generate is the assembler. For simplify we will generate MSIL (Microsoft Intermediate Language) For example, the C# compiler generated from MSIL that will be compiled to it, executed by the CLR from .Net. MSIL is close to an assembly language but removes a lot of constraints. MSIL simplifies a lot of low level concepts such as jumps management and the stack. These are concepts to take into account when we want to make methods in our code. The stack stores the call context while the jump is following instructions. In assembly we do not have notions of method, but only a sequence of instructions. With the CLR we will also enjoy a garbage collector, check division by zero ... MSIL introduces a notion of class and method, but the content of his methods remains a language based on instructions. We will now see what are the steps to go from a high-level language to a low level language.
A compiler contains three major phases:
During the first phase we will read a text file and convert it into a tree abstract syntax. This syntactic tree is an abstract representation of the code written in the file. So we will have a manipulable object by code to be able to make analyses. During this phase, if our text file does not contain the right keywords, or if the order of the keywords is not correct we will not be able to deduce the abstract syntax tree.
The second phase is the analysis of this syntactic tree. At this moment, we will verify that our language is semantically correct. During this phase we will do a lot of tests to validate that our program can be converted to machine code and executed by the processor in a logical way.
After the semantic analysis phase, our compiler will not generate any more error on the written code. It will remain the third phase of the compiler which is the generation of code. So we will generate the machine code that will execute our code. It's in this phase that the executable file will be written. From the two previous analyzes we let's convert our syntax tree into machine code interpretable by the compiler. It is during this phase also that we will be able to add optimizations on the instructions.
Further Market has a compiler running on a development model Cloud “Storage and Processing in the cloud” that will allow us to start a good new development system compatible applications to USSD, Android and IOS..