too many changes to list
This commit is contained in:
parent
916c25f9a7
commit
07d5a8085b
200 changed files with 24344 additions and 17809 deletions
|
|
@ -3,6 +3,9 @@
|
|||
|
||||
The documentation consists of several documents:
|
||||
|
||||
- | `First steps after installation <steps.html>`_
|
||||
| Read this after installation for a quick introduction.
|
||||
|
||||
- | `Nimrod manual <manual.html>`_
|
||||
| Read this to get to know the Nimrod programming system.
|
||||
|
||||
|
|
@ -21,6 +24,5 @@ The documentation consists of several documents:
|
|||
this if you want to hack the compiler or develop advanced macros.
|
||||
|
||||
- | `Index <theindex.html>`_
|
||||
| The generated index. Often the quickest way to find the piece of
|
||||
| The generated index. Often the quickest way to find the piece of
|
||||
information you need.
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ typeDescK ::= VAR typeDesc
|
|||
| REF typeDesc
|
||||
| PTR typeDesc
|
||||
| TYPE expr
|
||||
| TUPLE tupleDesc
|
||||
| PROC paramList [pragma]
|
||||
|
||||
typeDesc ::= typeDescK | primary
|
||||
|
|
@ -157,23 +158,23 @@ colonAndEquals ::= [COLON typeDesc] EQUALS expr
|
|||
constDecl ::= symbol ["*"] [pragma] colonAndEquals [COMMENT | IND COMMENT]
|
||||
| COMMENT
|
||||
constSection ::= CONST indPush constDecl (SAD constDecl)* DED
|
||||
typeDef ::= typeDesc | recordDef | objectDef | enumDef
|
||||
typeDef ::= typeDesc | objectDef | enumDef
|
||||
|
||||
recordIdentPart ::=
|
||||
objectIdentPart ::=
|
||||
(symbol ["*" | "-"] [pragma] optComma)+ COLON typeDesc [COMMENT | IND COMMENT]
|
||||
|
||||
recordWhen ::= WHEN expr COLON [COMMENT] recordPart
|
||||
(ELIF expr COLON [COMMENT] recordPart)*
|
||||
[ELSE COLON [COMMENT] recordPart]
|
||||
recordCase ::= CASE expr COLON typeDesc [COMMENT]
|
||||
(OF sliceList COLON [COMMENT] recordPart)*
|
||||
[ELSE COLON [COMMENT] recordPart]
|
||||
objectWhen ::= WHEN expr COLON [COMMENT] objectPart
|
||||
(ELIF expr COLON [COMMENT] objectPart)*
|
||||
[ELSE COLON [COMMENT] objectPart]
|
||||
objectCase ::= CASE expr COLON typeDesc [COMMENT]
|
||||
(OF sliceList COLON [COMMENT] objectPart)*
|
||||
[ELSE COLON [COMMENT] objectPart]
|
||||
|
||||
recordPart ::= recordWhen | recordCase | recordIdentPart
|
||||
| indPush recordPart (SAD recordPart)* DED
|
||||
recordDef ::= RECORD [pragma] recordPart
|
||||
objectPart ::= objectWhen | objectCase | objectIdentPart
|
||||
| indPush objectPart (SAD objectPart)* DED
|
||||
tupleDesc ::= BRACKET_LE optInd ((symbol optComma)+ COLON typeDesc optComma)* BRACKET_RI
|
||||
|
||||
objectDef ::= OBJECT [pragma] [OF typeDesc] recordPart
|
||||
objectDef ::= OBJECT [pragma] [OF typeDesc] objectPart
|
||||
enumDef ::= ENUM [OF typeDesc] (symbol [EQUALS expr] optComma [COMMENT | IND COMMENT])+
|
||||
|
||||
typeDecl ::= COMMENT
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
This file keeps several tools from deleting this subdirectory.
|
||||
97
doc/lib.txt
97
doc/lib.txt
|
|
@ -13,36 +13,119 @@ Advanced libraries are in the ``lib/base`` directory.
|
|||
Basic libraries
|
||||
===============
|
||||
|
||||
* `System <system.html>`_
|
||||
* `system <system.html>`_
|
||||
Basic procs and operators that every program needs. It also provides IO
|
||||
facilities for reading and writing text and binary files. It is imported
|
||||
implicitly by the compiler. Do not import it directly. It relies on compiler
|
||||
magic to work.
|
||||
|
||||
* `Strutils <strutils.html>`_
|
||||
* `strutils <strutils.html>`_
|
||||
This module contains common string handling operations like converting a
|
||||
string into uppercase, splitting a string into substrings, searching for
|
||||
substrings, replacing substrings.
|
||||
|
||||
* `OS <os.html>`_
|
||||
* `os <os.html>`_
|
||||
Basic operating system facilities like retrieving environment variables,
|
||||
reading command line arguments, working with directories, running shell
|
||||
commands, etc. This module is -- like any other basic library --
|
||||
platform independant.
|
||||
|
||||
* `Math <math.html>`_
|
||||
* `math <math.html>`_
|
||||
Mathematical operations like cosine, square root.
|
||||
|
||||
* `Complex <complex.html>`_
|
||||
* `complex <complex.html>`_
|
||||
This module implements complex numbers and their mathematical operations.
|
||||
|
||||
* `Times <times.html>`_
|
||||
* `times <times.html>`_
|
||||
The ``times`` module contains basic support for working with time.
|
||||
|
||||
* `parseopt <parseopt.html>`_
|
||||
The ``parseopt`` module implements a command line option parser. This
|
||||
supports long and short command options with optional values and command line
|
||||
arguments.
|
||||
|
||||
* `parsecfg <parsecfg.html>`_
|
||||
The ``parsecfg`` module implements a high performance configuration file
|
||||
parser. The configuration file's syntax is similar to the Windows ``.ini``
|
||||
format, but much more powerful, as it is not a line based parser. String
|
||||
literals, raw string literals and triple quote string literals are supported
|
||||
as in the Nimrod programming language.
|
||||
|
||||
* `strtabs <strtabs.html>`_
|
||||
The ``strtabs`` module implements an efficient hash table that is a mapping
|
||||
from strings to strings. Supports a case-sensitive, case-insensitive and
|
||||
style-insensitive mode. An efficient string substitution operator ``%``
|
||||
for the string table is also provided.
|
||||
|
||||
* `hashes <hashes.html>`_
|
||||
This module implements efficient computations of hash values for diverse
|
||||
Nimrod types.
|
||||
|
||||
* `lexbase <lexbase.html>`_
|
||||
This is a low leve module that implements an extremely efficent buffering
|
||||
scheme for lexers and parsers. This is used by the ``parsecfg`` module.
|
||||
|
||||
|
||||
Advanced libaries
|
||||
=================
|
||||
|
||||
* `Regexprs <regexprs.html>`_
|
||||
* `regexprs <regexprs.html>`_
|
||||
This module contains procedures and operators for handling regular
|
||||
expressions.
|
||||
|
||||
* `dialogs <dialogs.html>`_
|
||||
This module implements portable dialogs for Nimrod; the implementation
|
||||
builds on the GTK interface. On Windows, native dialogs are shown if
|
||||
appropriate.
|
||||
|
||||
|
||||
Wrappers
|
||||
========
|
||||
|
||||
Note that the generated HTML for some of these wrappers is so huge, that it is
|
||||
not contained in the distribution. You can then find them on the website.
|
||||
|
||||
* `posix <posix.html>`_
|
||||
Contains a wrapper for the POSIX standard.
|
||||
* `windows <windows.html>`_
|
||||
Contains a wrapper for the Win32 API.
|
||||
* `shellapi <shellapi.html>`_
|
||||
Contains a wrapper for the ``shellapi.h`` header.
|
||||
* `shfolder <shfolder.html>`_
|
||||
Contains a wrapper for the ``shfolder.h`` header.
|
||||
* `mmsystem <mmsystem.html>`_
|
||||
Contains a wrapper for the ``mmsystem.h`` header.
|
||||
* `ole2 <ole2.html>`_
|
||||
Contains GUIDs for OLE2 automation support.
|
||||
* `nb30 <nb30.html>`_
|
||||
This module contains the definitions for portable NetBIOS 3.0 support.
|
||||
* `cairo <cairo.html>`_
|
||||
Wrapper for the cairo library.
|
||||
* `cairoft <cairoft.html>`_
|
||||
Wrapper for the cairoft library.
|
||||
* `cairowin32 <cairowin32.html>`_
|
||||
Wrapper for the cairowin32 library.
|
||||
* `cairoxlib <cairoxlib.html>`_
|
||||
Wrapper for the cairoxlib library.
|
||||
* `atk <atk.html>`_
|
||||
Wrapper for the atk library.
|
||||
* `gdk2 <gdk2.html>`_
|
||||
Wrapper for the gdk2 library.
|
||||
* `gdk2pixbuf <gdk2pixbuf.html>`_
|
||||
Wrapper for the gdk2pixbuf library.
|
||||
* `gdkglext <gdkglext.html>`_
|
||||
Wrapper for the gdkglext library.
|
||||
* `glib2 <glib2.html>`_
|
||||
Wrapper for the glib2 library.
|
||||
* `gtk2 <gtk2.html>`_
|
||||
Wrapper for the gtk2 library.
|
||||
* `gtkglext <gtkglext.html>`_
|
||||
Wrapper for the gtkglext library.
|
||||
* `gtkhtml <gtkhtml.html>`_
|
||||
Wrapper for the gtkhtml library.
|
||||
* `libglade2 <libglade2.html>`_
|
||||
Wrapper for the libglade2 library.
|
||||
* `pango <pango.html>`_
|
||||
Wrapper for the pango library.
|
||||
* `pangoutils <pangoutils.html>`_
|
||||
Wrapper for the pangoutils library.
|
||||
|
|
|
|||
3487
doc/manual.txt
3487
doc/manual.txt
File diff suppressed because it is too large
Load diff
|
|
@ -86,8 +86,8 @@ the C code. Thus it makes the following possible, for example:
|
|||
|
||||
.. code-block:: Nimrod
|
||||
var
|
||||
EOF {.import: "EOF", no_decl.}: cint # pretend EOF was a variable, as
|
||||
# Nimrod does not know its value
|
||||
EOF {.importc: "EOF", no_decl.}: cint # pretend EOF was a variable, as
|
||||
# Nimrod does not know its value
|
||||
|
||||
Varargs Pragma
|
||||
~~~~~~~~~~~~~~
|
||||
|
|
@ -110,7 +110,7 @@ declared but also that it leads to the inclusion of a given header file:
|
|||
|
||||
.. code-block:: Nimrod
|
||||
type
|
||||
PFile {.import: "FILE*", header: "<stdio.h>".} = pointer
|
||||
PFile {.importc: "FILE*", header: "<stdio.h>".} = pointer
|
||||
# import C's FILE* type; Nimrod will treat it as a new pointer type
|
||||
|
||||
The ``header`` pragma expects always a string constant. The string contant
|
||||
|
|
@ -149,7 +149,7 @@ is raised.
|
|||
|
||||
Debugger Option
|
||||
~~~~~~~~~~~~~~~
|
||||
The `debugger`:idx: option enables or disables the *Embedded Nimrod Debugger*.
|
||||
The `debugger`:idx: option enables or disables the *Embedded Nimrod Debugger*.
|
||||
See the documentation of endb_ for further information.
|
||||
|
||||
|
||||
|
|
@ -239,3 +239,28 @@ However it is not efficient to do:
|
|||
String case statements are optimized too. A hashing scheme is used for them
|
||||
if several different string constants are used. This is likely to be more
|
||||
efficient than any hand-coded scheme.
|
||||
|
||||
|
||||
The ECMAScript code generator
|
||||
=============================
|
||||
|
||||
Note: I use the term `ECMAScript`:idx: here instead of `JavaScript`:idx:, since
|
||||
it is the proper term.
|
||||
|
||||
Nimrod targets ECMAScript 1.5 which is supported by any widely used browser.
|
||||
Since ECMAScript does not have a portable means to include another module,
|
||||
Nimrod just generate a long ``.js`` file.
|
||||
|
||||
Features or modules that the ECMAScript platform does not support are not
|
||||
available. This includes:
|
||||
|
||||
* manual memory management (``alloc``, etc.)
|
||||
* casting and other unsafe operations (``cast`` operator, ``zeroMem``, etc.)
|
||||
* file management (``openfile``, etc.)
|
||||
* most modules of the Standard library
|
||||
* proper 64 bit integer arithmetic
|
||||
* proper unsigned integer arithmetic
|
||||
|
||||
However, the modules `strutils`:idx:, `math`:idx:, and `times`:idx: are
|
||||
available! To access the DOM, use the `dom`:idx: module that is only available
|
||||
for the ECMAScript platform.
|
||||
|
|
|
|||
220
doc/posix.txt
220
doc/posix.txt
|
|
@ -1,220 +0,0 @@
|
|||
Function POSIX Description
|
||||
access Tests for file accessibility
|
||||
alarm Schedules an alarm
|
||||
asctime Converts a time structure to a string
|
||||
cfgetispeed Reads terminal input baud rate
|
||||
cfgetospeed Reads terminal output baud rate
|
||||
cfsetispeed Sets terminal input baud rate
|
||||
cfsetospeed Sets terminal output baud rate
|
||||
chdir Changes current working directory
|
||||
chmod Changes file mode
|
||||
chown Changes owner and/or group of a file
|
||||
close Closes a file
|
||||
closedir Ends directory read operation
|
||||
creat Creates a new file or rewrites an existing one
|
||||
ctermid Generates terminal pathname
|
||||
cuserid Gets user name
|
||||
dup Duplicates an open file descriptor
|
||||
dup2 Duplicates an open file descriptor
|
||||
execl Executes a file
|
||||
execle Executes a file
|
||||
execlp Executes a file
|
||||
execv Executes a file
|
||||
execve Executes a file
|
||||
execvp Executes a file
|
||||
_exit Terminates a process
|
||||
fcntl Manipulates an open file descriptor
|
||||
fdopen Opens a stream on a file descriptor
|
||||
fork Creates a process
|
||||
fpathconf Gets configuration variable for an open file
|
||||
fstat Gets file status
|
||||
getcwd Gets current working directory
|
||||
getegid Gets effective group ID
|
||||
getenv Gets environment variable
|
||||
geteuid Gets effective user ID
|
||||
getgid Gets real group ID
|
||||
getgrgid Reads groups database based on group ID
|
||||
getgrnam Reads groups database based on group name
|
||||
getgroups Gets supplementary group IDs
|
||||
getlogin Gets user name
|
||||
getpgrp Gets process group ID
|
||||
getpid Gets process ID
|
||||
getppid Gets parent process ID
|
||||
getpwnam Reads user database based on user name
|
||||
getpwuid Reads user database based on user ID
|
||||
getuid Gets real user ID
|
||||
isatty Determines if a file descriptor is associated with a terminal
|
||||
kill Sends a kill signal to a process
|
||||
link Creates a link to a file
|
||||
longjmp Restores the calling environment
|
||||
lseek Repositions read/write file offset
|
||||
mkdir Makes a directory
|
||||
mkfifo Makes a FIFO special file
|
||||
open Opens a file
|
||||
opendir Opens a directory
|
||||
pathconf Gets configuration variables for a path
|
||||
pause Suspends a process execution
|
||||
pipe Creates an interprocess channel
|
||||
read Reads from a file
|
||||
readdir Reads a directory
|
||||
rename Renames a file
|
||||
rewinddir Resets the readdir() pointer
|
||||
rmdir Removes a directory
|
||||
setgid Sets group ID
|
||||
setjmp Saves the calling environment for use by longjmp()
|
||||
setlocale Sets or queries a program's locale
|
||||
setpgid Sets a process group ID for job control
|
||||
setuid Sets the user ID
|
||||
sigaction Examines and changes signal action
|
||||
sigaddset Adds a signal to a signal set
|
||||
sigdelset Removes a signal to a signal set
|
||||
sigemptyset Creates an empty signal set
|
||||
sigfillset Creates a full set of signals
|
||||
sigismember Tests a signal for a selected member
|
||||
siglongjmp Goes to and restores signal mask
|
||||
sigpending Examines pending signals
|
||||
sigprocmask Examines and changes blocked signals
|
||||
sigsetjmp Saves state for siglongjmp()
|
||||
sigsuspend Waits for a signal
|
||||
sleep Delays process execution
|
||||
stat Gets information about a file
|
||||
sysconf Gets system configuration information
|
||||
tcdrain Waits for all output to be transmitted to the terminal
|
||||
tcflow Suspends/restarts terminal output
|
||||
tcflush Discards terminal data
|
||||
tcgetattr Gets terminal attributes
|
||||
tcgetpgrp Gets foreground process group ID
|
||||
tcsendbreak Sends a break to a terminal
|
||||
tcsetattr Sets terminal attributes
|
||||
tcsetpgrp Sets foreground process group ID
|
||||
time Determines the current calendar time
|
||||
times Gets process times
|
||||
ttyname Determines a terminal pathname
|
||||
tzset Sets the timezone from environment variables
|
||||
umask Sets the file creation mask
|
||||
uname Gets system name
|
||||
unlink Removes a directory entry
|
||||
utime Sets file access and modification times
|
||||
waitpid Waits for process termination
|
||||
write Writes to a file
|
||||
|
||||
|
||||
POSIX.1b function calls Function POSIX Description
|
||||
aio_cancel Tries to cancel an asynchronous operation
|
||||
aio_error Retrieves the error status for an asynchronous operation
|
||||
aio_read Asynchronously reads from a file
|
||||
aio_return Retrieves the return status for an asynchronous operation
|
||||
aio_suspend Waits for an asynchronous operation to complete
|
||||
aio_write Asynchronously writes to a file
|
||||
clock_getres Gets resolution of a POSIX.1b clock
|
||||
clock_gettime Gets the time according to a particular POSIX.1b clock
|
||||
clock_settime Sets the time according to a particular POSIX.1b clock
|
||||
fdatasync Synchronizes at least the data part of a file with the underlying media
|
||||
fsync Synchronizes a file with the underlying media
|
||||
kill, sigqueue Sends signals to a process
|
||||
lio_listio Performs a list of I/O operations, synchronously or asynchronously
|
||||
mlock Locks a range of memory
|
||||
mlockall Locks the entire memory space down
|
||||
mmap Maps a shared memory object (or possibly another file) into process's address space
|
||||
mprotect Changes memory protection on a mapped area
|
||||
mq_close Terminates access to a POSIX.1b message queue
|
||||
mq_getattr Gets POSIX.1b message queue attributes
|
||||
mq_notify Registers a request to be notified when a message arrives on an empty message queue
|
||||
mq_open Creates/accesses a POSIX.1b message queue
|
||||
mq_receive Receives a message from a POSIX.1b message queue
|
||||
mq_send Sends a message on a POSIX.1b message queue
|
||||
mq_setattr Sets a subset of POSIX.1b message queue attributes
|
||||
msync Makes a mapping consistent with the underlying object
|
||||
munlock Unlocks a range of memory
|
||||
munlockall Unlocks the entire address space
|
||||
munmap Undo mapping established by mmap
|
||||
nanosleep Pauses execution for a number of nanoseconds
|
||||
sched_get_priority_max Gets maximum priority value for a scheduler
|
||||
sched_get_priority_min Gets minimum priority value for a scheduler
|
||||
sched_getparam Retrieves scheduling parameters for a particular process
|
||||
sched_getscheduler Retrieves scheduling algorithm for a particular purpose
|
||||
sched_rr_get_interval Gets the SCHED_RR interval for the named process
|
||||
sched_setparam Sets scheduling parameters for a process
|
||||
sched_setscheduler Sets scheduling algorithm/parameters for a process
|
||||
sched_yield Yields the processor
|
||||
sem_close Terminates access to a POSIX.1b semaphore
|
||||
sem_destroy De-initializes a POSIX.1b unnamed semaphore
|
||||
sem_getvalue Gets the value of a POSIX.1b semaphore
|
||||
sem_open Creates/accesses a POSIX.1b named semaphore
|
||||
sem_post Posts (signal) a POSIX.1b named or unnamed semaphore
|
||||
sem_unlink Destroys a POSIX.1b named semaphore
|
||||
sem_wait, sem_trywait Waits on a POSIX.1b named or unnamed semaphore
|
||||
shm_open Creates/accesses a POSIX.1b shared memory object
|
||||
shm_unlink Destroys a POSIX.1b shared memory object
|
||||
sigwaitinfosigtimedwait Synchronously awaits signal arrival; avoid calling handler
|
||||
timer_create Creates a POSIX.1b timer based on a particular clock
|
||||
timer_delete Deletes a POSIX.1b timer
|
||||
timer_gettime Time remaining on a POSIX.1b timer before expiration
|
||||
timer_settime Sets expiration time/interval for a POSIX.1b timer
|
||||
wait, waitpid Retrieves status of a terminated process and clean up corpse
|
||||
|
||||
|
||||
POSIX.1c function calls Function POSIX Description
|
||||
pthread_atfork Declares procedures to be called before and after a fork
|
||||
pthread_attr_destroy Destroys a thread attribute object
|
||||
pthread_attr_getdetachstate Obtains the setting of the detached state of a thread
|
||||
pthread_attr_getinheritsched Obtains the setting of the scheduling inheritance of a thread
|
||||
pthread_attr_getschedparam Obtains the parameters associated with the scheduling policy attribute of a thread
|
||||
pthread_attr_getschedpolicy Obtains the setting of the scheduling policy of a thread
|
||||
pthread_attr_getscope Obtains the setting of the scheduling scope of a thread
|
||||
pthread_attr_getstackaddr Obtains the stack address of a thread
|
||||
pthread_attr_getstacksize Obtains the stack size of a thread
|
||||
pthread_attr_init Initializes a thread attribute object
|
||||
pthread_attr_setdetachstate Adjusts the detached state of a thread
|
||||
pthread_attr_setinheritsched Adjusts the scheduling inheritance of a thread
|
||||
pthread_attr_setschedparam Adjusts the parameters associated with the scheduling policy of a thread
|
||||
pthread_attr_setschedpolicy Adjusts the scheduling policy of a thread
|
||||
pthread_attr_setscope Adjusts the scheduling scope of a thread
|
||||
pthread_attr_setstackaddr Adjusts the stack address of a thread
|
||||
pthread_attr_setstacksize Adjusts the stack size of a thread
|
||||
pthread_cancel Cancels the specific thread
|
||||
pthread_cleanup_pop Removes the routine from the top of a thread's cleanup stack, and if execute is nonzero, runs it
|
||||
pthread_cleanup_push Places a routine on the top of a thread's cleanup stack
|
||||
pthread_condattr_destroy Destroys a condition variable attribute object
|
||||
pthread_condattr_getpshared Obtains the process-shared setting of a condition variable attribute object
|
||||
pthread_condattr_init Initializes a condition variable attribute object
|
||||
pthread_condattr_setpshared Sets the process-shared attribute in a condition variable attribute object to either PTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE
|
||||
pthread_cond_broadcast Unblocks all threads that are waiting on a condition variable
|
||||
pthread_cond_destroy Destroys a condition variable
|
||||
pthread_cond_init Initializes a condition variable with the attributes specified in the specified condition variable attribute object
|
||||
pthread_cond_signal Unblocks at least one thread waiting on a condition variable
|
||||
pthread_cond_timedwait Automatically unlocks the specified mutex, and places the calling thread into a wait state
|
||||
pthread_cond_wait Automatically unlocks the specified mutex, and places the calling thread into a wait state
|
||||
pthread_create Creates a thread with the attributes specified in attr
|
||||
pthread_detach Marks a threads internal data structures for deletion
|
||||
pthread_equal Compares one thread handle to another thread handle
|
||||
pthread_exit Terminates the calling thread
|
||||
pthread_getschedparam Obtains both scheduling policy and scheduling parameters of an existing thread
|
||||
pthread_getspecific Obtains the thread specific data value associated with the specific key in the calling thread
|
||||
pthread_join Causes the calling thread to wait for the specific thread’s termination
|
||||
pthread_key_create Generates a unique thread-specific key that's visible to all threads in a process
|
||||
pthread_key_delete Deletes a thread specific key
|
||||
pthread_kill Delivers a signal to the specified thread
|
||||
pthread_mutexattr_destroy Destroys a mutex attribute object
|
||||
pthread_mutexattr_getprioceiling Obtains the priority ceiling of a mutex attribute object
|
||||
pthread_mutexattr_getprotocol Obtains protocol of a mutex attribute object
|
||||
pthread_mutexattr_getpshared Obtains a process-shared setting of a mutex attribute object
|
||||
pthread_mutexattr_init Initializes a mutex attribute object
|
||||
pthread_mutexattr_setprioceiling Sets the priority ceiling attribute of a mutex attribute object
|
||||
pthread_mutexattr_setprotocol Sets the protocol attribute of a mutex attribute object
|
||||
pthread_mutexattr_setpshared Sets the process-shared attribute of a mutex attribute object to either PTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE
|
||||
pthread_mutex_destroy Destroys a mutex
|
||||
pthread_mutex_init Initializes a mutex with the attributes specified in the specified mutex attribute object
|
||||
pthread_mutex_lock Locks an unlocked mutex
|
||||
pthread_mutex_trylock Tries to lock a not tested
|
||||
pthread_mutex_unlock Unlocks a mutex
|
||||
pthread_once Ensures that init_routine will run just once regardless of how many threads in the process call it
|
||||
pthread_self Obtains a thread handle of a calling thread
|
||||
pthread_setcancelstate Sets a thread's cancelability state
|
||||
pthread_setcanceltype Sets a thread's cancelability type
|
||||
pthread_setschedparam Adjusts the scheduling policy and scheduling parameters of an existing thread
|
||||
pthread_setspecific Sets the thread-specific data value associated with the specific key in the calling thread
|
||||
pthread_sigmask Examines or changes the calling thread's signal mask
|
||||
pthread_testcancel Requests that any pending cancellation request be delivered to the calling thread
|
||||
|
||||
|
||||
|
|
@ -4,8 +4,4 @@ Nimrod's documenation system
|
|||
|
||||
This folder contains Nimrod's documentation. The documentation
|
||||
is written in a format called *reStructuredText*, a markup language that reads
|
||||
like ASCII and can be converted to HTML, Tex and other formats automatically!
|
||||
|
||||
Unfortunately reStructuredText does not allow to colorize source code in the
|
||||
HTML page. Therefore a postprocessor runs over the generated HTML code, looking
|
||||
for Nimrod code fragments and colorizing them.
|
||||
like ASCII and can be converted to HTML automatically!
|
||||
|
|
|
|||
|
|
@ -272,25 +272,3 @@ end of the subject string, whatever options are set.
|
|||
The difference between ``\Z`` and ``\z`` is that ``\Z`` matches before
|
||||
a newline that is the last character of the string as well as at the end
|
||||
of the string, whereas ``\z`` matches only at the end.
|
||||
|
||||
..
|
||||
Regular expressions in Nimrod itself!
|
||||
-------------------------------------
|
||||
|
||||
'a' -- matches the character a
|
||||
'a'-'z' -- range operator '-'
|
||||
'A' | 'B' -- alternative operator |
|
||||
* 'a' -- prefix * is needed
|
||||
+ 'a' -- prefix + is needed
|
||||
? 'a' -- prefix ? is needed
|
||||
letter -- character classes with real names!
|
||||
letters
|
||||
white
|
||||
whites
|
||||
any -- any character
|
||||
() -- are Nimrod syntax
|
||||
! 'a'-'z'
|
||||
|
||||
-- concatentation via proc call:
|
||||
|
||||
re('A' 'Z' word * )
|
||||
|
|
|
|||
3856
doc/theindex.txt
3856
doc/theindex.txt
File diff suppressed because it is too large
Load diff
|
|
@ -85,13 +85,13 @@ We start the tour with a modified "hallo world" program:
|
|||
|
||||
Save this code to the file "greeting.nim". Now compile and run it::
|
||||
|
||||
nimrod run greeting.nim
|
||||
nimrod compile --run greeting.nim
|
||||
|
||||
As you see, with the ``run`` command Nimrod executes the file automatically
|
||||
As you see, with the ``--run`` switch Nimrod executes the file automatically
|
||||
after compilation. You can even give your program command line arguments by
|
||||
appending them after the filename that is to be compiled and run::
|
||||
|
||||
nimrod run greeting.nim arg1 arg2
|
||||
nimrod compile --run greeting.nim arg1 arg2
|
||||
|
||||
Though it should be pretty obvious what the program does, I will explain the
|
||||
syntax: Statements which are not indented are executed when the program
|
||||
|
|
@ -198,7 +198,7 @@ An example showing the most common statement types:
|
|||
|
||||
.. code-block:: Nimrod
|
||||
type
|
||||
TMyRecord = record
|
||||
TMyRecord = object
|
||||
x, y: int
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue