Semantic dictionary encoding
Encyclopedia
Semantic dictionary encoding (SDE) preserves the full semantic context of source programs while adding further information that can be used for accelerating the speed of code generation. SDE forms a code-generating loader. It is a form of bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...

 combined with a JIT compiler
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...

. It is code generation at load time.

In an elementary form, the dictionary entries represent nodes in a directed acyclic graph
Directed acyclic graph
In mathematics and computer science, a directed acyclic graph , is a directed graph with no directed cycles. That is, it is formed by a collection of vertices and directed edges, each edge connecting one vertex to another, such that there is no way to start at some vertex v and follow a sequence of...

 (DAG), that describes the actions of the program, as an abstract syntax tree
Abstract syntax tree
In computer science, an abstract syntax tree , or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language. Each node of the tree denotes a construct occurring in the source code. The syntax is 'abstract' in the sense that it...

 (AST) in tabular form.

It uses an intermediate representation (IR), that is based on the encoded abstract syntax tree and symbol table
Symbol table
In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is associated with information relating to its declaration or appearance in the source, such as its type, scope level and...

 of a program.

See also

  • Abstract machine
    Abstract machine
    An abstract machine, also called an abstract computer, is a theoretical model of a computer hardware or software system used in automata theory...

  • Code generation
  • Software portability
    Software portability
    Portability in high-level computer programming is the usability of the same software in different environments. The prerequirement for portability is the generalized abstraction between the application logic and system interfaces...


External links

  • http://www.hokstad.com/semantic-dictionary-encoding.html
  • http://www.ics.uci.edu/~franz/Site/pubs-pdf/DissETH10497.pdf
  • http://www.thefreelibrary.com/Intermediate+representations+of+mobile+code.-a0179977557
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK