Dears, Eu estou considerando um caso que é análogo ao exemplo entidade-pessoa. Eu estou olhando para uma linguagem para programação de robôs com habilidades
Eu gostaria de ter um metamodelo dos Skills ** e Skill Types em um arquivo ( tasks_specification.tx )
Skill: 'skill' name=MY_ID '{'
'type' '=' type=[SkillType]
('properties' '{' properties+=Property '}')?
'}'
;
SkillType: 'skill_type' name=MY_ID
;
Propriedade: name = MY_ID ':' type = BASETYPE ;
e, em seguida, as definições de vários metamodelos de habilidades em um ou mais arquivos (programados por usuários especialistas) assembly.tasks, screwing.tasks, etc ...
skill_type PEG_IN_THE_HOLE
skill_type GRASP_OBJ
...
e, finalmente, o modelo de uma habilidade (e o próprio programa)
skill PEG_IN_THE_HOLE_1 {
type = PEG_IN_THE_HOLE
properties{max_wrench : 10}
}
em um terceiro arquivo ( assembly_car1.prog )
É possível fazer isso e usar a linha de comando textx para gerar o gráfico de pontos, e os comandos python metamodel_from_file
e model_from_file
para gerar o objeto e testar a sintaxe?
Felicidades, Gianni.
Tags python language specifications