Essa semana estava sem internet em minha casa e para passar o tempo fui programar alguma coisa
Tive uma disciplina do mestrado (no início do ano passado) que tratava da linguagens formais. Já tinha visto um simulador bem completo, mas decidi fazer o meu, só para passar o tempo
Enfim, deem uma olhada, estou disponibilizando os fontes (projeto do NetBeans) e o .jar
Este simulador só trata autômatos finitos determinísticos. Se for adicionada alguma transição que o torne indeterminístico ele simplesmente não vai reconhecer a string fornecida. Tem várias coisas que não tratei na interface, como algumas confirmações e tal, mas está usável.
Pode ser útil para quem estiver estudando isso na faculdade e para quem quiser aprender algo sobre Java2D
Já aviso que o código não está lá aquelas coisas hehehe
CHEIO DE GAMBIARRAS
É cara, ficou simples mas legalzinho.
Aliás, é parecido com o TCC que estou planejando fazer pra esse ano.
Pro TCC pretendo deixar o usuário desenhar um grafo qualquer e escolher um algoritmo para executar sobre o grafo.
Pra isso pretendo usar a JGraph (www.jgraph.com) em conjunto com as classes Drag and Drop do java…só por curiosidade, vc já mexeu com JGraph?
Cara, esse grafo ta muito bonitinho!!!
Assim que eu puder posto meu simulador aqui, que fiz pruma iniciação científica.
É bem simples, são alguns algoritmos de contenção de falhas em cascata sobre redes complexas (tema do meu TCC e futuro mestrado pré encaminhado =P).
Tive que fazer de última hora e ficou faltando muita coisa na interface, as configurações tem que ser mudadas direto no código (sério, tive uma madrugada pra implementar tudo, foi f* e o prazo curto não foi culpa minha, não dessa vez uhahuahuahuauhauha).
É bem simples, em apenas 2 dimensões representada em uma matriz dinâmica. O próximo será com grafos bem mais complexos com algoritmos mais elaborados de contenção e espalhamento de falhas.
Pra ter uma noção, a visualização do espalhamento das falhas lembra aquelas imagens de colônias de bactérias se proliferando (inclusive várias pessoas que o viram rodando perguntaram: que legal!! é um câncer? >_>).
[quote=rod.attack]É cara, ficou simples mas legalzinho.
Aliás, é parecido com o TCC que estou planejando fazer pra esse ano.
Pro TCC pretendo deixar o usuário desenhar um grafo qualquer e escolher um algoritmo para executar sobre o grafo.
Pra isso pretendo usar a JGraph (www.jgraph.com) em conjunto com as classes Drag and Drop do java…só por curiosidade, vc já mexeu com JGraph?[/quote]
Eu ia utilizar a API JGraph em um projeto, mas acabei não precisando usar.
Realmente está bem simples e com vários bugs, mas o propósito era só como passa tempo mesmo.
Tenho uma pergunta que pode parecer meio boba (de fato é bem simples mesmo):
É sobre as bordas dos panels que vc utilizou…analisando o código, vi que o setBorder de cada panel está dentro do initComponents que é criado pelo netbeans…
Como vc fez pra adicionar as bordas aos panels graficamente no netbeans?
[quote=mrsmylle]What’s Linguagem Formal de Autômatos?? :lol: !!
Sorry about my lack of acknowledgement!!
Looking for it!![/quote]
Primeiramente, vamos usar o português? Afinal, somos brasileiros concorda?
Basicamente, na computação a área das linguagens formais trata de dispositivos matemáticos que têm poder computacional, ou seja, conseguem representar linguagens, reconhecendo sentenças (strings). Como exemplos de dispositivos estudados por essa área, podem-se citar os autômatos finitos, expressões regulares e gramáticas regulares (que tem poder para representar as linguagens regulares), os autômatos à pilha e gramáticas livres de contexto (que conseguem representar as linguagens livres de contexto), máquinas de turing (representam as linguagens recursivas e as linguagens recursivamente enumeráveis), etc.
Os autômatos também são conhecidos como máquinas de estado. Você já deve ter ouvido falar nelas.
Existem inúmeras aplicações para esses dispositivos, sendo que a mais utilizada talvez seja seu emprego nos analizadores léxicos das linguagens.
Isso ai chama gambiarra
O certo seria passar uma referência do frame para o painel de desenho, mas como fui fazendo o programa por fazer, teve muita coisa que ficou MUITO feia
O que eu faço com esse monte de getParent encadeado, é chegar ao JFramePrincipal.
[quote=davidbuzatto]Oi Jonathan, desculpa a demora para responder.
Isso ai chama gambiarra
O certo seria passar uma referência do frame para o painel de desenho, mas como fui fazendo o programa por fazer, teve muita coisa que ficou MUITO feia
O que eu faço com esse monte de getParent encadeado, é chegar ao JFramePrincipal.
[]´s[/quote]
Relaxa. Eu também já fiz muito isso. Não conheço nenhum programador que não tenha utilizado POG alguma vez.
Não teria como pegar esse objeto no construtor, em uma variavel privada?
Estou com um problema para resolver preciso de ajuda em analizador lexico bem simples
autômato finito determinístico, com a movimentação do ponto, que reconheça os
tokens: números, nomes de variáveis e strings literais. Todos os estados devem ser descritos
através da movimentação do ponto
Na verdade estou bem perdido, fui seguindo os conselhos do forum e baixando os simuladores para testar,
estou sem ideia de por onde comecar e oque fazer. Minha primeira vez programando algo deste tipo.