breck7 / scrollsdk

Build on top of Scroll.
https://sdk.scroll.pub
382 stars 17 forks source link

GrammarLang: Grammar and Code in Same File #49

Closed breck7 closed 3 years ago

breck7 commented 5 years ago

For tiny DSLs, what if we had grammar up top, data below.

Example:

grammar
 productsNode
  root
  inScope productNode
 anyCell
 folderCell
  enum treeComponentFramework/sweepercraft/ treeComponentFramework
 targetCell
  enum browser nodejs
 productNode
  inScope idNode outputFileNameNode folderNode filesNode targetNode exportClassesNode
 idNode
  cells anyCell
 outputFileNameNode
  cells anyCell
 folderNode
  cells folderCell
 filesNode
  catchAllCellType anyCell
 targetNode
  cells targetCell
 exportClassesNode
  cells anyCell anyCell anyCell
data
 product
  id SweeperCraft
  outputFileName SweeperCraft.browser.js
  folder treeComponentFramework/sweepercraft/
  files treeComponentFramework/sweepercraft/SweeperCraft.ts
  target browser
 product
  target browser
  id TreeComponentFramework.Browser
  outputFileName TreeComponentFramework.browser.js
  folder treeComponentFramework
  files worldWideTypes/treeNotationTypes.ts treeComponentFramework/Willow.ts treeComponentFramework/TreeComponentFramework.ts
 product
  target nodejs
  id TreeComponentFramework.Node
  outputFileName TreeComponentFramework.node.js
  folder treeComponentFramework
  files worldWideTypes/treeNotationTypes.ts treeComponentFramework/Willow.ts treeComponentFramework/TreeComponentFramework.ts
  exportClasses AbstractTreeComponentRootNode AbstractTreeComponent AbstractCommander
breck7 commented 4 years ago

97 is somewhat related

breck7 commented 3 years ago

not obviously a bad idea but more important things to do first.