Skip to content

Commit

Permalink
comments+updates for v0.24
Browse files Browse the repository at this point in the history
- Updated copyright notices and docs
- Install `pdoc`, `pinclude` and `pproto` command-line tools to /bin
- Removed `premcomment` tool
  • Loading branch information
phorward committed Jan 1, 2019
1 parent 8d6a543 commit 516f671
Show file tree
Hide file tree
Showing 66 changed files with 721 additions and 730 deletions.
4 changes: 2 additions & 2 deletions AllSystemsGo
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/bin/sh

cat <<ENDL
:: Phorward Foundation Toolkit v`./Version`
:: Copyright (C) 2006-2018 by Phorward Software Technologies, Jan Max Meyer
:: Phorward C/C++ Library v`./Version`
:: Copyright (C) 2006-2019 by Phorward Software Technologies, Jan Max Meyer
:: All rights reserved. See LICENSE for more informations.
:: `uname -n -o -p -r`
______________________
Expand Down
47 changes: 11 additions & 36 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,27 @@ This file is used to document any relevant changes done to libphorward.

## v0.24

Not released yet.

- Improvide hash table for `plist` based on non mersenne prime numbers
Released on: Jan 1, 2019

- Improved hash table feature of `plist` to use non-mersenne prime numbers for collision avoidance
- Updated layout and cross-linking of the HTML-documentation
- Removed former `parse` module and integrated it into the [UniCC repository](https://github.com/phorward/unicc)
- Removed former `vm` module and integrated it into the [phosphor repository](https://github.com/phorward/phosphor)
- Install `pdoc`, `pinclude` and `pproto` command-line tools to /bin
- Removed `premcomment` tool

## v0.23

Released on: Sept 27, 2018

- parse: Implemented push-parsing
- Push-parsing allows to call the parser on token-base from the scanner,
so that more flexibility on input processing is achieved.
- Parsers are now configured and executed using the parser context
data structure *ppparctx*.
- New functions `pp_parctx_next()`, `pp_parctx_next_by_name()`,
`pp_parctx_next_by_idx()` as well as `pp_parctx_init()`,
`pp_parctx_create()`, `pp_parctx_reset()` and `pp_parctx_free()`.
- Entirely revised functions `pp_par_autolex()` and `pp_par_parse()`
- Fixed BNF parsers to work with new push-parsing-based functions
- regex: Implemented push-scanning
- Lexical analyzers are now configured and executing using the lexer context
data structure *plexctx*
- New functions `plexctx_lex()`, `plexctx_init()`,
`plexctx_create()`, `plexctx_reset()` and `plexctx_free()`.
- regex: Several improvements
- `plex_dump_dot()` allows to dump plex-scanners in dot-formatted
- `plex_dump_dot()` allows to du- Install `pdoc`, `pinclude` and `pproto` command-line tools to /bin
- Removed `premcomment` toolmp plex-scanners in dot-formatted
GraphViz format; This can also be triggered with plex command-line tool,
`--dot` switch.
- *pregex_ptn* function API white-listed for documentation generator
Expand All @@ -45,21 +40,6 @@ Released on: April 17, 2018
- v0.22.2: inline-symbols incorrectly implemented in pbnf
- v0.22.1: Build-system fixes (Windows only)
- v0.22.1: pgetline() function as POSIX compatiblity layer
- Parsing tools
- Revised all modules, separating the grammar definition entirely from the
parsing algorithm, lexer, parser and abstract syntax tree. This allows for
a much higher modularity. The ``pppar`` object now represents the internal
LALR parser that can be executed on arbitrary input, with a combined lexical
analyzer implemented using ``plex``.
- Revised and simplified LR parser driver, now working on state machine, and
not the data-structures from lr.c anymore.
- Created better definition language called PBNF (Phorward BNF, pbnf.c)
- Frontends for BNF, EBNF and a Phorward-style BNF (PBNF) as input grammars
using the functions pp_gram_from_bnf(), pp_gram_from_ebnf() and
pp_gram_from_pbnf().
- Implied precedence & associativity for LALR conflict resolution, which can
be used via ``<<`` (left-associative), ``>>`` (right-associative) and
``^^`` (non-associative) in the pbnf language.
- Regular expressions
- Internal revisions and renamings.
- Cleaning data structures from temporal and ephemeral values.
Expand Down Expand Up @@ -95,7 +75,6 @@ Released on: November 7, 2017

- v0.20.2: Removed warnings that came up on Mingw32, issue #1
- v0.20.1: Purged build system
- Started use of a lexical analyzer in the build-in LR parser (very unstable!).
- Changed behavior of command-line tools to be more pynetree compliant.
- Fixing an ancient bug in the DFA construction mechanism building arbitrary
state orders.
Expand All @@ -106,7 +85,7 @@ Released on: November 7, 2017
Released on: February 3, 2017

- Redesign of the grammar definition language
- Introduced command-line utilies for pparse, pregex, plex and pvm
- Introduced command-line utilities `pregex` and `plex`
- Generated documentation added
- Several bugfixes in the build-system
- Cleared build-system from unrequired files
Expand All @@ -122,10 +101,6 @@ Released on: September 9, 2016
- pany for a dynamic, object-oriented data type
- pregex for an object-oriented regular expression toolchain
- plex for an object-oriented lexing toolchain
- pparse for an object-oriented parsing toolchain with build-in
abstract syntax tree traversal tools (unfinished!)
- pvm for object-oriented definition of virtual instruction sets and
machines (unfinished!)
- Started to create a full reference manual and user guide
- New README.md file with examples
- More test programs and tools in DEMO folder
Expand Down Expand Up @@ -157,4 +132,4 @@ Released on: July 2, 2012

## v0.16

The toolkit's mentionable initial public release was on Sep 16, 2011 as v0.16.3.
First mentionable initial public release was on Sep 16, 2011 as v0.16.3.
2 changes: 1 addition & 1 deletion DEMO/basis.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ void string_demo( void )

/* String rendering from templates */
str1 = pstrrender( "<a href=\"$link\" alt=\"$title\">$title</a>",
"$link", "http://www.phorward-software.com", FALSE,
"$link", "https://phorward.info", FALSE,
"$title", str2, TRUE,
(char*)NULL );

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 2006-2018 by Phorward Software Technologies, Jan Max Meyer.
Copyright (C) 2006-2019 by Phorward Software Technologies, Jan Max Meyer.
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
9 changes: 4 additions & 5 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -MAKEFILE---------------------------------------------------------------------
# Phorward Foundation Toolkit
# Copyright (C) 2006-2018 by Phorward Software Technologies, Jan Max Meyer
# http://www.phorward-software.com ++ contact<at>phorward<dash>software<dot>com
# Phorward C/C++ Library
# Copyright (C) 2006-2019 by Phorward Software Technologies, Jan Max Meyer
# https://phorward.info ++ contact<at>phorward<dash>software<dot>com
# All rights reserved. See LICENSE for more information.
#
# File: Makefile.am
Expand All @@ -10,8 +10,7 @@

AUTOMAKE_OPTIONS = foreign

#SUBDIRS = src tools examples
SUBDIRS = src tools
SUBDIRS = src tools run examples

phorwarddir = $(datadir)/phorward
dist_phorward_DATA = LICENSE README.md CHANGELOG.md doc/phorward.html doc/phorward.css doc/phorward.png doc/prism.css doc/prism.js examples/*.c
Expand Down
10 changes: 4 additions & 6 deletions Makefile.in

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ This locally compiles the library or parts of it, and is ideal for development p

On Windows systems, the usage of [Cygwin](https://cygwin.org/) or another Unix shell environment is required.

The Phorward Toolkit also perfectly cross-compiles on Linux using the MinGW and MinGW_x86-64 compilers.
The Phorward C/C++ Library also perfectly cross-compiles on Linux using the MinGW and MinGW_x86-64 compilers.

```bash
# To compile into 32-Bit Windows executables, configure with
Expand All @@ -70,4 +70,4 @@ Contributions by [Marco Wegner](https://github.com/Heavenfighter) and [AGS](http
You may use, modify and distribute this software under the terms and conditions of the 3-clause BSD license.
The full license terms can be obtained from the file LICENSE.

Copyright (C) 2006-2018 by Phorward Software Technologies, Jan Max Meyer.
Copyright (C) 2006-2019 by Phorward Software Technologies, Jan Max Meyer.
2 changes: 1 addition & 1 deletion Version
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
echo "0.24.0dev"
echo "0.24.0"

# When changing version number, remove src/version.h to regenerate it!
31 changes: 16 additions & 15 deletions configure

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
AC_PREREQ([2.68])
AC_INIT([Phorward Toolkit], [0.23.0])
AC_INIT([Phorward C/C++ Library], [0.24.0])
AC_PREFIX_DEFAULT([/usr])

AC_CONFIG_SRCDIR([src/phorward.tpl.h])
Expand Down Expand Up @@ -60,5 +60,6 @@ AC_TYPE_SIZE_T
AC_CONFIG_FILES([Makefile
src/Makefile
tools/Makefile
run/Makefile
examples/Makefile])
AC_OUTPUT
2 changes: 1 addition & 1 deletion doc/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# doc

This directory hold the Phorward library's documentation.
This directory hold the Phorward C/C++ Library's documentation.

Due to a personal favor, the whole documentation is written using the markup language [txt2tags](https://txt2tags.org/), which allows documentation conversion into formats like HTML, man page and LaTeX.

Expand Down
20 changes: 0 additions & 20 deletions doc/example.c

This file was deleted.

Loading

0 comments on commit 516f671

Please sign in to comment.