@@ -1104,3 +1104,44 @@ xmllocations(int xmlElement: @xmllocatable ref,
1104
1104
int location: @location_default ref);
1105
1105
1106
1106
@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace;
1107
+
1108
+ /**
1109
+ * YAML
1110
+ */
1111
+
1112
+ #keyset[parent, idx]
1113
+ yaml (unique int id: @yaml_node,
1114
+ int kind: int ref,
1115
+ int parent: @yaml_node_parent ref,
1116
+ int idx: int ref,
1117
+ varchar(900) tag: string ref,
1118
+ varchar(900) tostring: string ref);
1119
+
1120
+ case @yaml_node.kind of
1121
+ 0 = @yaml_scalar_node
1122
+ | 1 = @yaml_mapping_node
1123
+ | 2 = @yaml_sequence_node
1124
+ | 3 = @yaml_alias_node
1125
+ ;
1126
+
1127
+ @yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node;
1128
+
1129
+ @yaml_node_parent = @yaml_collection_node | @file;
1130
+
1131
+ yaml_anchors (unique int node: @yaml_node ref,
1132
+ varchar(900) anchor: string ref);
1133
+
1134
+ yaml_aliases (unique int alias: @yaml_alias_node ref,
1135
+ varchar(900) target: string ref);
1136
+
1137
+ yaml_scalars (unique int scalar: @yaml_scalar_node ref,
1138
+ int style: int ref,
1139
+ varchar(900) value: string ref);
1140
+
1141
+ yaml_errors (unique int id: @yaml_error,
1142
+ varchar(900) message: string ref);
1143
+
1144
+ yaml_locations(unique int locatable: @yaml_locatable ref,
1145
+ int location: @location_default ref);
1146
+
1147
+ @yaml_locatable = @yaml_node | @yaml_error;
0 commit comments