feat(ast): add species base to template declarations
Added optional species_base field to Template struct enabling
template-species inheritance syntax: `template Name: Species { ... }`.
Updated LALRPOP grammar and all Template construction sites.
This commit is contained in:
@@ -169,7 +169,7 @@ UsesScheduleClause: Vec<String> = {
|
||||
// ===== Template =====
|
||||
|
||||
Template: Template = {
|
||||
"template" <name:Ident> <strict:"strict"?> "{" <body:TemplateBodyItem*> "}" => {
|
||||
"template" <name:Ident> <species_base:(":" <Ident>)?> <strict:"strict"?> "{" <body:TemplateBodyItem*> "}" => {
|
||||
let mut fields = Vec::new();
|
||||
let mut includes = Vec::new();
|
||||
let mut uses_behaviors = None;
|
||||
@@ -186,6 +186,7 @@ Template: Template = {
|
||||
|
||||
Template {
|
||||
name,
|
||||
species_base,
|
||||
fields,
|
||||
strict: strict.is_some(),
|
||||
includes,
|
||||
|
||||
Reference in New Issue
Block a user