Skip to content

salcedogeiner/ngxGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Generate projects in Base a grammar simple definiton

/* Entity DSL grammar. */

EntityModel:

'project name' name = ID

types*=SimpleType       // At the beginning of model we can define
                        // zero or more simple types.
entities+=Entity        // Each model has one or more entities.

;

Entity:

'entity' name=ID '{'
    properties+=Property // Each entity has one or more properties.
'}'

;

Property:

name=ID ':' type=[Type] (array=Array)?  // type is a reference to Type instance.
                            // There are two built-in simple types
                            // registered on meta-model in entity_test.py

;

Type:

SimpleType | Entity  // Type can be SimpleType or Entity

;

Array:

'[]' 

;

SimpleType:

'type' name=ID  // Define types recomended.
                //type integer
                //type string   
                //type bool
                //type time

;

// Special rule for comments. Comments start with // Comment: ///.*$/ ;

#Example

Sesiones project in file "entity.ent":

project name sesiones

entity info_basica  {
  id                :integer
  Nombres            :string[]
  Descripcion       :string
  Codigo_Abreviacion :string
  tipo_sesion       :tipo_sesion[]
}

entity tipo_sesion  {
  id                :integer
  Nombre            :string
  Descripcion       :string
  Codigo_Abreviacion :string
  Activo            :bool
  Numero_Orden       :integer
}

Usage:

Pass file in command

  python main.py entity.ent

pass file selecting folder

  python main.py

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published