2014-12-27

Get the exact version ot Tcl

記錄一下,如何得到 Tcl 目前的版本號。(可以參考 Get the version of TCL from the command-line?)


使用下列的 command
info patchlevel

2014-12-07

Tclgumbo v0.1

Gumbo

Gumbo is an implementation of the [HTML5 parsing algorithm] implemented as a pure C99 library with no outside dependencies. It's designed to serve as a building block for other tools and libraries such as linters, validators, templating languages, and refactoring and analysis tools.
Goals and features:
* Fully conformant with the [HTML5 spec].
* Robust and resilient to bad input.
* Simple API that can be easily wrapped by other languages.
* Support for source locations and pointers back to the original text.
* Relatively lightweight, with no outside dependencies.
* Passes all [html5lib-0.95 tests].
* Tested on over 2.5 billion pages from Google's index.

Download Gumbo from:
https://github.com/google/gumbo-parser
 

Tclgumbo commands and variables

Tclgumbo is Gumbo Tcl bindings.

Implement commands:
gumbo::parse
gumbo::destroy_output
gumbo::output_get_root
gumbo::node_get_type
gumbo::element_get_tag_name
gumbo::element_get_children
gumbo::text_get_text
gumbo::element_get_attributes
gumbo::element_get_tag_open
gumbo::element_get_tag_close

Add variables:
gumbo::GUMBO_NODE_DOCUMENT
gumbo::GUMBO_NODE_ELEMENT
gumbo::GUMBO_NODE_TEXT
gumbo::GUMBO_NODE_CDATA
gumbo::GUMBO_NODE_COMMENT
gumbo::GUMBO_NODE_WHITESPACE

Installation

Installation (Linux/GCC):
cd tclgumbo
./configure
make
make install

Installation (Winodws/MSYS/MinGW):
cd tclgumbo
./configure
make
make install

Installation (Winodws/Visual Studio):
VS does not support C std99. I don't know how to use VS to build this package.


網站:
Tclgumbo

這是我自我練習的程式。我使用 tests 下的 tclgumbo.test 進行基本功能的測試。因為只有很簡單的測試,所以我不確定有沒有沒改好的部份,不過按照 GumboPHP 的說明文件,我已經把我會實作的部份都做完了。

Tcltaglib v0.2

Tcl interface for taglib (Abstract API only).

實作 taglib C binding 的 Tcl command 對映。 測試的 script 是 examples 下的 reader.tcl。


網頁位址:
https://sites.google.com/site/ray2501/tcltaglib 


更新:
整體的 source code 和 v0.1 相同,我只是清除了一些看起來錯誤的註解跟 label 錯誤的地方,然後我的 openSUSE 環境因為已經升到了 13.2,所以 RPM  是用 13.2 的環境製作的。

2014-12-02

Tcl-lzf: Tcl interface for LibLZF

LZF is an extremely fast (not that much slower than a pure memcpy) compression algorithm. It is ideal for applications where you want to save *some* space but not at the cost of speed. It is ideal for repetitive data as well. The module is self-contained and very small.

It's written in ISO-C with no external dependencies other than what C provides and can easily be #include'd into your code, no makefile changes or library builds requires.

LibLZF this library was written by Marc Lehmann (See also http://software.schmorp.de/pkg/liblzf).


This package (Tcl-lzf) provides a simple Tcl interface to the LibLZF Library.
Implement commands:
lzf::compress - accepts a string to compress.
lzf::decompress - accepts a string and a size in which the uncompressed result must fit.


網址:
Tcl-lzf