*** empty log message ***
This commit is contained in:
parent
69c1d8a56d
commit
3ee6b34739
@ -20,7 +20,8 @@ ase-0.1.0.tgz
|
|||||||
|
|
||||||
[[[
|
[[[
|
||||||
* {Quickstart,quickstart-en.html}
|
* {Quickstart,quickstart-en.html}
|
||||||
* {Embedder guide,awk-en.html}
|
* {AWK Embedder guide,awk-en.html}
|
||||||
|
* {LISP Embedder guide,lsp-en.html}
|
||||||
* {Frequently Asked Questions,faq-en.html}
|
* {Frequently Asked Questions,faq-en.html}
|
||||||
]]]
|
]]]
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
.title ASEAWK
|
.title ASEAWK
|
||||||
|
|
||||||
== ASEAWK ==
|
= ASEAWK =
|
||||||
ASE provides an embeddable processor of a dialect of the AWK programming language. The language implemented is slightly different from {the version developed by Brian W. Kernighan, http://cm.bell-labs.com/cm/cs/awkbook/index.html} and has been adjusted to the author's preference.
|
ASE provides an embeddable processor of a dialect of the AWK programming language. The language implemented is slightly different from {the version developed by Brian W. Kernighan, http://cm.bell-labs.com/cm/cs/awkbook/index.html} and has been adjusted to the author's preference.
|
||||||
|
|
||||||
=== Overview ===
|
== Overview ==
|
||||||
The following code fragment illustrates the basic steps of embedding the processor.
|
The following code fragment illustrates the basic steps of embedding the processor.
|
||||||
|
|
||||||
{{{
|
{{{
|
||||||
@ -36,7 +36,7 @@ The following code fragment illustrates the basic steps of embedding the process
|
|||||||
|
|
||||||
More detailed description is available {here,awk-mini-en.html}. You may refer to other sample files such as [[ase/test/awk/awk.c]] and [[ase/awk/jni.c]].
|
More detailed description is available {here,awk-mini-en.html}. You may refer to other sample files such as [[ase/test/awk/awk.c]] and [[ase/awk/jni.c]].
|
||||||
|
|
||||||
=== Primitive Functions ===
|
== Primitive Functions ==
|
||||||
A set of primitive functions is needed to create an instance of the AWK processor. A primitive function is a user-defined function to help the library perform system-dependent operations such as memory allocation, character class handling.
|
A set of primitive functions is needed to create an instance of the AWK processor. A primitive function is a user-defined function to help the library perform system-dependent operations such as memory allocation, character class handling.
|
||||||
|
|
||||||
{{{
|
{{{
|
||||||
@ -112,7 +112,7 @@ struct ase_ccls_t
|
|||||||
|
|
||||||
The functions in these groups perform the memory operations and character class related operations respectively. They follow the style of the memory allocation functions and character class handling functions of the standard C library except that they accept a pointer to the user-defined data as the first argument, thus providing more flexibility. The pointer to the user-defined data is specified into the [[custom_data]] field of each group. The [[realloc]] field, however, can be [[ASE_NULL]], in which case the functions pointed by the free and the malloc field replace the role of the function pointed by the [[realloc]] field.
|
The functions in these groups perform the memory operations and character class related operations respectively. They follow the style of the memory allocation functions and character class handling functions of the standard C library except that they accept a pointer to the user-defined data as the first argument, thus providing more flexibility. The pointer to the user-defined data is specified into the [[custom_data]] field of each group. The [[realloc]] field, however, can be [[ASE_NULL]], in which case the functions pointed by the free and the malloc field replace the role of the function pointed by the [[realloc]] field.
|
||||||
|
|
||||||
=== Source IO Handler ===
|
== Source IO Handler ==
|
||||||
|
|
||||||
The source code is handled by a source input handler provided by the user. The optional source code output handler can be provided to have the internal parse tree converted back to the source code.
|
The source code is handled by a source input handler provided by the user. The optional source code output handler can be provided to have the internal parse tree converted back to the source code.
|
||||||
|
|
||||||
@ -197,6 +197,6 @@ if (ase_awk_parse (awk, &srcios) == -1)
|
|||||||
}
|
}
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
=== External IO Handler ===
|
== External IO Handler ==
|
||||||
|
|
||||||
External IO handlers should be provided to support the AWK's built-in IO facilities.
|
External IO handlers should be provided to support the AWK's built-in IO facilities.
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
.title Annotated ASEAWK Embedding Sample
|
.title Annotated ASEAWK Embedding Sample
|
||||||
|
|
||||||
== Annotated ASEAWK Embedding Sample ==
|
= Annotated ASEAWK Embedding Sample =
|
||||||
|
|
||||||
This document annotates a simple embedding sample code [[ase/test/awk/mini.c]]. Locate the [[ase_main]] function to begin exploring the sample.
|
This document annotates a simple embedding sample code [[ase/test/awk/mini.c]]. Locate the [[ase_main]] function to begin exploring the sample.
|
||||||
|
|
||||||
=== mini.c ===
|
== mini.c ==
|
||||||
|
|
||||||
{{{
|
{{{
|
||||||
#include <ase/awk/awk.h>
|
#include <ase/awk/awk.h>
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
.title ASEAWK FUNCTION REFERENCE
|
|
||||||
|
|
||||||
== Function ==
|
|
||||||
|
|
||||||
=== ase_awk_open ===
|
|
||||||
{{{
|
|
||||||
ase_awk_t* ase_awk_open (const ase_awk_prmfns_t* prmfns, void* custom_data, int* errnum);
|
|
||||||
}}}
|
|
||||||
|
|
||||||
The function creates an object of the type ase_awk_t. It requires a set of system functions as described in the type ase_awk_prmfns_t.
|
|
||||||
|
|
||||||
=== ase_awk_close ===
|
|
||||||
{{{
|
|
||||||
int ase_awk_close (ase_awk_t* awk);
|
|
||||||
}}}
|
|
||||||
|
|
||||||
|
|
22
ase/doc/lsp-en.man
Normal file
22
ase/doc/lsp-en.man
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
== ASELSP ==
|
||||||
|
|
||||||
|
ASELSP is an implementation of a lisp-like language for embedding purposes.
|
||||||
|
|
||||||
|
== Types ==
|
||||||
|
|
||||||
|
[[[
|
||||||
|
* ase_lsp_t
|
||||||
|
* ase_lsp_io_t
|
||||||
|
* ase_lsp_obj_t
|
||||||
|
]]]
|
||||||
|
|
||||||
|
== Functions ==
|
||||||
|
|
||||||
|
[[[
|
||||||
|
* ase_lsp_open
|
||||||
|
* ase_lsp_close
|
||||||
|
* ase_lsp_read
|
||||||
|
* ase_lsp_eval
|
||||||
|
* ase_lsp_print
|
||||||
|
]]]
|
@ -1,10 +1,10 @@
|
|||||||
.title ASE Quick Start Guide
|
.title ASE Quick Start Guide
|
||||||
|
|
||||||
== ASE Quck Start Guide ==
|
= ASE Quck Start Guide =
|
||||||
|
|
||||||
The first step in using this library is to build it as the pre-compiled binary is not available at this moment. This document shows how to build the core library on various operating systems.
|
The first step in using this library is to build it as the pre-compiled binary is not available at this moment. This document shows how to build the core library on various operating systems.
|
||||||
|
|
||||||
=== Unix/Linux ===
|
== Unix/Linux ==
|
||||||
|
|
||||||
You may run the [[configure]] script on most of the Unix-like operation systems to set up the build environment and then run the [[make]] utility at the top-level directory.
|
You may run the [[configure]] script on most of the Unix-like operation systems to set up the build environment and then run the [[make]] utility at the top-level directory.
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ CC=gcc CFLAGS="-Wall -O2 -m64" LDFLAGS="-m64" ./configure # 64-bit
|
|||||||
CC=gcc CFLAGS="-Wall -O2" ./configure # 32-bit
|
CC=gcc CFLAGS="-Wall -O2" ./configure # 32-bit
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
=== OpenVMS ===
|
== OpenVMS ==
|
||||||
|
|
||||||
You may use the [[mms]] command or the [[mmk]] command to build the library. No counterpart for the [[configure]] script is provided. As not top-level build script is provided, you have to run the command in each directory that you want to build the library in.
|
You may use the [[mms]] command or the [[mmk]] command to build the library. No counterpart for the [[configure]] script is provided. As not top-level build script is provided, you have to run the command in each directory that you want to build the library in.
|
||||||
|
|
||||||
@ -56,13 +56,13 @@ aseawk :== $DISK$GEIN_SYS:[USERS.BACON.ASE.TEST.AWK]aseawk.exe
|
|||||||
aseawk -f hello.awk
|
aseawk -f hello.awk
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
=== MS-Windows ===
|
== MS-Windows ==
|
||||||
|
|
||||||
You may use the Visual Studio 6 or later to use the provided project file. Otherwise open the command-line build environment and use the [[make]] utility.
|
You may use the Visual Studio 6 or later to use the provided project file. Otherwise open the command-line build environment and use the [[make]] utility.
|
||||||
|
|
||||||
A set of make scripts is provided to support the Microsoft build environement and the Borland build environment. The script for the Miscrosoft build environment is named [[makefile.msw.cl]] while it is [[makefile.msw.bcc]] for the Borland counterpart.
|
A set of make scripts is provided to support the Microsoft build environement and the Borland build environment. The script for the Miscrosoft build environment is named [[makefile.msw.cl]] while it is [[makefile.msw.bcc]] for the Borland counterpart.
|
||||||
|
|
||||||
If you are building the AWK library and the test program, this might be what you have to do.
|
If you are building the AWK library and the test program, this is probably what you have to do.
|
||||||
|
|
||||||
{{{
|
{{{
|
||||||
cd ase\cmn
|
cd ase\cmn
|
||||||
@ -74,3 +74,9 @@ nmake /f makefile.msw.cl
|
|||||||
cd ..\test\awk
|
cd ..\test\awk
|
||||||
nmake /f makefile.msw.cl
|
nmake /f makefile.msw.cl
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
|
However, The COM module can only be built within the Visual Studio environment. After having built the COM module, you may open [[ase/test/com/ase.vbp]] for testing.
|
||||||
|
|
||||||
|
== JNI Interface ==
|
||||||
|
|
||||||
|
Some make scripts contain the target to build the JNI interface for Java. The Java class files can be built with the standard [[javac]] command.
|
||||||
|
Loading…
Reference in New Issue
Block a user