You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As you have probably noticed, jsh development has been lagging for a while. In the meantime however, my C skills and understanding of programming languages have vastly improved. jsh started as a proof-of-concept fun program and therefore lacks a solid formal programming language foundation. As a result, I've been considering a jsh redesign from scratch for a while now. A minimal elegant shell instead of hacking in new feature requests.
Design goals
jsh should be structured into pluggable C modules to allow for maximal
cohesion, flexibility and code reuse
jsh's shell grammar should be rethought, unambiguously formalized and made compliant to the POSIX standard
jsh should have a clearly separated lexer, parser and interpreter. In short, the lexer converts the user's string input into a list of recognized tokens (and maybe also performs alias substitution as needed). Next, the parser converts the token list into an abstract syntax tree that can later be traversed by the interpreter, according to the grammar.
Proposed approach
jsh's grammar should start simple and subsequently be extended as desired. The lexer and parser should be generated from the formal grammar using the free software tools Flex and Bison.
Doing the above will take time, especially since I have no experience with lexers/parsers/interpreters --all help is appreciated ;-) I believe however that it will greatly improve the quality of the code base. And --which is more-- it will be fun...
When I have time --probably not very soonish-- I'll start working on this in a brand new jsh-dev branch. The first stable version will be released as jsh 2.0 and from then on the current master branch will be discontinued and moved to a jsh-legacy branch.
The text was updated successfully, but these errors were encountered:
As you have probably noticed, jsh development has been lagging for a while. In the meantime however, my C skills and understanding of programming languages have vastly improved. jsh started as a proof-of-concept fun program and therefore lacks a solid formal programming language foundation. As a result, I've been considering a jsh redesign from scratch for a while now. A minimal elegant shell instead of hacking in new feature requests.
Design goals
cohesion, flexibility and code reuse
Proposed approach
jsh's grammar should start simple and subsequently be extended as desired. The lexer and parser should be generated from the formal grammar using the free software tools Flex and Bison.
Doing the above will take time, especially since I have no experience with lexers/parsers/interpreters --all help is appreciated ;-) I believe however that it will greatly improve the quality of the code base. And --which is more-- it will be fun...
When I have time --probably not very soonish-- I'll start working on this in a brand new
jsh-dev
branch. The first stable version will be released as jsh 2.0 and from then on the current master branch will be discontinued and moved to ajsh-legacy
branch.The text was updated successfully, but these errors were encountered: