The start symbol is design_file.
From: http://www.iis.ee.ethz.ch/~zimmi/download/vhdl93_syntax.html
architecture_declarative_part
begin
architecture_statement_part
end [ architecture ] [ architecture_simple_name ] ;
[ report expression ]
[ severity expression ]
{ use_clause }
{ configuration_item }
end for ;
block [ ( guard_expression ) ] [ is ]
block_header
begin
block_statement_part
end block [ block_label ] ;
case expression is
case_statement_alternative
end case [ case_label ] ;
sequence_of_statements
[ binding_indication ; ]
[ block_configuration ]
end for ;
[ local_generic_clause ]
[ local_port_clause ]
end component [ component_simple_name ] ;
instantiated_unit
[ generic_map_aspect ]
[ port_map_aspect ] ;
configuration_declarative_part
end [ configuration ] [ configuration_simple_name ] ;
entity_header
[ begin
entity_statement_part
]end [ entity ] [ entity_simple_name ] ;
generation_scheme
generatebegin ]
end generate [ generate_label ] ;
[ iteration_scheme ] loop
sequence_of_statements
end loop [ loop_label ] ;
package_body_declarative_part
end [ package body ] [ package_simple_name ] ;
package_declarative_part
end [ package ] [ package_simple_name ] ;
units
primary_unit_declaration
end units [ physical_type_simple_name ]
[ postponed ] process [ ( sensitivity_list ) ] [ is ]
process_declarative_part
begin
process_statement_part
end [ postponed ] process [ process_label ] ;
element_declaration
end record [ record_type_simple_name ]
report expression
[ severity expression ] ;
target
<= options selected_waveforms ;subprogram_declarative_part
begin
subprogram_statement_part
end [ subprogram_kind ] [ designator ] ;
return type_mark
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, group, guarded,
if, impure, in, inertial, inout, is,
label, library, linkage, literal, loop,
map, mod,
nand, new, next, nor, not, null,
of, on, open, or, others, out,
package, port, postponed, procedure, process, pure,
range, record, register, reject, rem, report, return, rol, ror,
select, severity, shared, signal, sla, sll, sra, srl, subtype,
then, to, transport, type,
unaffected, units, until, use,
variable,
wait, when, while, with,
xnor, xor
(T = scalar type or subtype, A = array type, S = signal, E = named entity)
T'BASE
T'LEFT
T'RIGHT
T'HIGH
T'LOW
T'ASCENDING
T'IMAGE(X)
T'VALUE(X)
T'POS(X)
T'VAL(X)
T'SUCC(X)
T'PRED(X)
T'LEFTOF(X)
T'RIGHTOF(X)
A'LEFT[(N)]
A'RIGHT[(N)]
A'HIGH[(N)]
A'LOW[(N)]
A'RANGE[(N)]
A'REVERSE_RANGE[(N)]
A'LENGTH[(N)]
A'ASCENDING[(N)]
S'DELAYED[(T)]
S'STABLE[(T)]
S'QUIET[(T)]
S'TRANSACTION
S'EVENT
S'ACTIVE
S'LAST_EVENT
S'LAST_ACTIVE
S'LAST_VALUE
S'DRIVING
S'DRIVING_VALUE
E'SIMPLE_NAME
E'INSTANCE_NAME
E'PATH_NAME
Home
Last Revised: January 09, 2002
Digital Engineering Institute
Web Grunt: Richard Katz