Menu

ECMA-262-3 in detail
  • Chapter 1. Execution Contexts (Russian, Chinese: 1, 2, Arabic, Japaneses, Korean).
  • Chapter 2. Variable object (Russian, Chinese: 1, 2, 3).
  • Chapter 3. This (Russian, Chinese: 1, 2, 3).
  • Chapter 4. Scope chain (Russian, Chinese: 1, 2).
  • Chapter 5. Functions (Russian, Chinese: 1, 2).
  • Chapter 6. Closures (Russian, Chinese).
  • Chapter 7.1. OOP: The general theory (Russian).
  • Chapter 7.2. OOP: ECMAScript implementation (Russian).
  • Chapter 8. Evaluation strategy (Russian).
ECMA-262-5 in detail
  • Chapter 0. Introduction.
  • Chapter 1. Properties and Property Descriptors.
  • Chapter 2. Strict Mode.
  • Chapter 3.1. Lexical environments: Common Theory.
  • Chapter 3.2. Lexical environments: ECMAScript implementation.
Notes
  • Note 1. ECMAScript. Bound functions.
  • Note 2. ECMAScript. Equality operators.
  • Note 3. CoffeeScript. Scheme on Coffee.
  • Note 4. Two words about "hoisting".
Overview lectures
  • JavaScript. The Core (Chinese, Japanese, German, Arabic, Russian, Korean, French).
"Essentials of interpretation" course
  • Essentials of interpretation. Intro.
  • Essentials of interpretation. Checkpoint: part 1
  • Lesson 1. The simplest arithmetic expressions (AE) evaluator
  • Lesson 2. Parsing. Lexer of AE in math infix notation
  • Lesson 3. Parsing. Parser of AE in math infix notation
  • Lesson 4. Working with environments. Variables and built-in functions
  • Lesson 5. Simple user-defined functions
  • Lesson 6. Inner functions, lambdas and closures
  • Lesson 7. Derived expressions ("Syntactic sugar")
  • Note 1. Stack-based evaluation of the simplest AE in the prefix notation
  • Note 2. S-expression to AST transformer
  • Note 3. Complex data structures: pairs and lists
  • Home
  • About
  • rssfeed

ECMA-262

  by Dmitry Soshnikov

Archive for August 2011

 
 

Essentials of interpretation. Intro.

“Essentials of interpretation” is a new series which consists of small lessons on interpretation of computer programs. The lessons are implemented in JavaScript and contain detailed comments. The sources can be found on the appropriate GitHub repository.

Available lessons:

  • Lesson 1. The simplest arithmetic expressions (AE) evaluator
  • Lesson 2. Parsing. Lexer of AE in math infix notation
  • Lesson 3. Parsing. Parser of AE in math infix notation
  • Lesson 4. Working with environments. Variables and built-in functions
  • Lesson 5. Simple user-defined functions
  • Lesson 6. Inner functions, lambdas and closures
  • Lesson 7. Derived expressions (“Syntactic sugar”)

Notes:

  • Note 1. Stack-based evaluation of the simplest AE in the prefix notation
  • Note 2. S-expression to AST transformer
  • Note 3. Complex data structures: pairs and lists


Read more »

August 10th, 2011 | 9 Comments | 3850 views
Category: Courses | Tags: Essentials of interpretation, Interpreter, PLAI, SICP

Articles

  • Essentials of interpretation. Checkpoint: part 1
  • Essentials of interpretation. Intro.
  • ECMA-262-5 in detail. Chapter 3.2. Lexical environments: ECMAScript implementation.
  • JavaScript. Array “extras” in detail.
  • Note 4. Two words about “hoisting”.

Comments

    • Dmitry Soshnikov on ECMA-262-5 in detail. Chapter 1. Properties and Property Descriptors.@Aleksey Я думаю, тут комбинация ;) Спасибо еще раз.
    • Aleksey on ECMA-262-5 in detail. Chapter 1. Properties and Property Descriptors.Дмитрий, я вчера тоже проверил в консоли google chrome - действительно, Object.getOwnPropertyNames возвращает и перечисляемые и неперечисляемые свойства объекта. Дмитрий,...
    • Dmitry Soshnikov on ECMA-262-5 in detail. Chapter 1. Properties and Property Descriptors.@Aleksey Спасибо, рад, что полезно. опечатка в том, что выведется только свойство, имеющее ключ x, так как остальные два добавлены...

Tags

Activation object by reference by sharing by value Closure CoffeeScript ECMA-262-3 ECMA-262-5 ECMAScript Essentials of interpretation Evaluation strategy execution context First-class objects Funarg Functional programming Function Declaration Function Expression Function Statement Interpreter JavaScript lexical environment name binding Notes Object-oriented programming OOP Property Prototype quiz Scope chain SICP this Variable object [[Scope]] Декларация функции Замыкание ООП Объектно-ориентированное программирование Объект переменных Прототип Стратегия передачи параметров Фунарг Функциональное программирование Функция-выражение Цепь областей видимости контекст исполнения

Archive

  • November 2011
  • August 2011
  • July 2011
  • February 2011
  • January 2011
  • December 2010
  • September 2010
  • June 2010
  • April 2010
  • March 2010
  • February 2010
  • November 2009
  • September 2009
  • July 2009
  • June 2009
© Dmitry A. Soshnikov 2009-2011. All rights reserved.
WordPress | Simplicity (modified)