[Nolang]- Starting API changes/break (new string & other stuff) - Extension system support for library - Test app for extensions under lib/ - Test extension under extensions/ - Extension code generation working in compiler
- Include - Better compile and project handling - Many improvements (Node, NString, etc.)
- Project class - More flexible build options - Changed unicode handling from wchar to libunistring (API/ABI break) - Cleanups - Packaging
- Refrence parameters - Optionally print parse tree (compile time option: --tree) - Parent initialization drafting.
- Array functions (push/pop/shift/unshift/clear) - Trace (compile time option: --trace)
- Method calls inside class object - Assigning string or number to a array
- First public release - Basic scanner + lexer + parser + code generation - Support very minimal set of features - Features not fully implemented, missing functionality - Needs a lot of refactoring, tidying code, etc. - Most examples working properly, except test/test.nolang which has some future feature tests
git clone http://nolang.com/git/nolang.git
deb http://nolang.com/repos/ubuntu_10.10/ /
deb http://nolang.com/repos/ubuntu_11.04/ /
sudo apt-get update sudo apt-get install nolangc nolang-extensions
yum-config-manager --add-repo=http://nolang.com/repositories/fedora_14/nolang.repo
yum-config-manager --add-repo=http://nolang.com/repositories/fedora_15/nolang.repo
yum install nolang nolang-extensions
zypper addrepo http://nolang.com/repos/opensuse_11.3/ "Nolang"
zypper addrepo http://nolang.com/repos/opensuse_11.4/ "Nolang"
zypper ref zypper install nolang nolang-extensions
main()
{
print "Hello, World!\n";
}
Hello, World!
Extended Hello, World 42! First value: 4 Whole array: 4 5 6
Extended Hello, World 42! Second value: 5 Whole array: 4 5 6 42 Second value: 45 Whole array: 123 45
Extended Hello, World 42! Test::dump() Second value: 5 Whole array: 4 5 6 42 Array size: 4 Test::dump() Second value: 45 Whole array: 123 45 Array size: 2 Int size: 4 get(1): 45 Test::dump() Second value: 270 Whole array: 246 270 get(1): 270 2==2 Array data values are: 1 3 Array sdata values are: Test Before noref: 4 6 8 9 4 After noref: 4 6 8 9 4 After ref: 4 6 8 9 4 5 Got 5 Got 42 Other::dump() Second value: 5 Whole array: 4 5 6 Otherval: 5 Other::dump() Second value: 5 Whole array: 4 5 6 12 Otherval: 5
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.