; metta.sgr -- MeTTa grammar in SGDL (Source Grammar Definition ; Language) for the CCS toolchain. Compiling this grammar yields a ; MeTTa frontend that turns .metta sources into CCS SCB binaries. ; MeTTa needs three token classes beyond SGDL's predefined four -- ; see "MeTTa on CCS" section 1 -- so compile it with the MeTTa ; tokenizer set (-lt). NOTE: this file uses ';' comments, not the ; '--' of ALGOL-family grammars, because the tokenizer set that ; reads it is MeTTa's. ; Source: hyperon-frontend-ccs metta.sgr @ 94f99e8 -- curated ; 2026-08-08; edits land in the source first. ; (c) 2026 BET THREE LLC. Published for use with the b3u.dev service ; under its Terms of Service; all rights reserved. (metta (program ::= 0 = " METAACTBEG();" = { sexpr } 0 = " METAACTEND();" = ) (sexpr ::= atom | list ) (list ::= '(' { sexpr } ')' ) (atom ::= identifier | mettaSymbol | mettaVariable | mettaSpaceRef | stringToken | integerToken | equalTerm | colonTerm | lessThanTerm | greaterThanTerm | leftBracketTerm | rightBracketTerm | verticalBarTerm | leftBraceTerm | rightBraceTerm | dotTerm | commaTerm | slashTerm | edgeOpTerm | questionMarkTerm | apostropheTerm ) (equalTerm ::= '=' ) (colonTerm ::= ':' ) (lessThanTerm ::= '<' ) (greaterThanTerm ::= '>' ) (leftBracketTerm ::= '[' ) (rightBracketTerm ::= ']' ) (verticalBarTerm ::= '|' ) (leftBraceTerm ::= '{' ) (rightBraceTerm ::= '}' ) (dotTerm ::= '.' ) (commaTerm ::= ',' ) (slashTerm ::= '/' ) (edgeOpTerm ::= '->' ) (questionMarkTerm ::= '?' ) (apostropheTerm ::= '\'' ) )