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 "build.sh -u" was to be used - "build.sh -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