Uma enum Java
Uma enum Java
Enums que deveriam ser acopladas?
...
Enumeração conhecida
Ordenar Dart -> detecção precoce
Enumeração já ordenada
Extração e ordenação enum java
compila (well formed)
arquivos acoplados anti-deriva?
Cenário real:
Os itens
Output?
//
/* */
Estrutura geral
só vai passar enum
"primeiro" {
?
"primeiro" ;
?
}
fechando o "primeiro" {
?
Preâmbulo + elemento
Lista vs vísceras
subclasse
{
entre chaves }
construtor
(
entre parênteses )
situações de pilha
@
@
#eventos de escrita
Qualquer coisa quebra ID
Os itens
Os itens
Os itens
Comentários de linha
tratar tokens especiais
Decisão char a char
@Override
e outras brincadeiras{
fecha com }
equivalente
{
}
Posição para "subclassear"
(
parênteses )
{
CÓDIGO }
{
CÓDIGO }
compila, portanto...
{E
{
sintático, empilhar {
}
sintático, remover {
ou {E
da pilha{E
=> pilha vazia => fim do métodoTHURSDAY(5), FRIDAY(6) { @Override public String toString() { return "SEXTOOOOU!"; } }
elemento parametrizável
(
argumentos separados por vírgulas )
compila, portanto...
(E
(
sintático, empilhar (
)
sintático, remover (
ou (E
da pilha(E
=> pilha vazia => fim dos argumentosPDA: caracter PUSH vs caracter POP
"([^\\"]|\\.)*"
"
"
ou \
, parte da string\
, \
e o próximo pertencem a string"
"PDA" para bloco de código
dentro de subclasse/ctor
anotando a enum como um todo
anotando item da enum
Complexidades adicionais annotation
Decisão char a char
considerando todas as Heurísticas
Code drift de enums 😤
Acoplar, sem runtime...
Heurísticas facilitam