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

未关闭
#28 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
冷清
技术栈
fsharp
领域
compilers

调研方向

从父 issue #8 以及阻塞项 #25、#26 和 #27 开始,然后阅读 issue #2 以及 ADR 0008、0014 和 0018。完成的标准是实现源文本层和词法层,同时满足所列出的语法覆盖、指令、布局、诊断、不可变性,以及冷运行和复用运行结果等价的验收标准。

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
F#
星标
0
派生
0
PR 合并指标
30 天内没有已合并 PR

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

TheAngryByrd/fsharp2 的其他 Issue

查看 TheAngryByrd/fsharp2 的全部 Issue

相似的 Issue

更多 Compilers Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。