Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Separate core semantics and text format

Abierto
#93 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
wasm
Área
compilers

Línea de trabajo

Lee primero wasm.md, normalizations.md y data.md; después, compara los elementos de tarea pendientes con los límites actuales de los módulos. Se considera terminado cuando se hayan movido las definiciones y los identificadores indicados, de modo que wasm.md contenga la semántica central, mientras que normalizations.md se encargue de las reescrituras del formato de texto, y se haya verificado cada elemento de la lista de comprobación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

It's becoming a bit inconvenient to have all these folded instructions, aliases and syntactic sugars in the main semantics module, wasm.md. I suggest we move all rules that are just intermediate rewrites, such as instruction unfolding, into a module named normalizations.md. That way, wasm.md becomes a close mirror of the "Execution" part of the spec, dealing with the AST and state updates, and normalizations.md deals with the whole world of valid .wast concrete syntax by only rewriting top-level terms in the <k> cell.

Instead of having all these rules in the core syntax, we can keep them in a separate module. This both makes the core semantics smaller, more like the official spec, and a smaller compile target for the binary format.

Update: Here's the suggested tasks

  • Introduce a separate module for the text format.
  • Move out pure desugaring rules and syntax: folded instructions, inlined exports/imports, etc.
  • Move block instructions (control flow) with identifiers to text module (requires some way to look up the correct branching index).
  • Move definitions with identifers to the core semantics:
    • memory, table
    • func, start
    • global, local
    • imports, exports
    • type
    • elem, data
  • Move Identifiers out of data.md and into text module.
Lenguaje dominante
WebAssembly
Estrellas
106
Forks
24
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de runtimeverification/wasm-semantics

Todos los issues de runtimeverification/wasm-semantics

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.