| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
We need to put all public headers into the include directory.
|
| |
|
|
|
|
| |
Now more tests are uncommented or added.
|
|
|
|
|
|
|
| |
Now several tests are not working: var_expansion.bash,
isolated_functions.bash, compound_command.bash, test_expr.bash,
test/ast_printer_test.sh, and test/verify_bashs_test.sh. We will fix
them in later commits.
|
|
|
|
|
| |
We keep the old style for some tests that behave differently depending
on different bash versions.
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/builtins/source_builtin.cpp
src/core/bash_ast.cpp
src/core/bash_ast.h
utils/instruo.cpp
|
| | |
|
| |
| |
| |
| |
| | |
Now the ast_printer -t will print out the tokens if the file can be
lexed properly (previously it required the file to be parsed properly).
|
| |
| |
| |
| |
| |
| |
| | |
POSIX requires signed long integer for arithmetic expansion. $? is
implemented in the interpreter class now because POSIX doesn't require
the type of $? to be long. It would cause conversion in many places if
we used long for $?.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
It's helpful if ast_printer can print tokens received by walker grammar.
Now this is supported with the -w option.
|
|/ /
| |
| |
| |
| | |
We don't want to use only one exception everywhere. Now more exceptions
are added to improve the exception hierarchy.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
bashast/libbashWalker.g
src/core/interpreter.cpp
src/core/tests/interpreter_test.cpp
|
| | |
| | |
| | |
| | |
| | | |
This commit is intended to support $- so no method for changing bash
options is added.
|
|/ /
| |
| |
| |
| | |
The interpreter_exception is part of our public API so we put it under
libbash namespace.
|
| |
| |
| |
| | |
diff may return value that is greater than 1. Now this is fixed.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
For a non-interactive shell, an error condition encountered by a special
built-in or other type of utility shall cause the shell to write a
diagnostic message to standard error and exit.
|
| |
| |
| |
| |
| |
| | |
We want every header file to be compilable on its own. The easiest way
to achieve this is to make sure that every one of them is the first .h
file #included in some .cpp.
|
| |
| |
| |
| |
| | |
The author information can be found from git so just refer people
from that.
|
| | |
|
| |
| |
| |
| | |
diff errors are redirected to $outputdir/error_output.
|
| |
| |
| |
| | |
Portage requires INHERITED values to be sorted. Now this is fixed.
|
| | |
|
| |
| |
| |
| | |
"has", "hasq" and "die" are supported for instruo.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
As we already have an implementation of instruo so meta_gen.sh is
not needed any more. The target is not useful as we can simply run
instruo rather than make metadata_generation.
|
|/
|
|
|
|
| |
Our implementation is not complete so some exceptions occur. We'll
ignore them for now and will look into them in future. The return
exception is modified to provide more information.
|
|
|
|
|
| |
The public API, ast_printer and bash_ast are refactored to return
non zero exit status on failure.
|
|
|
|
|
|
| |
With the help of instruo from Paludis, we can setup variables to
bash env needed for metadata generation. In the meanwhile, we can
compare the original instruo utility with our implementation.
|
|
|
|
|
| |
metadata_generator is improved to make use of the information added
by inherit builtin.
|
|
|
|
|
|
| |
We don't share interpreter object and it's safer to use reference
rather than shared_ptr. Raw pointer is used in the generated C
source code.
|
|\ |
|
| |
| |
| |
| |
| | |
Syntax like "for x in blah" is supported now. Empty value used as
$@ is not supported for now. Add support for $? variable.
|
| | |
|
| |
| |
| |
| |
| | |
The metadata_generator now generates the same format as what
Portage does.
|
|/
|
|
|
|
| |
We need to retrieve names of defined functions in order to generate
DEFINED_PHASES. The public API is modified a bit to support it. A
custom test is added for metadata generation.
|
|
|
|
| |
Use static linking to avoid confusion with libtool while benchmark.
|
|
|