FreeBASIC マニュアルのトップに戻る

FreeBASIC DevGlossary

目次→FreeBASIC のハッキング→FreeBASIC でのハッキングのための情報Glossary - common terms used in fbc development←オリジナル・サイト

用語解説 - fbc 開発で使われる共通の用語



arg, argument
An expression passed to a parameter in a procedure call.

cast
A type cast changes the compile-time data type of an expression and either causes a conversion (e.g. float <-> int) or a reinterpretation of the expression value's bit representation (e.g. integer <-> uinteger).

comp, compound

conv, conversion
A conversion is an operation that translates between two different representations of the same value (e.g. float <-> int, or 32bit <-> 64bit).

cast and conv are often used interchangeably in the compiler sources. For example, the AST's CONV nodes represent type casts, no matter whether they perform conversions or not.

Some (but not all) casts require run-time conversions, for example:
short <-> integer
single <-> integer
single <-> double

Simple casts between types of equal class and size do not require a run-time conversion, because the bit representation wouldn't change anyways. For example:
short <-> ushort
integer <-> uinteger
These are also called noconv casts.

ctor, constructor

ctx, context
UDTs/"classes" in the fbc sources for holding global information shared amongst multiple procedures or modules.

desc, descriptor

dtor, destructor

fbc

fbctinf
FB compile-time information, also see objinfo.

fbgfx
FB graphics, usually referring to the use of FB's built-in graphics keywords, implemented in gfxlib2

frontend stage 1
Compilation of the .bas input files into the next intermediate format: .asm (-gen gas), .c (-gen gcc) or .ll (-gen llvm)

frontend stage 2
Compilation of the .c (-gen gcc) or .ll (-gen llvm) intermediate files into .asm files. (doesn't apply to -gen gas because there the FB compiler generates .asm itself directly)

function
A procedure with result value; sometimes also used in place of procedure, as in C.

gfxlib2
The FB graphics runtime library implementation from the fbc project.

hashtb
A hash table, often used together with a symbol table to allow fast lookup of the symbols in that symbol table.

libfb, libfbmt, libfbgfx, libfbgfxmt
Names of the libraries built from the rtlib/gfxlib2 sources. Libraries named lib*mt are the thread-safe versions of their lib* counterparts. They are built with the ENABLE_MT #define.

local

method

noconv cast
A cast that does not require a conversion.

normal build
Described here: Normal vs. Standalone

objinfo
See DevObjinfo

param, parameter
Procedure parameters as declared in procedure DECLARE statements or bodies.

paramvar
For each parameter, the compiler will create a corresponding local variable in the procedure's scope, allowing the parameters to be accessed by user code.

proc, procedure
Any sub or function, including constructors/destructors, operator overloads, property setters/getters.

standalone build
Described here: Normal vs. Standalone

static

struct, structure
TYPE or UNION, also known as struct/union in C.

sub
A procedure without result (with VOID result).

symtb
A symbol table: owns a linked list of FBSYMBOL in a specific scope. This is where FBSYMBOLs live.

rtlib
The FB runtime library implementation from the fbc project

UDT, user-defined type
TYPEs/UNIONs/ENUMs, sometimes just TYPEs/UNIONs.

vreg
Virtual registers are used when emitting the AST. The AST creates a vreg for the operands and results of all operations that make up the input program. Each backend emits them differently:
Since the C/LLVM backends don't re-use vregs, the vregs are almost in static-single-assignment form; although not quite because there still are self-operations etc. produced by the AST which don't take SSA form into account.

FreeBASIC の開発者用情報 に戻る
目次に戻る
ページ歴史:2016-02-10 15:48:42
日本語翻訳:WATANABE Makoto、原文著作者:DkLwikki

ホームページのトップに戻る

表示-非営利-継承