Wiki source for ProPgIdentifierRules


Show raw source

{{fbdoc item="title" value="Identifier Rules"}}----
Naming conventions for ""FreeBASIC"" symbols.

{{fbdoc item="desc"}}
An identifier is a symbolic name which uniquely identifies a [[ProPgVariables|variable]], ##[[KeyPgType|Type]]##, ##[[KeyPgUnion|Union]]##, ##[[KeyPgEnum|Enum]]##, ##[[KeyPgFunction|Function]]##, ##[[KeyPgSub|Sub]]##, or ##[[KeyPgProperty|Property]]##, within its [[ProPgVariableScope|scope]] or ##[[KeyPgNamespace|Namespace]]##.

Identifiers may contain only uppercase and lowercase Latin characters ##a##-##z## and ##A##-##Z##), digits (##0##-##9##), and the underscore character (##_##). The first character of an identifier must be a letter or underscore, not a digit.

Identifiers are case-insensitive: ##FOO## and ##foo## (and all other permutations of uppercase and lowercase) refer to the same symbol.

In the //[[CompilerOptlang|-lang qb]]// and //[[CompilerOptlang|-lang fblite]]// dialects, identifiers may have a type suffix at the end indicating one of the standard data types:

- ##%## for ##[[KeyPgInteger|Integer]]##
- ##&## for ##[[KeyPgLong|Long]]##
- ##!## for ##[[KeyPgSingle|Single]]##
- ##""#""## for ##[[KeyPgDouble|Double]]##
- ##$## for ##[[KeyPgString|String]]##

The use of these symbols is generally discouraged in and is not allowed in the //[[CompilerOptlang|-lang fb]]// dialect (the default).

The alternative is to be explicit - for example, ##Dim As Integer foo## or ##Dim foo As Integer## instead of ##Dim foo%##.

In the //[[CompilerOptlang|-lang qb]]// and //[[CompilerOptlang|-lang fblite]]// dialects, identifiers may contain one or more periods (##.##).

{{fbdoc item="lang"}}
- Periods in symbol names are only supported in the //[[CompilerOptlang|-lang qb]]// and //[[CompilerOptlang|-lang fblite]]// dialects.

{{fbdoc item="diff"}}
- Support for the underscore character (##_##) in symbol names is new to ""FreeBASIC"".

{{fbdoc item="see"}}
- [[ProPgVariables|Variables]]

{{fbdoc item="back" value="CatPgProgrammer|Programmer's Guide"}}
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode