# Style sheet for scripts_files of synopsys
# Copyright (c) 1999 Akim Demaille, Miguel Santana, Philippe Le Van
# $Id: dc_shell.ssh,v 1.1.1.1.2.1 2007/12/29 01:58:29 mhatta Exp $
#

#
# This file is part of a2ps.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, see
# <https://www.gnu.org/licenses/gpl-3.0.html>.
#

style "dc_shell" is
written by "Philippe Le Van <levan@francemel.com>"
version is 0.2
case sensitive

first alphabet is
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"
second alphabet is
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_/0123456789"

documentation is
  "Synopsys Design Compiler is a synthesis tool used by "
  "electronic companies for the design of their chips."
  "This sheet is very incomplete, we have a lot of keywords to"
  "add, eventually options to highlight..."
  "The Label_strong style is used for commands which change the design."
end documentation

keywords in Keyword_strong are
   current_design, characterize, set_dont_touch, link, set_fix_hold,
   reset_design, ungroup, set_dont_touch_network, group,
   set_dont_use, remove_constraint, set_structure, set_flatten,
   remove_attribute, set_unconnected,

   create_clock, set_clock_skew, set_input_delay, set_output_delay,
   set_false_path, set_drive, set_max_delay, set_min_delay,
   balance_buffer, set_disable_timing, set_driving_cell, set_load,
   set_fanout_load,

   define_name_rules, change_names, define_design_lib, set_layer,

   report_constraint, report_area, report_timing, report_clock,
   report_cell, report_port, write_script, write, write_timing,
   alias, find, echo, all_registers, all_fanout, all_clocks,
   all_inputs, all_outputs, all_fanin, all_critical_pins,
   all_critical_cells
end keywords

keywords in Label_strong are
   compile, uniquify, remove_design, free, read, quit, include,
   analyze, elaborate
end keywords

sequences are
   "/*" Comment "*/",
   "/**" Comment_strong "*/",
   C-string
end sequences

end style
