Return to Video

03-16 More Digits

  • 0:00 - 0:07
    Nas últimas unidades, usamos expressões regulares para classificar conjuntos de strings.
  • 0:07 - 0:15
    Acontece que gramáticas podem codificar essas linguagens regulares, ou expressões regulares,
  • 0:15 - 0:17
    com as quais trabalhamos antes.
  • 0:17 - 0:20
    Escrevi aqui uma gramática para number, que reconhece
  • 0:20 - 0:25
    exatamente a mesma linguagem, exatamente o mesmo conjunto de strings, que a expressão regular acima.
  • 0:25 - 0:30
    Podemos reescrever number como um dígito seguido de more_digits.
  • 0:30 - 0:35
    Essa construção imita, ou captura a mesma idéia que este + --
  • 0:35 - 0:37
    precisamos de pelo menos um, mas podemos ter mais.
  • 0:37 - 0:40
    Aqui, eu apenas listei todos os dígitos --
  • 0:40 - 0:44
    bem, não coube aqui nesta página, mas você pode imaginar que eu escrevi aqui
  • 0:44 - 0:48
    as alternativas correspondentes a 2 8, na nossa gramática.
  • 0:48 - 0:51
    more_digits -- é aqui que grande parte da ação acontece.
  • 0:51 - 0:56
    Uma possibilidade é ter um dígito seguido potencialmente de mais dígitos,
  • 0:56 - 0:59
    e outra é não ter mais dígitos.
  • 0:59 - 1:04
    Eu poderia escrever epsilon -- isso siginifica que more_dígits produz nada.
  • 1:04 - 1:07
    Por exemplo, aqui embaixo temos uma derivação
  • 1:07 - 1:11
    começando com number, produzindo o número 42.
  • 1:11 - 1:16
    number -> digit more_digits, usando nossa primeira regra - regra número 1.
  • 1:16 - 1:22
    Então usamos more_digits -> digit more_digits -- regra 2.
  • 1:22 - 1:27
    Então -- oh, clássico erro de professor! -- não vou a lugar nenhum...
  • 1:27 - 1:30
    shwoop, veja -- isso é interessante.
  • 1:30 - 1:36
    De digit digit more_digits usamos more_digits -> --
  • 1:36 - 1:40
    regra 3. Agora ficamos com digit digit e mais nada.
  • 1:40 - 1:44
    Agora faço o segundo digit ir para 2 -- esse string vazio não aparece --
  • 1:44 -
    e então faço o primeiro digit ir para 4.
Title:
03-16 More Digits
Description:

03-16 Mais Dígitos

more » « less
Video Language:
English
Team:
Udacity
Project:
CS262 - Programming Languages
Duration:
01:49
Lucilia Figueiredo edited Portuguese, Brazilian subtitles for 03-16 More Digits
Lucilia Figueiredo edited Portuguese, Brazilian subtitles for 03-16 More Digits
Lucilia Figueiredo edited Portuguese, Brazilian subtitles for 03-16 More Digits
Lucilia Figueiredo added a translation

Portuguese, Brazilian subtitles

Revisions Compare revisions