Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/bin/sh

Module Name:    src
Committed By:   kre
Date:           Mon Mar 20 11:26:07 UTC 2017

Modified Files:
        src/bin/sh: Makefile expand.c expand.h sh.1
Added Files:
        src/bin/sh: arith_token.c arith_tokens.h arithmetic.c arithmetic.h
Removed Files:
        src/bin/sh: arith.y arith_lex.l

Log Message:
Finish support for all required $(( )) (shell arithmetic) operators,
closing PR bin/50958

That meant adding the assignment operators ('=', and all of the +=, *= ...)
Currently, ++, --, and ',' are not implemented (none of those are required
by posix) but support for them (most likely ',' first) might be added later.

To do this, I removed the yacc/lex arithmetic parser completely, and
replaced it with a hand written recursive descent parser, that I obtained
from FreeBSD, who earlier had obtained it from dash (Herbert Xu).

While doing the import, I cleaned up the sources (changed some file names
to avoid requiring a clean build, or signifigant surgery to the obj
directories if " -u" was to be used - " -u" should work
fine as it is now) removed some dashisms, applied some KNF, ...

To generate a diff of this commit:
cvs rdiff -u -r1.103 -r1.104 src/bin/sh/Makefile
cvs rdiff -u -r1.25 -r0 src/bin/sh/arith.y
cvs rdiff -u -r1.18 -r0 src/bin/sh/arith_lex.l
cvs rdiff -u -r0 -r1.1 src/bin/sh/arith_token.c src/bin/sh/arith_tokens.h \
    src/bin/sh/arithmetic.c src/bin/sh/arithmetic.h
cvs rdiff -u -r1.102 -r1.103 src/bin/sh/expand.c
cvs rdiff -u -r1.19 -r1.20 src/bin/sh/expand.h
cvs rdiff -u -r1.125 -r1.126 src/bin/sh/sh.1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index