Skip to content
This repository has been archived by the owner on Feb 22, 2020. It is now read-only.

Use xtext to replace io system #8

Open
monochromata opened this issue Apr 30, 2015 · 2 comments
Open

Use xtext to replace io system #8

monochromata opened this issue Apr 30, 2015 · 2 comments

Comments

@monochromata
Copy link
Collaborator

No description provided.

@amharrison
Copy link
Owner

The current thinking is a slimmer format (than the xml). We will build both the general AST (EMF/Ecore) for all models, and then this new syntax (Xtext linked to the EMF). For a first pass, it will probably be easier to build the Xtext parser and then create a custom model-to-model transform to convert the new AST into the current system. This will permit us to continue to use the existing tooling, while we incrementally upgrade.

The format I'm proposing is like this:

semanticLabel(parameters...)[
 //symbolic contents
]
{
 //subsymbolic contents
}

example:

model(modelName)[
   module(org.jactr.core.declarative.ClassName)[] {RetrievalThreshold=0, EnabledPartialMatching=true}
  ....

   declarative()[
    chunktype(chunkTypeName, parent)[slot1=null, slot2=null]{}
    chunk(chunkName, chunkTypeName)[slot1=1, slot2=2]{CreationCycle=-1}
   ]{}

  procedural()[
   production(pName)[
    match(goal, chunkType)[
        slot1>1, slot2<2]
    match(retrieval, otherType)[slot1!=2]

    add(goal, chunkType)[]
    remove(retrieval)[]
    ]{Utility=1}
  ]{}
]
{
  EnabledPersistentExecution = true,
  EnableCycleSkipping = true
}

@monochromata
Copy link
Collaborator Author

I'm not sure if this issue might better fit jactr-eclipse instead of jactr. Anyways, I found a number of notes in org.jactr.eclipse.core that might be kept in mind when re-implementing the editors:

-Editor templates!!

  • quick production, chunk, chunktype templates for both languages

-Quick Fix

  • syntax errors

-Code completion

  • for both languages!

-Coloring

  • likely requires snagging the entire token stream [change to jactr.io]

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants