Overview¶
Static View¶
Like other compilers,cl-rosetta
is structured into
- A front end that (source:code/cl-rosetta/trunk/src/frontend)
- Parses data definition/schema languages like
- textual Google protocol buffer descriptor syntax (source:code/cl-rosetta-protobuf/trunk/src/frontend)
- Binary Google protocol buffer descriptors
- ROS msgs (source:code/cl-rosetta-ros/trunk/src/frontend)
- RelaxNG (source:code/cl-rosetta-xml/trunk/src/frontend)
- Parses component descriptions like ROS manifest files
- Parses data definition/schema languages like
- A middle end (with associated intermediate representation) (source:code/cl-rosetta/trunk/src/model) that
- Represents data types
- Represents components
- Provides limited indexing and relationship modeling for these objects
- A back end that (source:code/cl-rosetta/trunk/src/backend)
- Emits Common Lisp data-holder classes, serializers and deserializers for combinations of
- Data type definitions
- Serialization mechanisms
- Emits code in other programming languages for combinations of
- Data type definitions
- Serialization mechanisms
- Emits data definitions/schemas
- Emits visualizations
- Emits Common Lisp data-holder classes, serializers and deserializers for combinations of
Extensions¶
Name | Purpose | Repository Location |
---|---|---|
cl-rosetta-xml |
Support for XML-based data definitions/schemas | source:code/cl-rosetta-xml/trunk |
cl-rosetta-ros |
Support ROS data definitions and components | source:code/cl-rosetta-ros/trunk |
cl-rosetta-yarp |
Support YARP bottle serialization | source:code/cl-rosetta-yarp/trunk |
cl-rosetta-protobuf |
Support for Google protocol buffer serialization | source:code/cl-rosetta-protobuf/trunk |