Parser for the HyperTalk-like Hammer programming language, targeting the Leonie bytecode interpreter.
C++ Objective-C C PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Forge.xcodeproj
ForgeFramework/ForgeFramework
Leonie @ 039a064
tinymarkdown @ 713cf61
.gitignore
.gitmodules
CAddCommandNode.cpp
CAddCommandNode.h
CAssignChunkArrayNode.cpp
CAssignChunkArrayNode.h
CAssignCommandNode.cpp
CAssignCommandNode.h
CChunkPropertyNodeTransformation.cpp
CChunkPropertyNodeTransformation.h
CCodeBlock.cpp
CCodeBlock.h
CCodeBlockNode.cpp
CCodeBlockNode.h
CCommandNode.cpp
CCommandNode.h
CConcatOperatorNodeTransformation.cpp
CConcatOperatorNodeTransformation.h
CConcatSpaceOperatorNodeTransformation.cpp
CConcatSpaceOperatorNodeTransformation.h
CDivideCommandNode.cpp
CDivideCommandNode.h
CDownloadCommandNode.cpp
CDownloadCommandNode.h
CForgeExceptions.cpp
CForgeExceptions.h
CFunctionCallNode.cpp
CFunctionCallNode.h
CFunctionDefinitionNode.cpp
CFunctionDefinitionNode.h
CGetArrayItemCountNode.cpp
CGetArrayItemCountNode.h
CGetArrayItemNode.cpp
CGetArrayItemNode.h
CGetChunkPropertyNode.cpp
CGetChunkPropertyNode.h
CGetParamCommandNode.cpp
CGetParamCommandNode.h
CGlobalPropertyNode.cpp
CGlobalPropertyNode.h
CIfNode.cpp
CIfNode.h
CLineMarkerNode.cpp
CLineMarkerNode.h
CMakeChunkConstNode.cpp
CMakeChunkConstNode.h
CMakeChunkRefNode.cpp
CMakeChunkRefNode.h
CMultiplyCommandNode.cpp
CMultiplyCommandNode.h
CNode.cpp
CNode.h
CNodeTransformation.cpp
CNodeTransformation.h
CObjectPropertyNode.cpp
CObjectPropertyNode.h
COperatorNode.cpp
COperatorNode.h
COperatorNodeTransformation.cpp
COperatorNodeTransformation.h
CParseErrorCommandNode.cpp
CParseErrorCommandNode.h
CParseTree.cpp
CParseTree.h
CParser.cpp
CParser.h
CPushValueCommandNode.cpp
CPushValueCommandNode.h
CPutCommandNode.cpp
CPutCommandNode.h
CReturnCommandNode.cpp
CReturnCommandNode.h
CSetChunkPropertyNode.cpp
CSetChunkPropertyNode.h
CSubtractCommandNode.cpp
CSubtractCommandNode.h
CToken.cpp
CToken.h
CValueNode.cpp
CValueNode.h
CVariableEntry.cpp
CVariableEntry.h
CWhileLoopNode.cpp
CWhileLoopNode.h
ForgeTypes.h
LEOMsgCommandsGeneric.c
LEOMsgCommandsGeneric.h
LEOPropertyInstructionsGeneric.c
README.md
USAGE.txt
UnitTest.hc
fake_filesystem.cpp
fake_filesystem.hpp
headerimport.php
main.cpp
testfile.hc
testfile10.hc
testfile11.hc
testfile12.hc
testfile13.hc
testfile14.hc
testfile15.hc
testfile16.hc
testfile16_footer.hc
testfile16_header.hc
testfile17.hc
testfile18.hc
testfile19.hc
testfile2.hc
testfile20.hc
testfile3.hc
testfile4.hc
testfile5.hc
testfile6.hc
testfile7.hc
testfile8.hc
testfile9.hc

README.md

What is it

Forge is a parser for a HyperTalk-like programming language named Hammer. It is written in C++ and generates output for the Leonie bytecode interpreter and runtime.

How to build

There's an Xcode project that produces a command-line executable that runs any Hammer script file (.hc) you give it.

License

Copyright 2003-2014 by Uli Kusterer.

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

   1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would be
   appreciated but is not required.

   2. Altered source versions must be plainly marked as such, and must not be
   misrepresented as being the original software.

   3. This notice may not be removed or altered from any source
   distribution.