Implement F# source text, lexing, directives, and layout

Abierto
#28 1 comentario 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
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
fsharp
Área
compilers

Línea de trabajo

Comienza con el issue principal #8 y los bloqueadores #25, #26 y #27; después, lee el issue #2 y las ADRs 0008, 0014 y 0018. Se considera terminado cuando se haya implementado la capa de texto fuente y léxica, cumpliendo los criterios de aceptación indicados para la cobertura sintáctica, las directivas, el diseño, los diagnósticos, la inmutabilidad y resultados equivalentes tanto en ejecuciones en frío como reutilizadas.

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

Descripción

wayfinder:task

Parent: #8
Blocked by: #25, #26, and #27

Outcome

Implement the source-text and lexical layer for batch F# implementation and signature inputs.

Acceptance criteria

  • The lexer handles Unicode identifiers, operators, keywords, numeric, character, byte, and string literal forms, comments, trivia, escaped identifiers, and compiler directives.
  • Conditional compilation, line directives, source encoding, BOM handling, CRLF/LF differences, and indentation/offside behavior preserve exact source ranges.
  • Language-version gates are data-driven and covered by the conformance manifest.
  • Malformed tokens and directives produce recoverable, ordered Compatibility Oracle diagnostics.
  • Token and trivia data are immutable and do not contain project-, file-name-, or external-corpus special cases.
  • Cold and reused lexing return observably equivalent phase results.

Decision inputs

Issue #2; ADRs 0008, 0014, and 0018.

This issue inherits the corpus-neutral acceptance policy in #8.

Lenguaje dominante
F#
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

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 TheAngryByrd/fsharp2

Todos los issues de TheAngryByrd/fsharp2

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.