aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Builtin: Support more options for declareAndré Aparício2012-07-202-5/+31
|
* Builtin: Support variable declarations in declareAndré Aparício2012-07-202-73/+106
|
* Builtin: Implement unset array supportAndré Aparício2012-07-082-1/+60
|
* Builtin: Implement set -u optionAndré Aparício2012-07-032-0/+21
|
* Builtin: Implement set builtinAndré Aparício2012-07-033-0/+168
|
* Builtin: implement read builtinAndré Aparício2012-07-033-0/+224
|
* Builtin: improve error output for some builtinsMu Qiao2012-05-265-15/+15
|
* Builtin: handle __export_funcs_var in inheritMu Qiao2012-05-261-3/+16
|
* Builtin: fix argument handling of printf builtinMu Qiao2012-03-261-5/+15
|
* Doc: improve \class documentationMu Qiao2011-08-0411-1/+53
|
* Build: install public headersMu Qiao2011-08-0310-10/+10
| | | | We need to put all public headers into the include directory.
* Builtin: reimplement the local built-inMu Qiao2011-08-023-7/+93
| | | | | | | 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".
* Parser&Walker: reimplement export built-inMu Qiao2011-08-022-0/+92
| | | | | Now export built-in will call back to parser grammar in order to support array definition.
* Build: use bash to verify test scriptsMu Qiao2011-07-181-1/+1
| | | | | We keep the old style for some tests that behave differently depending on different bash versions.
* Merge branch 'multithreading'Mu Qiao2011-07-051-21/+30
|\
| * Merge remote branch 'betelgeuse/multithread' into multithreadingMu Qiao2011-07-051-21/+30
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/builtins/source_builtin.cpp src/core/bash_ast.cpp src/core/bash_ast.h utils/instruo.cpp
| | * multithreadPetteri Räty2011-05-181-16/+27
| | |
* | | Walker: support ANSI-C QuotingMu Qiao2011-07-033-2/+11
| | |
* | | Builtin: support shift built-inMu Qiao2011-07-033-0/+148
| | |
* | | Core: fix headers that don't follow the coding styleMu Qiao2011-07-032-4/+4
| | |
* | | Doc: improve documentationMu Qiao2011-07-032-1/+10
|/ / | | | | | | | | | | Now make doxygen-doc doesn't show so many warnings. The documentation for following things is not fixed: unit tests, private members, some built-in constructors.
* | Walker: make arithmetic expansion follow POSIXMu Qiao2011-06-261-3/+3
| | | | | | | | | | | | | | 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 $?.
* | Merge remote-tracking branch 'mu/break_builtin'Petteri Räty2011-06-254-7/+194
|\ \ | | | | | | | | | | | | Conflicts: src/builtins/builtin_exceptions.h
| * | Builtin: implement break built-inMu Qiao2011-06-233-0/+155
| | |
| * | Core: abstract the role of continue exceptionMu Qiao2011-06-231-7/+39
| | |
* | | Builtin: make declare built-in throw exceptionsMu Qiao2011-06-222-34/+47
| | |
* | | Core: improve current exception usageMu Qiao2011-06-2213-39/+42
| | |
* | | Core: add more exceptionsMu Qiao2011-06-224-4/+4
|/ / | | | | | | | | We don't want to use only one exception everywhere. Now more exceptions are added to improve the exception hierarchy.
* | Merge remote-tracking branch 'mu/bash_options' into reviewPetteri Räty2011-06-162-7/+7
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: bashast/libbashWalker.g src/core/interpreter.cpp src/core/tests/interpreter_test.cpp
| * | Core: rename bash option to additional optionMu Qiao2011-06-132-7/+7
| | | | | | | | | | | | | | | The shopt built-in only changes additional shell optional behavior. So we change the name to avoid conflicts with the set built-in.
* | | Builtin: cache parsing failures in source built-inMu Qiao2011-06-161-4/+14
| | |
* | | Core: add namespace for interpreter_exceptionMu Qiao2011-06-1412-21/+21
|/ / | | | | | | | | The interpreter_exception is part of our public API so we put it under libbash namespace.
* | Builtin: support printf built-inMu Qiao2011-06-116-40/+171
| | | | | | | | | | Note that we use boost::format to implement printf so it's not completely the same as bash printf.
* | Walker: remove abstraction for arithmeticMu Qiao2011-06-101-2/+2
| |
* | Core: fix function handlingMu Qiao2011-06-091-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Builtin: support shopt -pMu Qiao2011-06-092-0/+10
| | | | | | | | | | The container for bash_options is changed to be std::map as shopt -p prints out sorted values.
* | Builtin: support declare -p varsMu Qiao2011-06-092-2/+36
| | | | | | | | We do not support declare -p without arguments for now.
* | Core: make error handling POSIX compliantMu Qiao2011-06-035-54/+39
| | | | | | | | | | | | 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.
* | Core: fix header orderingMu Qiao2011-06-035-9/+10
| | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'mu/keyword_test' into reviewPetteri Räty2011-06-031-6/+3
|\ \ | | | | | | | | | | | | | | | Conflicts: src/builtins/let_builtin.cpp src/core/interpreter.cpp
| * | Builtin: make let call interpreter::eval_arithmeticMu Qiao2011-06-011-3/+2
| | | | | | | | | | | | | | | As we won't handle parser failure so it's safe to return 0 for this built-in.
* | | Build: turn on -Wconversion -Wsign-conversionMu Qiao2011-06-031-1/+2
| | | | | | | | | | | | | | | | | | -Wconversion -Wsign-conversion is turned on only for our library as Paludis cannot get compiled with them. Code is fixed to respect these flags.
* | | Coding standard: git log for author informationMu Qiao2011-06-0218-18/+0
| | | | | | | | | | | | | | | The author information can be found from git so just refer people from that.
* | | Builtin: support eval built-inMu Qiao2011-06-022-0/+86
| | |
* | | Builtin: fix a bug in inherit built-inMu Qiao2011-06-011-1/+1
|/ / | | | | | | | | We should use space to separate each value of the global variables. Now this is fixed.
* | Builtin: support continue built-inMu Qiao2011-05-294-0/+177
| |
* | Merge remote-tracking branch 'mu/test_coverage' into reviewPetteri Räty2011-05-285-2/+49
|\ \
| * | Builtin: source returns 1 if the script is illegalMu Qiao2011-05-262-0/+22
| | | | | | | | | | | | | | | | | | If the given script can not be parsed properly, source will return 1 rather than printing error message only. A test is added for testing empty argument.
| * | Test: improve test coverage for shopt built-inMu Qiao2011-05-261-0/+16
| | |
| * | Test: correct the test case names for shoptMu Qiao2011-05-261-2/+2
| | |