www.digitalmars.com [Home] [Search] [D]

Syntax Grammar

module:
	{ decl_def }

decl_def:
	import
	class_decl_def
	struct_decl_def
	union_decl_def
	enum_decl_def

import:
	"import" identifier ";"

class_decl_def:
	class_declaration
	class_definition

class_declaration:
	"class" identifier ";"

class_definition:
	"class" identifier [ ":" identifier ] "{" { protection { class_member } } "}"

protection:
	"private" | "protected" | "public" | "export"

enum_decl_def:
	enum_declaration
	enum_definition

enum_declaration:
	"enum" identifier ";"

enum_definition:
	"enum" identifier "{" [ enum_member { "," enum_member }] "}"

enum_member:
	identifier [ "=" expression ]

union_decl_def:
	union_declaration
	union_definition

union_declaration:
	"union" identifier ";"

union_definition:
	"union" identifier "{" [ member { "," member }] "}"

struct_decl_def:
	struct_declaration
	struct_definition

struct_declaration:
	"struct" identifier ";"

struct_definition:
	"struct" identifier "{" [ member { "," member }] "}"

member:
	declaration
	struct_definition ";"
	union_definition ";"

class_member:
	declaration
	struct_definition ";"
	union_definition ";"

declaration:
	{ qualifier } declaration

qualifier:
	"static"
	"synchronized"
	"final"

basic_type:
	"bool"
	"char"
	"byte"
	"short"
	"ushort"
	"wchar"
	"int"
	"unsigned"
	"long"
	"ulong"
	"float"
	"double"
	"ldouble"

Copyright (c) 1999-2001 by Digital Mars, All Rights Reserved