Goals of this action language are:
- Emphasize parallel processing and data flows.
- Ensure that the language is as easy to read as the class and state models.
- Support a full range of data types and domain bridge mechanisms.
I certainly need to model action behaviors (link, create, write attribute, etc.) as primitive operations in the class and state metamodel subystems. For now I will just imagine these as domain functions with appropriate signatures. Example:
::Unlink(object_id1, object_id2, rnum)
Clearly we need a lex-yacc generated parser, which means I need to write up a full grammar. I'm thinking that the intermediate representation produced by the parser will populate an action language metamodel - yet to be built.
So when action language is entered, it will be parsed and the action language metamodel will be populated. When a block of action language is triggered at run-time, the action language metamodel will invoke the primitive operations with appropriate parameter values.
The lex-parser and primitive ops are the easy parts, so I will save those for last. I hope to post progress here in the coming days.
It's a nice day for a walk so I'm heading to the local cafe to ponder further.
1 comment:
Yeah, I knew someone had done that and tripped across the footnote the other day. Thanks.
Post a Comment