| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It's weird if we have one name for our project and another name for the
.so file. Now the name is unified.
|
| |
|
|
|
|
| |
We need to put all public headers into the include directory.
|
|
|
|
|
|
|
| |
Now the local built-in is not handled only in parser grammar so that
expansions can happen for the arguments. '=' is not checked in the local
and export built-in anymore because we do not generate empty AST for
"export foo".
|
| |
|
|
|
|
|
| |
The solution is not ideal but we can not generate metadata without it.
We can improve it in future when we have better approach.
|
|
|
|
|
| |
Now export built-in will call back to parser grammar in order to support
array definition.
|
| |
|
|
|
|
| |
Now the test for compound statement is added back.
|
|
|
|
| |
Now more tests are uncommented or added.
|
| |
|
|
|
|
| |
Now our parser is simplified and this option is not necessary any more.
|
|
|
|
|
|
|
| |
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).
|
| |
| |
| |
| |
| | |
The CI server cannot do k=1 for some decisions in less than 1 second.
Now the limit is relaxed.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
Makefile.am
bashast/features_script/features.sh.ast
bashast/gunit/simp_command.gunit
scripts/command_execution.bash
test/verify_error_output_test.sh
|
| | | |
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | | |
It's helpful if ast_printer can print tokens received by walker grammar.
Now this is supported with the -w option.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/builtins/builtin_exceptions.h
|
| |/ / |
|
| | | |
|
|/ /
| |
| |
| |
| | |
We don't want to use only one exception everywhere. Now more exceptions
are added to improve the exception hierarchy.
|
| |
| |
| |
| |
| | |
Note that we use boost::format to implement printf so it's not
completely the same as bash printf.
|
| |
| |
| |
| |
| |
| | |
libbashWalker.g must be rebuild only when the set of tokens changes. Now
we use a md5 trick to check if the tokens file has really changed
instead of relying on modification times.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When there handle multiple input files (for example, source built-in is
called while interpreting), there will be multiple token streams. Then
the function index might not be correct as we don't know which stream
the function belongs to. Now both the AST and the function index are
stored to execute the function at the right index in the right stream.
Using single libbashWalker and changing the pointer of the ctns is not
working. The reason might be the internal data structures of
libbashWalker are broken after the function call. So a new libbashWalker
is created every time a function call is made. The current AST is saved
in std::stack because new functions may be defined during a function call.
|
| |
| |
| |
| |
| |
| | |
-Wconversion -Wsign-conversion is turned on only for our library as
Paludis cannot get compiled with them. Code is fixed to respect these
flags.
|
| | |
|
| |
| |
| |
| |
| | |
We should use space to separate each value of the global variables. Now
this is fixed.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We do not support unsetting array indexes currently. In addition,
read-only functions can be unset for now. Note that if no options are
supplied, or the -v option is given, each name refers to a shell
variable(This behavior is supported by bash 3.2, bash-4.1 tries to
unset function if the name doesn't match a variable).
|
| |
| |
| |
| |
| |
| |
| | |
We didn't not handle local variables and the interface was not
helpful. Now the implementation is adjusted to support unset
built-in. As we don't support read only functions, unsetting
functions will always return true.
|
| |
| |
| |
| |
| | |
No logic is implemented for the built-in. Now it's just used for
the detection of shell option usage.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
scripts/command_execution.bash
scripts/command_execution.bash.result
scripts/function_def.bash
scripts/function_def.bash.result
|
| |/
| |
| |
| |
| | |
There's no actual logic for the built-in right now. Multiple
options to the built-in is not supported for now.
|
| |
| |
| |
| |
| | |
Now the script name, line number and char position will be printed
out when error occurs. This improvement doesn't cover all cases.
|