Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
start: ldf_container
?ldf_container: ldf_header [(ldf_nodes | ldf_signals | ldf_frames | ldf_diagnostic | ldf_diagnostic_frames | ldf_node_atributes | ldf_schedule_table | ldf_signal_encoding_types | ldf_signal_representation)*]
?ldf_nodes : "Nodes" "{" [ldf_node_master] [ldf_node_slaves] "}"
?ldf_signals : "Signals" "{" [ldf_signal (ldf_signal)*] "}"
?ldf_frames : "Frames" "{" [ldf_frame (ldf_frame)*] "}"
?ldf_diagnostic : "Diagnostic_signals" "{" [(ANY_SEMICOLON_TERMINATED_LINE)*] "}"
?ldf_diagnostic_frames : "Diagnostic_frames" "{" [(ldf_diagnostic_master_req | ldf_diagnostic_slave_resp)*] "}"
?ldf_diagnostic_master_req: "MasterReq:" [C_INT] "{" [(ANY_SEMICOLON_TERMINATED_LINE)*] "}"
?ldf_diagnostic_slave_resp: "SlaveResp:" [C_INT] "{" [(ANY_SEMICOLON_TERMINATED_LINE)*] "}"
?ldf_node_atributes: "Node_attributes" "{" ldf_node_atributes_node? "}"
?ldf_node_atributes_node: ANY_OPENED_BLOCK [ANY_SEMICOLON_TERMINATED_LINE*] ANY_OPENED_BLOCK [ANY_SEMICOLON_TERMINATED_LINE*] "}" "}"
?ldf_schedule_table: "Schedule_tables" "{" [ldf_schedule_table_node*] "}"
?ldf_schedule_table_node: ANY_OPENED_BLOCK [ANY_SEMICOLON_TERMINATED_LINE*] "}"
?ldf_signal_encoding_types: "Signal_encoding_types" "{" [ldf_signal_encoding_types_node*] "}"
?ldf_signal_encoding_types_node: ANY_OPENED_BLOCK [(ANY_SEMICOLON_TERMINATED_LINE*)] ["}"] [ANY_CLOSED_BLOCK]
?ldf_signal_representation: "Signal_representation" "{" [ldf_signal_representation_node*] "}"
?ldf_signal_representation_node: [(ANY_COLON_TERMINATED_LINE | ANY_SEMICOLON_TERMINATED_LINE)*]
?ldf_node_master: "Master:" ldf_node_name "," /.*;/
?ldf_node_slaves: "Slaves:" ldf_node_name? ";"
ldf_node : ldf_signal_name ":" ldf_node_name ";"
ldf_signal : ldf_signal_name ":" ldf_signal_size "," ldf_signal_default_value "," ldf_node_name "," ldf_node_name ";"
ldf_frame : ldf_frame_name ":" ldf_frame_id "," ldf_node_name "," ldf_frame_len ["{" (ldf_frame_signal)* "}"]
ldf_frame_signal: ldf_signal_name "," ldf_signal_bit_offset ";"
ldf_frame_name: CNAME
ldf_frame_id : C_INT
ldf_frame_len : C_INT
ldf_signal_default_value: C_INITIALIZER_LIST|C_INT
ldf_signal_size: C_INT
ldf_signal_bit_offset: C_INT
ldf_signal_name: CNAME
ldf_node_name: CNAME
ANY_OPENED_BLOCK: /.*{/
ANY_CLOSED_BLOCK: /.*}/
ANY_SEMICOLON_TERMINATED_LINE: /.*;/
ANY_COLON_TERMINATED_LINE: /.*,/
C_INITIALIZER_LIST: ("{"|"{ ") C_INT ([","|", "]C_INT)* ("}"|" }")
C_INT: ("0x"HEXDIGIT+) | ("-"? HEXDIGIT+)
ldf_header: (ldf_header_lin | ldf_header_channel)*
ldf_header_lin : "LIN_"/.*;/
ldf_header_channel : "Channel_name"/.*;/
%import common._STRING_INNER
%import common.HEXDIGIT
%import common.INT
%import common.WORD
%import common.CNAME
%import common.ESCAPED_STRING
%import common.SIGNED_NUMBER
%import common.WS
%import common.WS_INLINE
%ignore WS
%ignore WS_INLINE49eaee9a5This file is pinned to the selected release. Download the original to open it in your design tool.