48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/openc3/tools/table_manager/table_parser.rb', line 48
def create_table(tables, warnings)
params = @parser.parameters
table_name = params[0].to_s.upcase
endianness = params[1].to_s.upcase.to_sym
if endianness != :BIG_ENDIAN && endianness != :LITTLE_ENDIAN
raise @parser.error(
"Invalid endianness #{params[1]}. Must be BIG_ENDIAN or LITTLE_ENDIAN.",
@usage,
)
end
type = params[2].to_s.upcase.to_sym
case type
when :KEY_VALUE, :ONE_DIMENSIONAL
@parser.verify_num_parameters(3, 4, @usage)
description = params[3].to_s
when :ROW_COLUMN, :TWO_DIMENSIONAL
@parser.verify_num_parameters(4, 5, @usage)
num_rows = params[3].to_i
description = params[4].to_s
else
raise @parser.error(
"Invalid display type #{params[2]}. Must be KEY_VALUE or ROW_COLUMN.",
@usage,
)
end
table =
Table.new(table_name, endianness, type, description, @parser.filename)
table.num_rows = num_rows if type == :ROW_COLUMN
TableParser.finish_create_table(table, tables, warnings)
end
|