diff options
| author | admin (centauri.fritz.box) <puppet@mx.buetow.org> | 2014-06-30 23:53:09 +0200 |
|---|---|---|
| committer | admin (centauri.fritz.box) <puppet@mx.buetow.org> | 2014-06-30 23:53:09 +0200 |
| commit | ac9339b92d8eb95d54c04cc1f507131642052199 (patch) | |
| tree | 9213a8bd41ba14bd8ed48c8bbc96851453b87f2d /docs | |
| parent | 63cf3028445d8d213ffc774f77aafd7283cb4fbd (diff) | |
| parent | 9bf07e1dfa69b5d6e4c296c0690b5ed91f909b7b (diff) | |
Merge remote-tracking branch 'remotes/github/v0.1' into v0.1
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/header.txt | 16 | ||||
| -rw-r--r-- | docs/help.txt | 4 | ||||
| -rw-r--r-- | docs/pod/Makefile | 1 | ||||
| -rw-r--r-- | docs/pod/fype.1.gz | bin | 6523 -> 6050 bytes | |||
| -rw-r--r-- | docs/pod/fype.html | 211 | ||||
| -rw-r--r-- | docs/pod/fype.man | 246 | ||||
| -rw-r--r-- | docs/pod/fype.pod | 67 | ||||
| -rw-r--r-- | docs/pod/fype.tex | 86 | ||||
| -rw-r--r-- | docs/pod/fype.txt | 74 | ||||
| -rw-r--r-- | docs/pod/pod2htmd.tmp | 2 | ||||
| -rw-r--r-- | docs/pod/pod2htmi.tmp | 2 | ||||
| -rw-r--r-- | docs/stats.txt | 8 | ||||
| -rw-r--r-- | docs/version.txt | 2 |
13 files changed, 259 insertions, 460 deletions
diff --git a/docs/header.txt b/docs/header.txt index 83638b8..d673a17 100644 --- a/docs/header.txt +++ b/docs/header.txt @@ -1,11 +1,11 @@ File: ${FILE} -A simple Fype interpreter +A simple interpreter -WWW: http://fype.buetow.org -AUTHOR: http://paul.buetow.org -E-Mail: fype at dev.buetow.org +WWW : http://fype.buetow.org +E-Mail : fype@dev.buetow.org -The Fype Language; (c) 2005 - 2010 - Dipl.-Inform. (FH) Paul C. Buetow +Copyright (c) 2005 2006 2007 2008, Dipl.-Inf. (FH) Paul C. Buetow +All rights reserved. Redistribution and use in source and binary forms, with or without modi- fication, are permitted provided that the following conditions are met: @@ -14,14 +14,14 @@ fication, are permitted provided that the following conditions are met: * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of buetow.org nor the names of its contributors may + * Neither the name of P. B. Labs nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY PAUL C. BUETOW ``AS IS'' AND ANY EXPRESS OR +THIS SOFTWARE IS PROVIDED BY Paul Buetow ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL PAUL C. BUETOW BE LIABLE FOR ANY DIRECT, +DISCLAIMED. IN NO EVENT SHALL Paul Buetow BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) diff --git a/docs/help.txt b/docs/help.txt index 0033293..f5387aa 100644 --- a/docs/help.txt +++ b/docs/help.txt @@ -1,5 +1,5 @@ -Fype2 Alpha Build 10387 -(c) Paul C. Buetow (2005 - 2010) <fype@dev.buetow.org> +Fype v0.1 Build 9205 +Copyright by Paul C. Buetow (2005 - 2008) <fype@dev.buetow.org> -e Executes given code string (see synopses) -h Prints this help -s Prints the synopsis diff --git a/docs/pod/Makefile b/docs/pod/Makefile index ddc6de4..d6f56fe 100644 --- a/docs/pod/Makefile +++ b/docs/pod/Makefile @@ -1,4 +1,3 @@ -# THIS MAKEFILE MAY WORK ONLY WITH (NET)BSD MAKE AKA PMAKE! all: man html latex txt html: diff --git a/docs/pod/fype.1.gz b/docs/pod/fype.1.gz Binary files differindex 916f836..8491141 100644 --- a/docs/pod/fype.1.gz +++ b/docs/pod/fype.1.gz diff --git a/docs/pod/fype.html b/docs/pod/fype.html index 121cbea..66c2303 100644 --- a/docs/pod/fype.html +++ b/docs/pod/fype.html @@ -4,15 +4,13 @@ <head> <title>NAME</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<link rev="made" href="mailto:root@localhost" /> +<link rev="made" href="mailto:root@chuck.buetow.org" /> </head> <body style="background-color: white"> - -<!-- INDEX BEGIN --> -<div name="index"> <p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> <ul> @@ -40,7 +38,6 @@ </ul> <li><a href="#variables">VARIABLES</a></li> - <li><a href="#synonyms">SYNONYMS</a></li> <li><a href="#built_in_functions">BUILT IN FUNCTIONS</a></li> <ul> @@ -66,25 +63,23 @@ <li><a href="#website">WEBSITE</a></li> <li><a href="#see_also">SEE ALSO</a></li> </ul> - -<hr name="index" /> -</div> <!-- INDEX END --> +<hr /> <p> </p> <h1><a name="name">NAME</a></h1> -<p><strong>Fype</strong> is <strong>F</strong>or <strong>Y</strong>our <strong>P</strong>rogram <strong>E</strong>xecution</p> -<p><strong>Fype</strong> is <strong>F</strong>ree <strong>Y</strong>ak <strong>P</strong>rogramed for <strong>E</strong>LF</p> -<p>It's not a hype - it's <strong>Fype</strong>!</p> +<p><strong>Fype</strong> is <strong>f</strong>or <strong>y</strong>our <strong>p</strong>rogram <strong>e</strong>xecution</p> +<p><strong>Fype</strong> is <strong>f</strong>ree <strong>y</strong>ack <strong>p</strong>rogramed for <strong>E</strong>LF</p> +<p>It's not a hype - it's Fype!</p> <p> </p> <hr /> <h1><a name="synopses">SYNOPSES</a></h1> <dl> -<dt><strong><a name="fype_hsvtv_file_fy" class="item"><strong>fype</strong> [-[hsvTV]] file.fy</a></strong></dt> +<dt><strong><a name="item_fype__5b_2d_5bhsvtv_5d_5d_file_2efy"><strong>fype</strong> [-[hsvTV]] file.fy</a></strong> -<dt><strong><a name="fype_e_fype_code_string" class="item"><strong>fype</strong> -e "fype code string;"</a></strong></dt> +<dt><strong><a name="item_fype__2de__22fype_code_string_3b_22"><strong>fype</strong> -e ``fype code string;''</a></strong> </dl> <p> @@ -95,7 +90,7 @@ TODO file of the source distribution of Fype!</p> <p>Fype is a 32 bit scripting language created for fun. You can use it and comment on it if you like. You could also write patches and mail them to fype at dev dot buetow dot org! Or go visit the IRC channel #coding at irc.german-elite.net and ask rantanplan.</p> <p>Fype is developed under the BSD license. See the COPYING file which is included in the source tree.</p> -<p>Fype should be "at least as good as AWK". This does not mean it will be a replacement for AWK but it should support functions, loops and arrays like AWK does but with a different syntax. It should also get extension support like AWK has. I am not talking about GNU AWK but about New AWK, which is included in the *BSD distributions! Fype already has a few features which are not available in AWK. However, AWK has still many features which are not available in Fype as well ;)</p> +<p>Fype should be ``at least as good as AWK''. This does not mean it will be a replacement for AWK but it should support functions, loops and arrays like AWK does but with a different syntax. It should also get extension support like AWK has. I am not talking about GNU AWK but about New AWK, which is included in the *BSD distributions! Fype already has a few features which are not available in AWK. However, AWK has still many features which are not available in Fype as well ;)</p> <p>Fancy stuff like OOP or unicode or threading is not yet planed. But fancy stuff like function pointers and closures may be considered for one of the first releases of Fype :)</p> <p> </p> @@ -106,24 +101,16 @@ TODO file of the source distribution of Fype!</p> </p> <hr /> <h1><a name="requirements">REQUIREMENTS</a></h1> -<p>Fype only has been tested on FreeBSD 7.0. Linux may work too. Windows support is not planned. But may work using Cygwin or SFU. Linux users have to install pmake before compiling Fype!</p> -<p>You will need:</p> +<p>Fype only has been tested on FreeBSD 7.0. Linux may work too. Windows support is not planned. But may work using Cygwin or SFU.</p> +<p>You will also need:</p> <pre> GNU GCC C Compiler (gcc.gnu.org) - NetBSD Make aka pmake (GNU Make will not work)</pre> -<p>NetBSD Make is included in any *BSD and can be run with just <strong>make</strong>.</p> + NetBSD Make aka pmake (GNU Make will not work) (it's included in any *BSD)</pre> <p> </p> <hr /> <h1><a name="getting_started">GETTING STARTED</a></h1> -<p>On Linux: Extract, compile and install Fype:</p> -<pre> - tar xvjf fype.tar.bz2 - cd fype - pmake - sudo pmake install - pmake clean</pre> -<p>On FreeBSD: Extract, compile and install Fype:</p> +<p>Extract, compile and install Fype:</p> <pre> tar xvjf fype.tar.bz2 cd fype @@ -143,61 +130,71 @@ TODO file of the source distribution of Fype!</p> </p> <h2><a name="the_basic_data_types">The basic data types</a></h2> <dl> -<dt><strong><a name="integer" class="item"><em>integer</em></a></strong></dt> +<dt><strong><a name="item_integer"><em>integer</em></a></strong> <dd> <p>Specifies an integer number</p> </dd> -<dt><strong><a name="double" class="item"><em>double</em></a></strong></dt> +</li> +<dt><strong><a name="item_double"><em>double</em></a></strong> <dd> <p>Specifies a double number</p> </dd> -<dt><strong><a name="string" class="item"><em>string</em></a></strong></dt> +</li> +<dt><strong><a name="item_string"><em>string</em></a></strong> <dd> <p>Specifies a string</p> </dd> -<dt><strong><a name="number" class="item"><em>number</em></a></strong></dt> +</li> +<dt><strong><a name="item_number"><em>number</em></a></strong> <dd> <p>May be an integer or a double number</p> </dd> -<dt><strong><a name="any" class="item"><em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item_any"><em>any</em></a></strong> <dd> <p>May be of any type above</p> </dd> -<dt><strong><a name="void" class="item"><em>void</em></a></strong></dt> +</li> +<dt><strong><a name="item_void"><em>void</em></a></strong> <dd> <p>No type</p> </dd> -<dt><strong><a name="identifier" class="item"><em>identifier</em></a></strong></dt> +</li> +<dt><strong><a name="item_identifier"><em>identifier</em></a></strong> <dd> <p>It's a variable name or a procedure name or a function name</p> </dd> +</li> </dl> <p> </p> <h2><a name="explicit_type_conversions">Explicit type conversions</a></h2> <dl> -<dt><strong><a name="integer_integer_any" class="item">(<em>integer</em>) <strong>integer</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_integer_any">(<em>integer</em>) <strong>integer</strong> <em>any</em></a></strong> <dd> <p>Converts any type to an integer</p> </dd> -<dt><strong><a name="double_double_any" class="item">(<em>double</em>) <strong>double</strong> <em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item__28double_29_double_any">(<em>double</em>) <strong>double</strong> <em>any</em></a></strong> <dd> <p>Converts any type to a double</p> </dd> -<dt><strong><a name="string_string_any" class="item">(<em>string</em>) <strong>string</strong> <em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item__28string_29_string_any">(<em>string</em>) <strong>string</strong> <em>any</em></a></strong> <dd> <p>Converts any type to a string</p> </dd> +</li> </dl> <p> </p> @@ -222,7 +219,7 @@ TODO file of the source distribution of Fype!</p> <p> </p> <h2><a name="scopeing">Scopeing</a></h2> -<p>A new scope starts with an { and ends with an }. An exception is a procedure, which does not use its own scope (see later in this manual). Control statements and functions support scopeings. The <strong>scope</strong> function will print out all available symbols at the current position. Here is a small example of how to use scopes:</p> +<p>A new scope starts with an { and ends with an }. An exception is a procedure, which does not use its own scope (see later in this manual). Control statements and functions support scopeings. Here is a small example how to use scopes:</p> <pre> my foo = 1;</pre> <pre> @@ -233,11 +230,7 @@ TODO file of the source distribution of Fype!</p> my bar = 2;</pre> <pre> # Prints out 1 - put defined bar;</pre> -<pre> - # Prints out all available symbols at this - # point to stdout. Those are: bar and foo - scope; + put defined bar; }</pre> <pre> # Prints out 0 @@ -253,26 +246,30 @@ TODO file of the source distribution of Fype!</p> <h2><a name="control_statements">Control statements</a></h2> <p>Fype knows the following control statements:</p> <dl> -<dt><strong><a name="if_expression_statements" class="item">if <em><expression</em>> { <em><statements</em>> }</a></strong></dt> +<dt><strong><a name="item_if__3cexpression_3e__7b__3cstatements_3e__7d">if <em><expression</em>> { <em><statements</em>> }</a></strong> <dd> <p>Runs the statements if the expression evaluates to a true value.</p> </dd> -<dt><strong><a name="ifnot_expression_statements" class="item">ifnot <em><expression</em>> { <em><statements</em>> }</a></strong></dt> +</li> +<dt><strong><a name="item_ifnot__3cexpression_3e__7b__3cstatements_3e__7d">ifnot <em><expression</em>> { <em><statements</em>> }</a></strong> <dd> <p>Runs the statements if the expression evaluates to a false value.</p> </dd> -<dt><strong><a name="while_expression_statements" class="item">while <em><expression</em>> { <em><statements</em>> }</a></strong></dt> +</li> +<dt><strong><a name="item_while__3cexpression_3e__7b__3cstatements_3e__7d">while <em><expression</em>> { <em><statements</em>> }</a></strong> <dd> <p>Runs the statements as long as the the expression evaluates to a true value.</p> </dd> -<dt><strong><a name="until_expression_statements" class="item">until <em><expression</em>> { <em><statements</em>> }</a></strong></dt> +</li> +<dt><strong><a name="item_until__3cexpression_3e__7b__3cstatements_3e__7d">until <em><expression</em>> { <em><statements</em>> }</a></strong> <dd> <p>Runs the statements as long as the the expression evaluates to a false value.</p> </dd> +</li> </dl> <p> </p> @@ -305,173 +302,159 @@ not.</p> <p> </p> <hr /> -<h1><a name="synonyms">SYNONYMS</a></h1> -<p>Each variable can have as many synonyms as wished. A synonym is another name to access the content of a specific variable. Here is an example of how to use synomyms:</p> -<pre> - my foo = "foo"; - my bar = \foo; - foo = "bar";</pre> -<pre> - # The synonym variable should now also set to "bar" - assert "bar" == bar;</pre> -<p>Synonyms can be used for all kind of identifiers. It's not limited to normal variables but can be also used for function and procedure names etc.</p> -<pre> - # Create a new procedure baz - proc baz { say "I am baz"; }</pre> -<pre> - # Make a synonym baz, and undefine baz - my bay = \baz;</pre> -<pre> - undef baz;</pre> -<pre> - # bay still has a reference of the original procedure baz - bay; # this prints aut "I am baz"</pre> -<p>The <strong>syms</strong> keyword gives you the total number of synonyms pointing to a specific value:</p> -<pre> - my foo = 1; - say syms foo; # Prints 1</pre> -<pre> - my baz = \foo; - say syms foo; # Prints 2 - say syms baz; # Prints 2</pre> -<pre> - undef baz; - say syms foo; # Prints 1</pre> -<p> -</p> -<hr /> <h1><a name="built_in_functions">BUILT IN FUNCTIONS</a></h1> <p>In Fype, operators are built in functions as well. The difference is, that they may be written in infix notation instead in front of the arguments. The types inside the () specify the return types.</p> <p> </p> <h2><a name="math">Math</a></h2> <dl> -<dt><strong><a name="any_any_any" class="item">(<em>any</em>) <em>any</em> <strong>+</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28any_29_any__2b_any">(<em>any</em>) <em>any</em> <strong>+</strong> <em>any</em></a></strong> <dd> <p>Special string behavior: A string will get auto convertet into an <em>integer</em>.</p> </dd> -<dt><strong><a name="any_any_any2" class="item">(<em>any</em>) <em>any</em> <strong>-</strong> <em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item__28any_29_any__2d_any">(<em>any</em>) <em>any</em> <strong>-</strong> <em>any</em></a></strong> <dd> <p>Special string behavior: A string will get auto convertet into an <em>integer</em>.</p> </dd> -<dt><strong><a name="any_any_any3" class="item">(<em>any</em>) <em>any</em> <strong>*</strong> <em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item__28any_29_any__2a_any">(<em>any</em>) <em>any</em> <strong>*</strong> <em>any</em></a></strong> <dd> <p>Special string behavior: A string will get auto convertet into an <em>integer</em>.</p> </dd> -<dt><strong><a name="any_any_any4" class="item">(<em>any</em>) <em>any</em> <strong>/</strong> <em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item__28any_29_any__2f_any">(<em>any</em>) <em>any</em> <strong>/</strong> <em>any</em></a></strong> <dd> <p>Special string behavior: A string will get auto convertet into an <em>integer</em>.</p> </dd> +</li> </dl> <p> </p> <h2><a name="conditional">Conditional</a></h2> <dl> -<dt><strong><a name="integer_any_any" class="item">(<em>integer</em>) <em>any</em> <strong>==</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3d_3d_any">(<em>integer</em>) <em>any</em> <strong>==</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_any2" class="item">(<em>integer</em>) <em>any</em> <strong>!=</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__21_3d_any">(<em>integer</em>) <em>any</em> <strong>!=</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_any3" class="item">(<em>integer</em>) <em>any</em> <strong><=</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3c_3d_any">(<em>integer</em>) <em>any</em> <strong><=</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_any4" class="item">(<em>integer</em>) <em>any</em> <strong>>=</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3e_3d_any">(<em>integer</em>) <em>any</em> <strong>>=</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_any5" class="item">(<em>integer</em>) <em>any</em> <strong><</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3c_any">(<em>integer</em>) <em>any</em> <strong><</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_any6" class="item">(<em>integer</em>) <em>any</em> <strong>></strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3e_any">(<em>integer</em>) <em>any</em> <strong>></strong> <em>any</em></a></strong> -<dt><strong><a name="integer_not_any" class="item">(<em>integer</em>) <strong>not</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_not_any">(<em>integer</em>) <strong>not</strong> <em>any</em></a></strong> </dl> <p> </p> <h2><a name="definedness">Definedness</a></h2> <dl> -<dt><strong><a name="integer_defined_identifier" class="item">(<em>integer</em>) <strong>defined</strong> <em>identifier</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_defined_identifier">(<em>integer</em>) <strong>defined</strong> <em>identifier</em></a></strong> <dd> <p>Returns 1 if <em>identifier</em> has been defined. Returns 0 else.</p> </dd> -<dt><strong><a name="integer_undef_identifier" class="item">(<em>integer</em>) <strong>undef</strong> <em>identifier</em></a></strong></dt> +</li> +<dt><strong><a name="item__28integer_29_undef_identifier">(<em>integer</em>) <strong>undef</strong> <em>identifier</em></a></strong> <dd> <p>Tries to undefine/delete the <em>identifier</em>. Returns 1 if success, otherwise 0 is returned.</p> </dd> +</li> </dl> <p> </p> <h2><a name="bitwise">Bitwise</a></h2> <dl> -<dt><strong><a name="integer_any_any7" class="item">(<em>integer</em>) <em>any</em> <strong>:<</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3a_3c_any">(<em>integer</em>) <em>any</em> <strong>:<</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_any8" class="item">(<em>integer</em>) <em>any</em> <strong>:></strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any__3a_3e_any">(<em>integer</em>) <em>any</em> <strong>:></strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_and_any" class="item">(<em>integer</em>) <em>any</em> <strong>and</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any_and_any">(<em>integer</em>) <em>any</em> <strong>and</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_or_any" class="item">(<em>integer</em>) <em>any</em> <strong>or</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any_or_any">(<em>integer</em>) <em>any</em> <strong>or</strong> <em>any</em></a></strong> -<dt><strong><a name="integer_any_xor_any" class="item">(<em>integer</em>) <em>any</em> <strong>xor</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28integer_29_any_xor_any">(<em>integer</em>) <em>any</em> <strong>xor</strong> <em>any</em></a></strong> </dl> <p> </p> <h2><a name="numeric">Numeric</a></h2> <dl> -<dt><strong><a name="number_neg_number" class="item">(<em>number</em>) <strong>neg</strong> <em>number</em></a></strong></dt> +<dt><strong><a name="item__28number_29_neg_number">(<em>number</em>) <strong>neg</strong> <em>number</em></a></strong> <dd> <p>This function returns the negative value of <em>any</em></p> </dd> -<dt><strong><a name="integer_no_integer" class="item">(<em>integer</em>) <strong>no</strong> [<em>integer</em>]</a></strong></dt> +</li> +<dt><strong><a name="item__28integer_29_no__5binteger_5d">(<em>integer</em>) <strong>no</strong> [<em>integer</em>]</a></strong> <dd> <p>This function returns 1 if the argument is 0, otherwise it will return 0! If no argument is given, then 0 is returned!</p> </dd> -<dt><strong><a name="integer_yes_integer" class="item">(<em>integer</em>) <strong>yes</strong> [<em>integer</em>]</a></strong></dt> +</li> +<dt><strong><a name="item__28integer_29_yes__5binteger_5d">(<em>integer</em>) <strong>yes</strong> [<em>integer</em>]</a></strong> <dd> -<p>This function always returns 1. The parameter is optional.</p> +<p>This function always returns 1. The parameter is optional. +</p> +</dd> +<dd> <pre> # Prints out 1, because foo is not defined if yes { say no defined foo; }</pre> </dd> +</li> </dl> <p> </p> <h2><a name="system">System</a></h2> <dl> -<dt><strong><a name="void_end" class="item">(<em>void</em>) <strong>end</strong></a></strong></dt> +<dt><strong><a name="item__28void_29_end">(<em>void</em>) <strong>end</strong></a></strong> <dd> <p>Exits the program with the exit status of 0</p> </dd> -<dt><strong><a name="void_exit_integer" class="item">(<em>void</em>) <strong>exit</strong> <em>integer</em></a></strong></dt> +</li> +<dt><strong><a name="item__28void_29_exit_integer">(<em>void</em>) <strong>exit</strong> <em>integer</em></a></strong> <dd> <p>Exits the program with the specified exit status</p> </dd> -<dt><strong><a name="integer_fork" class="item">(<em>integer</em>) <strong>fork</strong></a></strong></dt> +</li> +<dt><strong><a name="item__28integer_29_fork">(<em>integer</em>) <strong>fork</strong></a></strong> <dd> <p>Fork forks a subprocess. It returns 0 for the child process and the pid of the child process otherwise! Example:</p> +</dd> +<dd> <pre> my pid = fork;</pre> +</dd> +<dd> <pre> if pid { put "I am the parent process; child has the pid "; say pid;</pre> +</dd> +<dd> <pre> } ifnot pid { say "I am the child process"; }</pre> </dd> -<dt><strong><a name="integer_gc" class="item">(<em>integer</em>) <strong>gc</strong></a></strong></dt> +</li> +<dt><strong><a name="item__28integer_29_gc">(<em>integer</em>) <strong>gc</strong></a></strong> <dd> <p>Executes the garbage collector and returns the number of items freed! You may @@ -479,26 +462,30 @@ wonder why most of the time it will return a value of 0! Fype tries to free not needed memory asap. This may change in future versions in order to gain faster execution of scripts!</p> </dd> +</li> </dl> <p> </p> <h2><a name="i_o">I/O</a></h2> <dl> -<dt><strong><a name="any_put_any" class="item">(<em>any</em>) <strong>put</strong> <em>any</em></a></strong></dt> +<dt><strong><a name="item__28any_29_put_any">(<em>any</em>) <strong>put</strong> <em>any</em></a></strong> <dd> <p>Prints out the argument</p> </dd> -<dt><strong><a name="any_say_any" class="item">(<em>any</em>) <strong>say</strong> <em>any</em></a></strong></dt> +</li> +<dt><strong><a name="item__28any_29_say_any">(<em>any</em>) <strong>say</strong> <em>any</em></a></strong> <dd> <p>Same as put, but also includes an ending newline</p> </dd> -<dt><strong><a name="void_ln" class="item">(<em>void</em>) <strong>ln</strong></a></strong></dt> +</li> +<dt><strong><a name="item__28void_29_ln">(<em>void</em>) <strong>ln</strong></a></strong> <dd> <p>Just prints a newline</p> </dd> +</li> </dl> <p> </p> @@ -585,7 +572,9 @@ keyword in order to check if a procedure has been defined or not.</p> </p> <hr /> <h1><a name="see_also">SEE ALSO</a></h1> -<p><code>awk(1)</code> <code>cc(1)</code> <code>make(1)</code></p> +<p><code>awk(1)</code> <code>cc(1)</code> <code>make(1)</code> + +</p> </body> diff --git a/docs/pod/fype.man b/docs/pod/fype.man index ed963a7..22eec38 100644 --- a/docs/pod/fype.man +++ b/docs/pod/fype.man @@ -1,7 +1,15 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -17,11 +25,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -40,25 +48,22 @@ . ds R" '' 'br\} .\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.ie \nF \{\ +.if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.el \{\ -. de IX -.. -.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -124,15 +129,11 @@ .\" ======================================================================== .\" .IX Title "FYPE 1" -.TH FYPE 1 "2014-06-22" "Fype Superalpha Build 9666" "The Fype Users Manual Page" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh +.TH FYPE 1 "2008-08-25" "Fype v0.0-devel Build 9175" "The Fype Users Manual Page" .SH "NAME" -Fype is For Your Program Execution +\&\fBFype\fR is \fBf\fRor \fBy\fRour \fBp\fRrogram \fBe\fRxecution .PP -Fype is Free Yak Programed for ELF +\&\fBFype\fR is \fBf\fRree \fBy\fRack \fBp\fRrogramed for \fBE\fRLF .PP It's not a hype \- it's Fype! .SH "SYNOPSES" @@ -155,35 +156,23 @@ Fype is developed under the \s-1BSD\s0 license. See the \s-1COPYING\s0 file whic .PP Fype should be \*(L"at least as good as \s-1AWK\s0\*(R". This does not mean it will be a replacement for \s-1AWK\s0 but it should support functions, loops and arrays like \s-1AWK\s0 does but with a different syntax. It should also get extension support like \s-1AWK\s0 has. I am not talking about \s-1GNU\s0 \s-1AWK\s0 but about New \s-1AWK\s0, which is included in the *BSD distributions! Fype already has a few features which are not available in \s-1AWK\s0. However, \s-1AWK\s0 has still many features which are not available in Fype as well ;) .PP -Fancy stuff like \s-1OOP\s0 or unicode or threading is not yet planed. But fancy stuff like function pointers and closures may be considered for one of the first releases of Fype :) +Fancy stuff like \s-1OOP\s0 or unicode or threading is not yet planed. But fancy stuff like function pointers and closures may be considered for one of the first releases of Fype :) .SH "PARSING / CODE GENERATION" .IX Header "PARSING / CODE GENERATION" -The Fype syntax is very simple and is using a maximum look ahead of 1 and a very easy top down parsing. Fype is parsing and interpreting its code simultaneous. This means, that syntax errors are only detected during program runtime. +The Fype syntax is very simple and is using a maximum look |
