queirozfcom / rachinations

Other
2 stars 0 forks source link

How strict should the 'compiler' be? #36

Closed queirozfcom closed 9 years ago

queirozfcom commented 10 years ago

@xexeo Professor, eu tenho a opção de fazer uns testes em tempo de escrita da DSL. Não sei se devo, porém.

P. exemplo, eu posso lançar uma exceção se um usuário criar um nó push e não o conectar a nada. Da mesma forma, posso causar um erro caso o usuário usar um nó pull_all ou push_all caso só haja uma aresta incoming ou uma aresta outgoing, respectivamente.

Gostaria de saber o que o senhor acha dessa avaliação em tempo escrita do diagrama.

xexeo commented 10 years ago

Acho que não em tempo de escrita.

O all, por exemplo, vale também para um único nó (all tokens em todos os links, mesmo que só seja um link). Logo isso não é um erro.

Também podemos fazer nós push e não conectar a nada. É um erro semântico mas não sintático.

O que pode ser feito, depois, é um "check_diagram". Verificando nós e arestas sem conexão, por exemplo e avisando (warning) algum erro semântico provável.

Xexéo

2014-04-11 22:49 GMT-03:00 queirozfcom notifications@github.com:

@xexeo https://github.com/xexeo Professor, eu tenho a opção de fazer uns testes em tempo de escrita da DSL. Não sei se devo, porém.

P. exemplo, eu posso lançar uma exceção se um usuário criar um nó push e não o conectar a nada. Da mesma forma, posso causar um erro caso o usuário usar um nó pull_all ou push_all caso só haja uma aresta incoming ou uma aresta outgoing, respectivamente.

Gostaria de saber o que o senhor acha dessa avaliação em tempo escrita do diagrama.

Reply to this email directly or view it on GitHubhttps://github.com/queirozfcom/rachinations/issues/36 .

Geraldo Xexéo, D.Sc. Vice-Coordenador do Programa de Engenharia de Sistemas e Computação - COPPE/UFRJ COPPE: 50 ANOS ANTECIPANDO O FUTURO Professor Adjunto - DCC/IM/UFRJ Professor do MBA em Engenharia de Software da Escola Politécnica da UFRJ Professor do CEDERJ Membro: SBC, ACM, IGDA

queirozfcom commented 10 years ago

Talvez uma subclasse de Diagram com esse comportamento (para não poluir o código original que define o algoritmo usado.)