Separate core semantics and text format
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
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.mdand 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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de runtimeverification/wasm-semantics
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
Improve tokenisation supportAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de runtimeverification/wasm-semantics
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
documentation self-host
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
JakeChampion/lang#10663 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día