Thursday, September 1, 2011
prog: language translator
such as a compiler or interpreter
Python: Symbol table
http://eli.thegreenplace.net/2010/09/18/python-internals-symbol-tables-part-1/
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 sometimes its location.
A high-level view of the front-end of CPython is:
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 sometimes its location.
A high-level view of the front-end of CPython is:
- Parse source code into a parse tree
- Transform parse tree into an Abstract Syntax Tree
- Transform AST into a Control Flow Graph
- Emit bytecode based on the Control Flow Graph
prog: bytecode
http://en.wikipedia.org/wiki/Bytecode
Python source code is compiled into bytecode, the internal representation of a Python program in the CPython interpreter. The bytecode is also cached in .pyc and .pyo files so that executing the same file is faster the second time (recompilation from source to bytecode can be avoided). This “intermediate language” is said to run on a virtual machine that executes the machine code corresponding to each bytecode. Do note that bytecodes are not expected to work between different Python virtual machines, nor to be stable between Python releases.
(http://docs.python.org/glossary.html#term-bytecode)
Python source code is compiled into bytecode, the internal representation of a Python program in the CPython interpreter. The bytecode is also cached in .pyc and .pyo files so that executing the same file is faster the second time (recompilation from source to bytecode can be avoided). This “intermediate language” is said to run on a virtual machine that executes the machine code corresponding to each bytecode. Do note that bytecodes are not expected to work between different Python virtual machines, nor to be stable between Python releases.
(http://docs.python.org/glossary.html#term-bytecode)
Python: Coding style
http://www.python.org/dev/peps/pep-0008/
Wednesday, August 31, 2011
C++: Unicode
Character sets
http://www.microsoft.com/typography/unicode/cs.htm
Support for Unicode
http://msdn.microsoft.com/en-us/library/2dax2h36.aspx
Unicode is a specification for supporting all character sets, including character sets that cannot be represented in a single byte. If you are programming for an international market, consider using either Unicode or multibyte character sets (MBCSs) or enabling your program so you can build it for either by changing a switch.
A wide character is a 2-byte multilingual character code. Most characters used in modern computing worldwide, including technical symbols and special publishing characters, can be represented according to the Unicode specification as a wide character. Characters that cannot be represented in 1 wide character can be represented in a Unicode pair with Unicode's surrogate feature. Because each wide character is always represented in a fixed size of 16 bits, using wide characters simplifies programming with international character sets.
Generally, wide characters take more space in memory than multibyte characters but are faster to process. In addition, only one locale can be represented at a time in multibyte encoding, whereas all character sets in the world are represented simultaneously by the Unicode representation.
Unicode Programming Summary
http://msdn.microsoft.com/en-us/library/dybsewaf%28VS.80%29.aspx
With _UNICODE defined, _T translates the literal string to the L-prefixed form; otherwise, _T translates the string without the L prefix.
Multibyte Character Sets
http://msdn.microsoft.com/en-us/library/5z097dxa.aspx
Windows ANSI character set
http://www.microsoft.com/typography/unicode/cs.htm
Support for Unicode
http://msdn.microsoft.com/en-us/library/2dax2h36.aspx
Unicode is a specification for supporting all character sets, including character sets that cannot be represented in a single byte. If you are programming for an international market, consider using either Unicode or multibyte character sets (MBCSs) or enabling your program so you can build it for either by changing a switch.
A wide character is a 2-byte multilingual character code. Most characters used in modern computing worldwide, including technical symbols and special publishing characters, can be represented according to the Unicode specification as a wide character. Characters that cannot be represented in 1 wide character can be represented in a Unicode pair with Unicode's surrogate feature. Because each wide character is always represented in a fixed size of 16 bits, using wide characters simplifies programming with international character sets.
Generally, wide characters take more space in memory than multibyte characters but are faster to process. In addition, only one locale can be represented at a time in multibyte encoding, whereas all character sets in the world are represented simultaneously by the Unicode representation.
Unicode Programming Summary
http://msdn.microsoft.com/en-us/library/dybsewaf%28VS.80%29.aspx
With _UNICODE defined, _T translates the literal string to the L-prefixed form; otherwise, _T translates the string without the L prefix.
Multibyte Character Sets
http://msdn.microsoft.com/en-us/library/5z097dxa.aspx
Windows ANSI character set
C++ : Literals
http://msdn.microsoft.com/en-us/library/c70dax92%28v=vs.80%29.aspx
Invariant program elements are called "literals" or "constants." The terms "literal" and "constant" are used interchangeably here. Literals fall into four major categories: integer, character, floating-point, and string literals.
Invariant program elements are called "literals" or "constants." The terms "literal" and "constant" are used interchangeably here. Literals fall into four major categories: integer, character, floating-point, and string literals.
Friday, August 5, 2011
Sencha EXT Designer Tutorials
http://aboutfrontend.com/extjs/extjs-combobox-using-extdesigner/
(http://docs.sencha.com/)
(http://docs.sencha.com/)
Sencha Documentation Resources
Subscribe to:
Posts (Atom)