Automaton

Nov. 8, 2013, 2:57 p.m.
function Automaton(substr) {
    this.delta = [{"a":0, "b":1}, {"a":1, "b":0}];
    this.state = 0;
    this.search = function(str) {
        this.state = 0;
        for (var i = 0; i < str.length; i++) {
            this.state = this.delta[this.state][str.charAt(i)];
            WSH.Echo(this.state);
        }
    }
}

var a = new Automaton("...");
a.search("ababbbba");

CC S01E04

Nov. 4, 2013, 11:45 p.m.

Antlr 3

Переходим на antlr 3, т.к. он более удобен для реализации первого компилятора.

Итак, crash-course по antlr 3.

(Read more)

CC S01E03

Oct. 24, 2013, 8:48 p.m.

Простейший транслятор

Зададимся целью транслировать арифметические выражения в их аналоги, например, на языке lisp (scheme). Рассмотрим упрощенный случай, когда грамматикой допускаются только суммы чисел.

(Read more)

CC S01E02

Oct. 16, 2013, 11:58 p.m.

Калькуляторы

На этой паре рассматриваются два варианта написания собственного калькулятора средствами antlr4.

(Read more)

CC S01E01

Sept. 25, 2013, 7:56 p.m.

Введение

План на семестр, Литература

Email рассылка: https://groups.google.com/forum/#!forum/usu_cc

Требования

  • В конце каждого занятия формулируется домашнее задание.
  • Сдавшие задание к следующему занятию получают 5 баллов, через одно - 4 балла,
  • через 2 - 3 и так далее.
  • Получившие 80% - 100% от максимального возможного балла получают отлично, 60% - 79% - хорошо, 40% - 59% - удовлетворительно или зачтено.

(Read more)