Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
6466a8a
WIP: stern-bee-22
briansrls May 3, 2026
cc5e50a
chore: apply cargo fmt
briansrls May 3, 2026
b689d29
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
8ee94b0
WIP: stern-bee-22
briansrls May 3, 2026
f05940a
chore: apply cargo fmt
briansrls May 3, 2026
de6663d
WIP: stern-bee-22
briansrls May 3, 2026
07bdf24
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
998b4e1
chore: apply cargo fmt
briansrls May 3, 2026
9ba4ca4
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
4912d3c
WIP: stern-bee-22
briansrls May 3, 2026
64bad15
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
8389393
WIP: stern-bee-22
briansrls May 3, 2026
78dddce
WIP: stern-bee-22
briansrls May 3, 2026
0961340
chore: apply cargo fmt
briansrls May 3, 2026
db237c1
WIP: stern-bee-22
briansrls May 3, 2026
6e591b2
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
b18a1d7
chore: apply cargo fmt
briansrls May 3, 2026
4cc6b52
WIP: stern-bee-22
briansrls May 3, 2026
4962335
WIP: stern-bee-22
briansrls May 3, 2026
8cecce4
chore: apply cargo fmt
briansrls May 3, 2026
94db7d1
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
1a49e49
WIP: stern-bee-22
briansrls May 3, 2026
c9400bf
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
2b63e46
WIP: stern-bee-22
briansrls May 3, 2026
c6eca9e
chore: apply cargo fmt
briansrls May 3, 2026
607afe8
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
90d2acb
WIP: stern-bee-22
briansrls May 3, 2026
62f0470
chore: apply cargo fmt
briansrls May 3, 2026
4854c4a
WIP: stern-bee-22
briansrls May 3, 2026
d6a2f63
WIP: stern-bee-22
briansrls May 3, 2026
3ae7a28
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
d507baa
chore: apply cargo fmt
briansrls May 3, 2026
8e6c8f1
WIP: stern-bee-22
briansrls May 3, 2026
4d7b957
WIP: stern-bee-22
briansrls May 3, 2026
9533392
WIP: stern-bee-22
briansrls May 3, 2026
c8dbd84
WIP: stern-bee-22
briansrls May 3, 2026
8779def
WIP: stern-bee-22
briansrls May 3, 2026
7028f2c
WIP: stern-bee-22
briansrls May 3, 2026
a596a7e
chore: apply cargo fmt
briansrls May 3, 2026
b8b0067
WIP: stern-bee-22
briansrls May 3, 2026
198368d
WIP: stern-bee-22
briansrls May 3, 2026
a426e30
chore: apply cargo fmt
briansrls May 3, 2026
d0a1f4d
WIP: stern-bee-22
briansrls May 3, 2026
ffd718e
WIP: stern-bee-22
briansrls May 3, 2026
0f02f38
chore: apply cargo fmt
briansrls May 3, 2026
061df12
WIP: stern-bee-22
briansrls May 3, 2026
b7debfe
WIP: stern-bee-22
briansrls May 3, 2026
7a844e8
chore: apply cargo fmt
briansrls May 3, 2026
e36c820
WIP: stern-bee-22
briansrls May 3, 2026
ff79580
WIP: stern-bee-22
briansrls May 3, 2026
a5b3947
chore: apply cargo fmt
briansrls May 3, 2026
2b6dbe0
WIP: stern-bee-22
briansrls May 3, 2026
dd2b71f
WIP: stern-bee-22
briansrls May 3, 2026
36fc18a
WIP: stern-bee-22
briansrls May 3, 2026
fc7cc21
WIP: stern-bee-22
briansrls May 3, 2026
8569ba1
chore: apply cargo fmt
briansrls May 3, 2026
6971839
WIP: stern-bee-22
briansrls May 3, 2026
cf809bc
WIP: stern-bee-22
briansrls May 3, 2026
fcb87be
WIP: stern-bee-22
briansrls May 3, 2026
30e6ecf
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 3, 2026
2037d25
WIP: stern-bee-22
briansrls May 3, 2026
b92ea40
WIP: stern-bee-22
briansrls May 3, 2026
08604e7
chore: apply cargo fmt
briansrls May 3, 2026
2f518e8
WIP: stern-bee-22
briansrls May 3, 2026
454ec44
chore: apply cargo fmt
briansrls May 3, 2026
1ab7f9e
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
b0daad3
WIP: stern-bee-22
briansrls May 4, 2026
9a1d77c
WIP: stern-bee-22
briansrls May 4, 2026
0647bfc
chore: apply cargo fmt
briansrls May 4, 2026
ed2b1a0
WIP: stern-bee-22
briansrls May 4, 2026
0e94b4c
WIP: stern-bee-22
briansrls May 4, 2026
cec7d66
chore: apply cargo fmt
briansrls May 4, 2026
d3cc5f5
test(v2): make coproduct alias shadow fixture type-coherent
briansrls May 4, 2026
0db7b7b
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
64626ff
test(v2): cover coproduct wire contract declaration shadow
briansrls May 4, 2026
67f7b99
WIP: stern-bee-22
briansrls May 4, 2026
24d0504
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
ee424ed
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
6d9c1d3
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
c3b9727
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
9e6841e
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
54d2782
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
5d9af89
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
f8c3b32
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
15e7976
WIP: stern-bee-22
briansrls May 4, 2026
6ded434
chore: apply cargo fmt
briansrls May 4, 2026
8a0f7f6
WIP: stern-bee-22
briansrls May 4, 2026
2a4e426
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
19008c3
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
f97961f
WIP: stern-bee-22
briansrls May 4, 2026
700e832
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
45129a4
chore: apply cargo fmt
briansrls May 4, 2026
bf69418
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
fcc83ea
WIP: stern-bee-22
briansrls May 4, 2026
f550abf
WIP: stern-bee-22
briansrls May 4, 2026
9f1d8cb
WIP: stern-bee-22
briansrls May 4, 2026
e615a50
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
b7cae7b
WIP: stern-bee-22
briansrls May 4, 2026
9622320
WIP: stern-bee-22
briansrls May 4, 2026
9e04d3d
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
4436296
chore: apply cargo fmt
briansrls May 4, 2026
eec0f67
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
a3200e7
WIP: stern-bee-22
briansrls May 4, 2026
f7f92c7
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
cc8f20c
Merge remote-tracking branch 'origin/main' into session/stern-bee-22-…
briansrls May 4, 2026
fdd4783
WIP: stern-bee-22
briansrls May 4, 2026
ef53b5d
test(v3): avoid debug token assertion for service
briansrls May 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions dsl/extdeps/languages/dag/syntax.dag
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import std.syntax {
ItemForm, ItemFormKind, FuncForm, StructForm, EnumForm, TypeAliasForm, ModuleForm, OtherForm,
BodyKind,
ExprBody, BlockBody, TypeBody, ValueBody, NoBody,
ServiceBody, ResourceBody,
ResourceBody, ServiceBody,
OperatorSpec, SyntaxSpec,
BinOp, Add, Sub, Mul, Div, Mod,
Eq, Ne, Lt, Gt, Le, Ge, And, Or, NullCoalesce,
Expand All @@ -32,12 +32,12 @@ data dag_item_forms: List<ItemForm> = [
ItemForm { kind: FuncForm, keyword: "func", has_type_params: false, has_params: true,
has_return_type: true, return_required: false,
has_uses: true, body_kind: BlockBody },
ItemForm { kind: OtherForm, keyword: "service", has_type_params: false, has_params: false,
has_return_type: false, return_required: false,
has_uses: false, body_kind: ServiceBody },
ItemForm { kind: OtherForm, keyword: "resource", has_type_params: false, has_params: false,
has_return_type: false, return_required: false,
has_uses: false, body_kind: ResourceBody },
ItemForm { kind: OtherForm, keyword: "service", has_type_params: false, has_params: false,
has_return_type: false, return_required: false,
has_uses: false, body_kind: ServiceBody },
ItemForm { kind: OtherForm, keyword: "data", has_type_params: false, has_params: false,
has_return_type: false, return_required: false,
has_uses: false, body_kind: ValueBody },
Expand Down Expand Up @@ -65,7 +65,7 @@ data dag_keyword_literals: Map<String, LiteralValue> = {

data dag_keyword_set: Map<String, Bool> = {
"module": true, "import": true, "type": true, "fn": true, "func": true,
"service": true, "resource": true, "data": true,
"resource": true, "service": true, "data": true,
"interface": true, "pipeline": true, "profile": true, "pattern": true,
"let": true, "return": true, "match": true, "if": true, "then": true, "else": true,
"for": true, "in": true, "where": true, "with": true,
Expand Down
10 changes: 5 additions & 5 deletions src/v2/stage0/src/extdeps_languages_dag_syntax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,22 +52,22 @@ pub fn dag_item_forms() -> Rc<Vec<Rc<ItemForm>>> {
body_kind: BodyKind::BlockBody,
}), Rc::new(ItemForm {
kind: ItemFormKind::OtherForm,
keyword: "service".to_string(),
keyword: "resource".to_string(),
has_type_params: false,
has_params: false,
has_return_type: false,
return_required: false,
has_uses: false,
body_kind: BodyKind::ServiceBody,
body_kind: BodyKind::ResourceBody,
}), Rc::new(ItemForm {
kind: ItemFormKind::OtherForm,
keyword: "resource".to_string(),
keyword: "service".to_string(),
has_type_params: false,
has_params: false,
has_return_type: false,
return_required: false,
has_uses: false,
body_kind: BodyKind::ResourceBody,
body_kind: BodyKind::ServiceBody,
}), Rc::new(ItemForm {
kind: ItemFormKind::OtherForm,
keyword: "data".to_string(),
Expand Down Expand Up @@ -128,8 +128,8 @@ pub fn dag_keyword_set() -> Rc<HashMap<String, bool>> {
__m.insert("type".to_string(), true);
__m.insert("fn".to_string(), true);
__m.insert("func".to_string(), true);
__m.insert("service".to_string(), true);
__m.insert("resource".to_string(), true);
__m.insert("service".to_string(), true);
__m.insert("data".to_string(), true);
__m.insert("interface".to_string(), true);
__m.insert("pipeline".to_string(), true);
Expand Down
14 changes: 1 addition & 13 deletions src/v3/compiler/parse_parser_body.txt
Original file line number Diff line number Diff line change
Expand Up @@ -180,13 +180,12 @@ impl<'a> Parser<'a> {
Some(ItemDispatchKind::Let) => self.parse_let_item(),
Some(ItemDispatchKind::Fn) => self.parse_fn_item(),
Some(ItemDispatchKind::Type) => self.parse_type_item(),
Some(ItemDispatchKind::Service) => self.parse_service_item(),
Some(ItemDispatchKind::Module) => self.parse_module_item(),
Some(ItemDispatchKind::Import) => self.parse_import_item(),
Some(ItemDispatchKind::Data) => self.parse_data_item(),
None => Err(Diagnostic::ParseError {
message: format!(
"expected `let`, `fn`, `type`, `service`, `module`, `import`, or `data`, got {tk:?}"
"expected `let`, `fn`, `type`, `module`, `import`, or `data`, got {tk:?}"
),
span: self.peek().span.clone(),
fixes: Vec::new(),
Expand Down Expand Up @@ -864,17 +863,6 @@ impl<'a> Parser<'a> {
}
}

fn parse_service_item(&mut self) -> Result<SurfaceItem, Diagnostic> {
let service_kw = self.expect_kind(TokenKind::KwService)?;
Err(Diagnostic::ParseError {
message: String::from(
"service items are recognized at the top-level boundary but the ServiceBlock parser scaffold is not landed yet",
),
span: service_kw.span,
fixes: Vec::new(),
})
}

fn parse_optional_type_params(&mut self) -> Result<Vec<String>, Diagnostic> {
if !matches!(self.peek().kind, TokenKind::Lt) {
return Ok(Vec::new());
Expand Down
15 changes: 3 additions & 12 deletions src/v3/compiler/parse_tables.dag
Original file line number Diff line number Diff line change
Expand Up @@ -306,10 +306,6 @@ data top_level_kw_type: TopLevelItemKwRow = {
token_variant: "KwType"
}

data top_level_kw_service: TopLevelItemKwRow = {
token_variant: "KwService"
}

data top_level_kw_module: TopLevelItemKwRow = {
token_variant: "KwModule"
}
Expand All @@ -324,11 +320,10 @@ data top_level_kw_data: TopLevelItemKwRow = {

// --- SG-2c-5: keyword-token aliases that the parser accepts as bare
// identifier spellings in label/name positions. Today this is the
// `KwType -> "type"` and `KwService -> "service"` carveout used by
// both record-field labels and sum-variant names. The parser consumes the generated
// `KwType -> "type"` carveout used by both record-field labels and sum-variant names.
// The parser consumes the generated
// `soft_keyword_ident_spelling` projection rather than duplicating the
// `TokenKind::KwType => "type"` / `TokenKind::KwService => "service"`
// match at each call site.
// `TokenKind::KwType => "type"` match at each call site.
//
// Dissolution classification: **🟡 YELLOW (scaffold)**. Same shape as
// `TopLevelItemKwRow`: substrate rows author only `token_variant`; the
Expand All @@ -344,10 +339,6 @@ data soft_keyword_ident_type: SoftKeywordIdentRow = {
token_variant: "KwType"
}

data soft_keyword_ident_service: SoftKeywordIdentRow = {
token_variant: "KwService"
}

// --- SG-2c-4: bracket opener / closer membership table. Parser helpers
// that skip or scan token spans while tracking paren/brace/bracket depth
// (`skip_where_clause`, `rhs_is_sum` in `parse_parser_body.txt`) dispatch
Expand Down
Loading
Loading