Skip to content

Keywords and facility-defined names

CMN combines grammar keywords with ordinary identifiers. This distinction is important when reading examples: not every familiar word is part of the language itself.

Selected grammar keywords

  • File structure: abstract, package, subpackage, import, as, platform, exclude
  • Types: type, enum, specialization of, extends, implements, fieldset, relation
  • APIs: service, resource, methodtype
  • Components: component, provide, implement, uses, application, consists of, supports
  • Other model elements include scenario, actor, page, widget, landscape, and persists

The exact set is context-dependent: the grammar deliberately permits some keywords as identifiers in positions where there is no ambiguity. This page is therefore an orientation aid, not a lexer specification.

HTTP verbs

GET, POST, PUT, PATCH, and DELETE are grammar values used in a methodtype declaration:

cmn
methodtype export GET

They are not invoked directly as resource methods.

Names that are not CMN keywords

  • A layer such as core, api, or backend is a free identifier before package; there is no layer keyword.
  • Service operations are written as find(...); there is no operation keyword.
  • create, read, update, delete, and query are method-type names supplied by the Base facility.
  • createEntity, readEntity, updateEntity, queryEntities, and deleteEntity are supplied by the SpringBoot facility.
  • process and call are not CMN 1.3.80 grammar keywords.