Sobre o projeto
8f4e é uma linguagem de programação baseada em pilha e um editor de código ao vivo criado para performances de música generativa em eventos algorave. O monorepo contém um compilador, runtimes especializados e um editor de código visual baseado em navegador. O editor segue um loop estilo REPL (editar, compilar/avaliar, observar saída), mas é orientado por interface de usuário, não por terminal.
## Arquitetura de Pacotes
O projeto é organizado como um monorepo Nx com pacotes para:
- **compiler**: Compilador principal que transforma código 8f4e em WebAssembly, incluindo subpacotes para especificação da linguagem, pré-processador de projeto, compilação de subprogramas (tokenizador, resolvedor de constantes, planejador de memória, resolvedor de referências de memória, resolvedor de padrões de memória, resolvedor de referências semânticas, analisador de pilha, utilitários semânticos), geração de código wasm e stdlib.
- **editor**: Pacotes de produto do editor, incluindo compiler-worker (wrapper de Web Worker), editor-default (compilador padrão, runtime, armazenamento, exemplos), editor-core (editor reutilizável mínimo com gerenciamento de estado, interface web usando WebGL), editor-website (site implantável) e runtimes para AudioWorklet e Web Worker.
- **examples**: Módulos e projetos de exemplo.
- **cli**: Interface de linha de comando para compilar arquivos de projeto 8f4e.
- **metrics-dashboard**: Painel local para métricas de lançamento.
- **config**: Ferramentas compartilhadas e auxiliares de configuração.
## Desenvolvimento
1. Instale dependências: `npm install`
2. Compile todos os pacotes: `npx nx run @8f4e/editor-website:build`
3. Inicie o servidor de desenvolvimento: `npx nx run @8f4e/editor-website:dev` (aplicativo em http://localhost:3000)
Use `npx nx graph` para explorar relacionamentos entre pacotes.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.