Click here to Skip to main content
15,891,136 members
Articles / Programming Languages / Java

Create Your Own Programming Language

Rate me:
Please Sign up or sign in to vote.
4.87/5 (53 votes)
21 Jan 2010CPOL12 min read 487.2K   15.4K   87  
I've created my own programming language called Alef++ for fun, and for better understanding: What is a programing language? How does it work? Can I can create my own?
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>St4tic: Alphabetical List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_J">J</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a></div>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="interfacest4tic_1_1interpreter_1_1_interpret.html">Interpret</a> (<a class="el" href="namespacest4tic_1_1interpreter.html">st4tic.interpreter</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="interfacest4tic_1_1syntaxtree_1_1_node_list_interface.html">NodeListInterface</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1_token.html">Token</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_additive_expression.html">AdditiveExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1interpreter_1_1_interpreter.html">Interpreter</a> (<a class="el" href="namespacest4tic_1_1interpreter.html">st4tic.interpreter</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_node_list_optional.html">NodeListOptional</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1_simple_char_stream.html">SimpleCharStream</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1_token_mgr_error.html">TokenMgrError</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_J"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;J&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_node_optional.html">NodeOptional</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1_st4tic.html">St4tic</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a class="el" href="classst4tic_1_1visitor_1_1_depth_first_visitor.html">DepthFirstVisitor</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_java_static_methods.html">JavaStaticMethods</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_node_sequence.html">NodeSequence</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="interfacest4tic_1_1_st4tic_constants.html">St4ticConstants</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_unary_expression.html">UnaryExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1_j_t_b_toolkit.html">JTBToolkit</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_node_token.html">NodeToken</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1core_1_1_st4tic_object.html">St4ticObject</a> (<a class="el" href="namespacest4tic_1_1core.html">st4tic.core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_unary_relational.html">UnaryRelational</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classst4tic_1_1visitor_1_1_g_j_depth_first_3_01_r_00_01_a_01_4.html">GJDepthFirst&lt; R, A &gt;</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1reflect_1_1_st4tic_reflection.html">St4ticReflection</a> (<a class="el" href="namespacest4tic_1_1reflect.html">st4tic.reflect</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a class="el" href="classst4tic_1_1visitor_1_1_g_j_no_argu_depth_first_3_01_r_01_4.html">GJNoArguDepthFirst&lt; R &gt;</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmain_1_1_main.html">Main</a> (<a class="el" href="namespacemain.html">main</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1_parse_exception.html">ParseException</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1core_1_1_st4tic_scope.html">St4ticScope</a> (<a class="el" href="namespacest4tic_1_1core.html">st4tic.core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_variable_assign.html">VariableAssign</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="interfacest4tic_1_1visitor_1_1_g_j_no_argu_visitor_3_01_r_01_4.html">GJNoArguVisitor&lt; R &gt;</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_math_expression.html">MathExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1_st4tic_token_manager.html">St4ticTokenManager</a> (<a class="el" href="namespacest4tic.html">st4tic</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_variable_declaration.html">VariableDeclaration</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="interfacest4tic_1_1visitor_1_1_g_j_visitor_3_01_r_00_01_a_01_4.html">GJVisitor&lt; R, A &gt;</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_multiplicative_expression.html">MultiplicativeExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_relational_equality_expression.html">RelationalEqualityExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1core_1_1_st4tic_value.html">St4ticValue</a> (<a class="el" href="namespacest4tic_1_1core.html">st4tic.core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_variable_name.html">VariableName</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classst4tic_1_1visitor_1_1_g_j_void_depth_first_3_01_a_01_4.html">GJVoidDepthFirst&lt; A &gt;</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_relational_exprssion.html">RelationalExprssion</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1core_1_1_st4tic_variable.html">St4ticVariable</a> (<a class="el" href="namespacest4tic_1_1core.html">st4tic.core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="interfacest4tic_1_1visitor_1_1_visitor.html">Visitor</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="interfacest4tic_1_1visitor_1_1_g_j_void_visitor_3_01_a_01_4.html">GJVoidVisitor&lt; A &gt;</a> (<a class="el" href="namespacest4tic_1_1visitor.html">st4tic.visitor</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="interfacest4tic_1_1syntaxtree_1_1_node.html">Node</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_relational_greater_expression.html">RelationalGreaterExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_start.html">Start</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_node_choice.html">NodeChoice</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_relational_less_expression.html">RelationalLessExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_statement_expression.html">StatementExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_while_expression.html">WhileExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_if_expression.html">IfExpression</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_node_list.html">NodeList</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classst4tic_1_1syntaxtree_1_1_require.html">Require</a> (<a class="el" href="namespacest4tic_1_1syntaxtree.html">st4tic.syntaxtree</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
</td></tr></table><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_J">J</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a></div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Dec 27 10:50:21 2009 for St4tic by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead
Morocco Morocco
Adrabi!, Just another Ghost in the Shell =)

Comments and Discussions