The start symbol is design_file.
From: http://www.iis.ee.ethz.ch/~zimmi/download/vhdl87_syntax.html
architecture_declarative_part
begin
architecture_statement_part
end [ architecture_simple_name ] ;
[ report expression ]
[ severity expression ] ;
{ use_clause }
end for ;
block [ ( guard_expression ) ]
block_header
begin
block_statement_part
end block [ block_label ] ;
case_statement_alternative
end case ;
sequence_of_statements
[ use binding_indication ; ]
end for ;
[ local_generic_clause ]
[ local_port_clause ]
end component ;
component_name
[ generic_map_aspect ]
[ port_map_aspect ] ;
configuration_declarative_part
block_configuration
end [ configuration_simple_name ] ;
entity_header
entity_declarative_part
[ begin
entity_statement_part
]end [ entity_simple_name ] ;
generation_scheme
generateend generate [ generate_label ] ;
sequence_of_statements
{ elsif condition then
sequence_of_statements
}[ else
sequence_of_statements
]end if ;
[ iteration_scheme ] loop
sequence_of_statements
end loop [ loop_label ] ;
package_body_declarative_part
end [ package_simple_name ] ;
package_declarative_part
end [ package_simple_name ] ;
units
base_unit_declaration
end units
process [ ( sensitivity_list ) ]
process_declarative_part
begin
process_statement_part
end process [ process_label ] ;
element_declaration
end record
target
<= options selected_waveforms ;subprogram_declarative_part
begin
subprogram_statement_part
end [ designator ] ;
of element_subtype_indication
abs, access, after, alias, all, and, architecture, array, assert, attribute,
begin, block, body, buffer, bus,
case, component, configuration, constant,
disconnect, downto,
else, elsif, end, entity, exit,
file, for, function,
generate, generic, guarded,
if, in, inout, is,
label, library, linkage, loop,
map, mod,
nand, new, next, nor, not, null,
of, on, open, or, others, out,
package, port, procedure, process,
range, record, register, rem, report, return,
select, severity, signal, subtype,
then, to, transport, type,
units, until, use,
variable,
wait, when, while, with,
xor
(T = scalar type or subtype, A = array type, S = signal object, B = block)
T'BASE
T'LEFT
T'RIGHT
T'HIGH
T'LOW
T'POS
T'VAL
T'SUCC
T'PRED
T'LEFTOF
T'RIGHTOF
A'LEFT
A'RIGHT
A'HIGH
A'LOW
A'RANGE
A'REVERSE_RANGE
A'LENGTH
S'DELAYED
S'STABLE
S'QUIET
S'TRANSACTION
S'EVENT
S'ACTIVE
S'LAST_EVENT
S'LAST_ACTIVE
S'LAST_VALUE
B'BEHAVIOR
B'STRUCTURE
Home
Last Revised: January 09, 2002
Digital Engineering Institute
Web Grunt: Richard Katz