Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version
Go to top

Create Your Own Programming Language

, 21 Jan 2010
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?
st4tic-bin.zip
st4tic.jar
script.st4
st4tic-src.zip
.classpath
.project
Doxyfile
script.st4
.settings
.svn
all-wcprops
entries
prop-base
props
text-base
sf.eclipse.javacc.prefs.svn-base
tmp
prop-base
props
text-base
sf.eclipse.javacc.prefs
.svn
all-wcprops
entries
prop-base
props
text-base
.classpath.svn-base
.project.svn-base
Doxyfile.svn-base
script.st4.svn-base
tmp
prop-base
props
text-base
docs
.svn
all-wcprops
entries
prop-base
props
text-base
tmp
prop-base
props
text-base
html
.svn
all-wcprops
entries
prop-base
classst4tic_1_1core_1_1_st4tic_object.gif.svn-base
classst4tic_1_1core_1_1_st4tic_scope.gif.svn-base
classst4tic_1_1core_1_1_st4tic_value.gif.svn-base
classst4tic_1_1core_1_1_st4tic_variable.gif.svn-base
classst4tic_1_1interpreter_1_1_interpreter.gif.svn-base
classst4tic_1_1syntaxtree_1_1_additive_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_if_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_java_static_methods.gif.svn-base
classst4tic_1_1syntaxtree_1_1_math_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_multiplicative_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_choice.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_list.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_list_optional.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_optional.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_sequence.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_token.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_equality_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_exprssion.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_greater_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_less_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_require.gif.svn-base
classst4tic_1_1syntaxtree_1_1_start.gif.svn-base
classst4tic_1_1syntaxtree_1_1_statement_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_unary_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_unary_relational.gif.svn-base
classst4tic_1_1syntaxtree_1_1_variable_assign.gif.svn-base
classst4tic_1_1syntaxtree_1_1_variable_declaration.gif.svn-base
classst4tic_1_1syntaxtree_1_1_variable_name.gif.svn-base
classst4tic_1_1syntaxtree_1_1_while_expression.gif.svn-base
classst4tic_1_1visitor_1_1_depth_first_visitor.gif.svn-base
classst4tic_1_1visitor_1_1_g_j_depth_first_3_01_r_00_01_a_01_4.gif.svn-base
classst4tic_1_1visitor_1_1_g_j_no_argu_depth_first_3_01_r_01_4.gif.svn-base
classst4tic_1_1visitor_1_1_g_j_void_depth_first_3_01_a_01_4.gif.svn-base
classst4tic_1_1_st4tic.gif.svn-base
classst4tic_1_1_st4tic_token_manager.gif.svn-base
doxygen.png.svn-base
interfacest4tic_1_1interpreter_1_1_interpret.gif.svn-base
interfacest4tic_1_1syntaxtree_1_1_node.gif.svn-base
interfacest4tic_1_1syntaxtree_1_1_node_list_interface.gif.svn-base
interfacest4tic_1_1visitor_1_1_g_j_no_argu_visitor_3_01_r_01_4.gif.svn-base
interfacest4tic_1_1visitor_1_1_g_j_visitor_3_01_r_00_01_a_01_4.gif.svn-base
interfacest4tic_1_1visitor_1_1_g_j_void_visitor_3_01_a_01_4.gif.svn-base
interfacest4tic_1_1visitor_1_1_visitor.gif.svn-base
interfacest4tic_1_1_st4tic_constants.gif.svn-base
tab_b.gif.svn-base
tab_l.gif.svn-base
tab_r.gif.svn-base
props
text-base
annotated.html.svn-base
classes.html.svn-base
classmain_1_1_main-members.html.svn-base
classmain_1_1_main.html.svn-base
classst4tic_1_1core_1_1_st4tic_object-members.html.svn-base
classst4tic_1_1core_1_1_st4tic_object.gif.svn-base
classst4tic_1_1core_1_1_st4tic_object.html.svn-base
classst4tic_1_1core_1_1_st4tic_scope-members.html.svn-base
classst4tic_1_1core_1_1_st4tic_scope.gif.svn-base
classst4tic_1_1core_1_1_st4tic_scope.html.svn-base
classst4tic_1_1core_1_1_st4tic_value-members.html.svn-base
classst4tic_1_1core_1_1_st4tic_value.gif.svn-base
classst4tic_1_1core_1_1_st4tic_value.html.svn-base
classst4tic_1_1core_1_1_st4tic_variable-members.html.svn-base
classst4tic_1_1core_1_1_st4tic_variable.gif.svn-base
classst4tic_1_1core_1_1_st4tic_variable.html.svn-base
classst4tic_1_1interpreter_1_1_interpreter-members.html.svn-base
classst4tic_1_1interpreter_1_1_interpreter.gif.svn-base
classst4tic_1_1interpreter_1_1_interpreter.html.svn-base
classst4tic_1_1reflect_1_1_st4tic_reflection-members.html.svn-base
classst4tic_1_1reflect_1_1_st4tic_reflection.html.svn-base
classst4tic_1_1syntaxtree_1_1_additive_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_additive_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_additive_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_if_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_if_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_if_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_java_static_methods-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_java_static_methods.gif.svn-base
classst4tic_1_1syntaxtree_1_1_java_static_methods.html.svn-base
classst4tic_1_1syntaxtree_1_1_math_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_math_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_math_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_multiplicative_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_multiplicative_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_multiplicative_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_choice-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_choice.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_choice.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_list-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_list.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_list.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_list_optional-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_list_optional.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_list_optional.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_optional-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_optional.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_optional.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_sequence-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_sequence.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_sequence.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_token-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_node_token.gif.svn-base
classst4tic_1_1syntaxtree_1_1_node_token.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_equality_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_equality_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_equality_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_exprssion-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_exprssion.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_exprssion.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_greater_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_greater_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_greater_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_less_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_relational_less_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_relational_less_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_require-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_require.gif.svn-base
classst4tic_1_1syntaxtree_1_1_require.html.svn-base
classst4tic_1_1syntaxtree_1_1_start-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_start.gif.svn-base
classst4tic_1_1syntaxtree_1_1_start.html.svn-base
classst4tic_1_1syntaxtree_1_1_statement_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_statement_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_statement_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_unary_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_unary_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_unary_expression.html.svn-base
classst4tic_1_1syntaxtree_1_1_unary_relational-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_unary_relational.gif.svn-base
classst4tic_1_1syntaxtree_1_1_unary_relational.html.svn-base
classst4tic_1_1syntaxtree_1_1_variable_assign-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_variable_assign.gif.svn-base
classst4tic_1_1syntaxtree_1_1_variable_assign.html.svn-base
classst4tic_1_1syntaxtree_1_1_variable_declaration-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_variable_declaration.gif.svn-base
classst4tic_1_1syntaxtree_1_1_variable_declaration.html.svn-base
classst4tic_1_1syntaxtree_1_1_variable_name-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_variable_name.gif.svn-base
classst4tic_1_1syntaxtree_1_1_variable_name.html.svn-base
classst4tic_1_1syntaxtree_1_1_while_expression-members.html.svn-base
classst4tic_1_1syntaxtree_1_1_while_expression.gif.svn-base
classst4tic_1_1syntaxtree_1_1_while_expression.html.svn-base
classst4tic_1_1visitor_1_1_depth_first_visitor-members.html.svn-base
classst4tic_1_1visitor_1_1_depth_first_visitor.gif.svn-base
classst4tic_1_1visitor_1_1_depth_first_visitor.html.svn-base
classst4tic_1_1visitor_1_1_g_j_depth_first_3_01_r_00_01_a_01_4-members.html.svn-base
classst4tic_1_1visitor_1_1_g_j_depth_first_3_01_r_00_01_a_01_4.gif.svn-base
classst4tic_1_1visitor_1_1_g_j_depth_first_3_01_r_00_01_a_01_4.html.svn-base
classst4tic_1_1visitor_1_1_g_j_no_argu_depth_first_3_01_r_01_4-members.html.svn-base
classst4tic_1_1visitor_1_1_g_j_no_argu_depth_first_3_01_r_01_4.gif.svn-base
classst4tic_1_1visitor_1_1_g_j_no_argu_depth_first_3_01_r_01_4.html.svn-base
classst4tic_1_1visitor_1_1_g_j_void_depth_first_3_01_a_01_4-members.html.svn-base
classst4tic_1_1visitor_1_1_g_j_void_depth_first_3_01_a_01_4.gif.svn-base
classst4tic_1_1visitor_1_1_g_j_void_depth_first_3_01_a_01_4.html.svn-base
classst4tic_1_1_j_t_b_toolkit-members.html.svn-base
classst4tic_1_1_j_t_b_toolkit.html.svn-base
classst4tic_1_1_parse_exception-members.html.svn-base
classst4tic_1_1_parse_exception.html.svn-base
classst4tic_1_1_simple_char_stream-members.html.svn-base
classst4tic_1_1_simple_char_stream.html.svn-base
classst4tic_1_1_st4tic-members.html.svn-base
classst4tic_1_1_st4tic.gif.svn-base
classst4tic_1_1_st4tic.html.svn-base
classst4tic_1_1_st4tic_token_manager-members.html.svn-base
classst4tic_1_1_st4tic_token_manager.gif.svn-base
classst4tic_1_1_st4tic_token_manager.html.svn-base
classst4tic_1_1_token-members.html.svn-base
classst4tic_1_1_token.html.svn-base
classst4tic_1_1_token_mgr_error-members.html.svn-base
classst4tic_1_1_token_mgr_error.html.svn-base
deprecated.html.svn-base
doxygen.css.svn-base
doxygen.png.svn-base
files.html.svn-base
functions.html.svn-base
functions_0x61.html.svn-base
functions_0x62.html.svn-base
functions_0x63.html.svn-base
functions_0x64.html.svn-base
functions_0x65.html.svn-base
functions_0x66.html.svn-base
functions_0x67.html.svn-base
functions_0x68.html.svn-base
functions_0x69.html.svn-base
functions_0x6a.html.svn-base
functions_0x6b.html.svn-base
functions_0x6c.html.svn-base
functions_0x6d.html.svn-base
functions_0x6e.html.svn-base
functions_0x6f.html.svn-base
functions_0x70.html.svn-base
functions_0x72.html.svn-base
functions_0x73.html.svn-base
functions_0x74.html.svn-base
functions_0x75.html.svn-base
functions_0x76.html.svn-base
functions_0x77.html.svn-base
functions_func.html.svn-base
functions_func_0x61.html.svn-base
functions_func_0x62.html.svn-base
functions_func_0x63.html.svn-base
functions_func_0x64.html.svn-base
functions_func_0x65.html.svn-base
functions_func_0x66.html.svn-base
functions_func_0x67.html.svn-base
functions_func_0x69.html.svn-base
functions_func_0x6a.html.svn-base
functions_func_0x6c.html.svn-base
functions_func_0x6d.html.svn-base
functions_func_0x6e.html.svn-base
functions_func_0x70.html.svn-base
functions_func_0x72.html.svn-base
functions_func_0x73.html.svn-base
functions_func_0x74.html.svn-base
functions_func_0x75.html.svn-base
functions_func_0x76.html.svn-base
functions_func_0x77.html.svn-base
functions_vars.html.svn-base
hierarchy.html.svn-base
index.html.svn-base
installdox.svn-base
interfacest4tic_1_1interpreter_1_1_interpret-members.html.svn-base
interfacest4tic_1_1interpreter_1_1_interpret.gif.svn-base
interfacest4tic_1_1interpreter_1_1_interpret.html.svn-base
interfacest4tic_1_1syntaxtree_1_1_node-members.html.svn-base
interfacest4tic_1_1syntaxtree_1_1_node.gif.svn-base
interfacest4tic_1_1syntaxtree_1_1_node.html.svn-base
interfacest4tic_1_1syntaxtree_1_1_node_list_interface-members.html.svn-base
interfacest4tic_1_1syntaxtree_1_1_node_list_interface.gif.svn-base
interfacest4tic_1_1syntaxtree_1_1_node_list_interface.html.svn-base
interfacest4tic_1_1visitor_1_1_g_j_no_argu_visitor_3_01_r_01_4-members.html.svn-base
interfacest4tic_1_1visitor_1_1_g_j_no_argu_visitor_3_01_r_01_4.gif.svn-base
interfacest4tic_1_1visitor_1_1_g_j_no_argu_visitor_3_01_r_01_4.html.svn-base
interfacest4tic_1_1visitor_1_1_g_j_visitor_3_01_r_00_01_a_01_4-members.html.svn-base
interfacest4tic_1_1visitor_1_1_g_j_visitor_3_01_r_00_01_a_01_4.gif.svn-base
interfacest4tic_1_1visitor_1_1_g_j_visitor_3_01_r_00_01_a_01_4.html.svn-base
interfacest4tic_1_1visitor_1_1_g_j_void_visitor_3_01_a_01_4-members.html.svn-base
interfacest4tic_1_1visitor_1_1_g_j_void_visitor_3_01_a_01_4.gif.svn-base
interfacest4tic_1_1visitor_1_1_g_j_void_visitor_3_01_a_01_4.html.svn-base
interfacest4tic_1_1visitor_1_1_visitor-members.html.svn-base
interfacest4tic_1_1visitor_1_1_visitor.gif.svn-base
interfacest4tic_1_1visitor_1_1_visitor.html.svn-base
interfacest4tic_1_1_st4tic_constants-members.html.svn-base
interfacest4tic_1_1_st4tic_constants.gif.svn-base
interfacest4tic_1_1_st4tic_constants.html.svn-base
namespacemain.html.svn-base
namespaces.html.svn-base
namespacest4tic.html.svn-base
namespacest4tic_1_1core.html.svn-base
namespacest4tic_1_1interpreter.html.svn-base
namespacest4tic_1_1reflect.html.svn-base
namespacest4tic_1_1syntaxtree.html.svn-base
namespacest4tic_1_1visitor.html.svn-base
pages.html.svn-base
tabs.css.svn-base
tab_b.gif.svn-base
tab_l.gif.svn-base
tab_r.gif.svn-base
_additive_expression_8java.html.svn-base
_depth_first_visitor_8java.html.svn-base
_g_j_depth_first_8java.html.svn-base
_g_j_no_argu_depth_first_8java.html.svn-base
_g_j_no_argu_visitor_8java.html.svn-base
_g_j_visitor_8java.html.svn-base
_g_j_void_depth_first_8java.html.svn-base
_g_j_void_visitor_8java.html.svn-base
_if_expression_8java.html.svn-base
_interpreter_8java.html.svn-base
_interpret_8java.html.svn-base
_java_static_methods_8java.html.svn-base
_main_8java.html.svn-base
_math_expression_8java.html.svn-base
_multiplicative_expression_8java.html.svn-base
_node_8java.html.svn-base
_node_choice_8java.html.svn-base
_node_list_8java.html.svn-base
_node_list_interface_8java.html.svn-base
_node_list_optional_8java.html.svn-base
_node_optional_8java.html.svn-base
_node_sequence_8java.html.svn-base
_node_token_8java.html.svn-base
_parse_exception_8java.html.svn-base
_relational_equality_expression_8java.html.svn-base
_relational_exprssion_8java.html.svn-base
_relational_greater_expression_8java.html.svn-base
_relational_less_expression_8java.html.svn-base
_require_8java.html.svn-base
_simple_char_stream_8java.html.svn-base
_st4tic_8java.html.svn-base
_st4tic_constants_8java.html.svn-base
_st4tic_object_8java.html.svn-base
_st4tic_reflection_8java.html.svn-base
_st4tic_scope_8java.html.svn-base
_st4tic_token_manager_8java.html.svn-base
_st4tic_value_8java.html.svn-base
_st4tic_variable_8java.html.svn-base
_start_8java.html.svn-base
_statement_expression_8java.html.svn-base
_token_8java.html.svn-base
_token_mgr_error_8java.html.svn-base
_unary_expression_8java.html.svn-base
_unary_relational_8java.html.svn-base
_variable_assign_8java.html.svn-base
_variable_declaration_8java.html.svn-base
_variable_name_8java.html.svn-base
_visitor_8java.html.svn-base
_while_expression_8java.html.svn-base
tmp
prop-base
props
text-base
classst4tic_1_1core_1_1_st4tic_object.gif
classst4tic_1_1core_1_1_st4tic_scope.gif
classst4tic_1_1core_1_1_st4tic_value.gif
classst4tic_1_1core_1_1_st4tic_variable.gif
classst4tic_1_1interpreter_1_1_interpreter.gif
classst4tic_1_1syntaxtree_1_1_additive_expression.gif
classst4tic_1_1syntaxtree_1_1_if_expression.gif
classst4tic_1_1syntaxtree_1_1_java_static_methods.gif
classst4tic_1_1syntaxtree_1_1_math_expression.gif
classst4tic_1_1syntaxtree_1_1_multiplicative_expression.gif
classst4tic_1_1syntaxtree_1_1_node_choice.gif
classst4tic_1_1syntaxtree_1_1_node_list.gif
classst4tic_1_1syntaxtree_1_1_node_list_optional.gif
classst4tic_1_1syntaxtree_1_1_node_optional.gif
classst4tic_1_1syntaxtree_1_1_node_sequence.gif
classst4tic_1_1syntaxtree_1_1_node_token.gif
classst4tic_1_1syntaxtree_1_1_relational_equality_expression.gif
classst4tic_1_1syntaxtree_1_1_relational_exprssion.gif
classst4tic_1_1syntaxtree_1_1_relational_greater_expression.gif
classst4tic_1_1syntaxtree_1_1_relational_less_expression.gif
classst4tic_1_1syntaxtree_1_1_require.gif
classst4tic_1_1syntaxtree_1_1_start.gif
classst4tic_1_1syntaxtree_1_1_statement_expression.gif
classst4tic_1_1syntaxtree_1_1_unary_expression.gif
classst4tic_1_1syntaxtree_1_1_unary_relational.gif
classst4tic_1_1syntaxtree_1_1_variable_assign.gif
classst4tic_1_1syntaxtree_1_1_variable_declaration.gif
classst4tic_1_1syntaxtree_1_1_variable_name.gif
classst4tic_1_1syntaxtree_1_1_while_expression.gif
classst4tic_1_1visitor_1_1_depth_first_visitor.gif
classst4tic_1_1visitor_1_1_g_j_depth_first_3_01_r_00_01_a_01_4.gif
classst4tic_1_1visitor_1_1_g_j_no_argu_depth_first_3_01_r_01_4.gif
classst4tic_1_1visitor_1_1_g_j_void_depth_first_3_01_a_01_4.gif
classst4tic_1_1_st4tic.gif
classst4tic_1_1_st4tic_token_manager.gif
doxygen.png
installdox
interfacest4tic_1_1interpreter_1_1_interpret.gif
interfacest4tic_1_1syntaxtree_1_1_node.gif
interfacest4tic_1_1syntaxtree_1_1_node_list_interface.gif
interfacest4tic_1_1visitor_1_1_g_j_no_argu_visitor_3_01_r_01_4.gif
interfacest4tic_1_1visitor_1_1_g_j_visitor_3_01_r_00_01_a_01_4.gif
interfacest4tic_1_1visitor_1_1_g_j_void_visitor_3_01_a_01_4.gif
interfacest4tic_1_1visitor_1_1_visitor.gif
interfacest4tic_1_1_st4tic_constants.gif
search
.svn
all-wcprops
entries
prop-base
close.png.svn-base
search.png.svn-base
props
text-base
all_5b.html.svn-base
all_61.html.svn-base
all_62.html.svn-base
all_63.html.svn-base
all_64.html.svn-base
all_65.html.svn-base
all_66.html.svn-base
all_67.html.svn-base
all_68.html.svn-base
all_69.html.svn-base
all_6a.html.svn-base
all_6b.html.svn-base
all_6c.html.svn-base
all_6d.html.svn-base
all_6e.html.svn-base
all_6f.html.svn-base
all_70.html.svn-base
all_72.html.svn-base
all_73.html.svn-base
all_74.html.svn-base
all_75.html.svn-base
all_76.html.svn-base
all_77.html.svn-base
classes_61.html.svn-base
classes_64.html.svn-base
classes_67.html.svn-base
classes_69.html.svn-base
classes_6a.html.svn-base
classes_6d.html.svn-base
classes_6e.html.svn-base
classes_70.html.svn-base
classes_72.html.svn-base
classes_73.html.svn-base
classes_74.html.svn-base
classes_75.html.svn-base
classes_76.html.svn-base
classes_77.html.svn-base
close.png.svn-base
files_61.html.svn-base
files_64.html.svn-base
files_67.html.svn-base
files_69.html.svn-base
files_6a.html.svn-base
files_6d.html.svn-base
files_6e.html.svn-base
files_70.html.svn-base
files_72.html.svn-base
files_73.html.svn-base
files_74.html.svn-base
files_75.html.svn-base
files_76.html.svn-base
files_77.html.svn-base
functions_5b.html.svn-base
functions_61.html.svn-base
functions_62.html.svn-base
functions_63.html.svn-base
functions_64.html.svn-base
functions_65.html.svn-base
functions_66.html.svn-base
functions_67.html.svn-base
functions_69.html.svn-base
functions_6a.html.svn-base
functions_6c.html.svn-base
functions_6d.html.svn-base
functions_6e.html.svn-base
functions_70.html.svn-base
functions_72.html.svn-base
functions_73.html.svn-base
functions_74.html.svn-base
functions_75.html.svn-base
functions_76.html.svn-base
functions_77.html.svn-base
namespaces_6d.html.svn-base
namespaces_73.html.svn-base
nomatches.html.svn-base
search.css.svn-base
search.js.svn-base
search.png.svn-base
variables_61.html.svn-base
variables_62.html.svn-base
variables_63.html.svn-base
variables_64.html.svn-base
variables_65.html.svn-base
variables_66.html.svn-base
variables_67.html.svn-base
variables_68.html.svn-base
variables_69.html.svn-base
variables_6a.html.svn-base
variables_6b.html.svn-base
variables_6c.html.svn-base
variables_6d.html.svn-base
variables_6e.html.svn-base
variables_6f.html.svn-base
variables_70.html.svn-base
variables_72.html.svn-base
variables_73.html.svn-base
variables_74.html.svn-base
variables_77.html.svn-base
tmp
prop-base
props
text-base
close.png
search.png
tab_b.gif
tab_l.gif
tab_r.gif
man
.svn
all-wcprops
entries
prop-base
props
text-base
tmp
prop-base
props
text-base
man3
.svn
all-wcprops
entries
prop-base
props
text-base
AdditiveExpression.java.3.svn-base
deprecated.3.svn-base
DepthFirstVisitor.java.3.svn-base
GJDepthFirst.java.3.svn-base
GJNoArguDepthFirst.java.3.svn-base
GJNoArguVisitor.java.3.svn-base
GJVisitor.java.3.svn-base
GJVoidDepthFirst.java.3.svn-base
GJVoidVisitor.java.3.svn-base
IfExpression.java.3.svn-base
Interpret.java.3.svn-base
Interpreter.java.3.svn-base
JavaStaticMethods.java.3.svn-base
main.3.svn-base
Main.java.3.svn-base
main_Main.3.svn-base
MathExpression.java.3.svn-base
MultiplicativeExpression.java.3.svn-base
Node.java.3.svn-base
NodeChoice.java.3.svn-base
NodeList.java.3.svn-base
NodeListInterface.java.3.svn-base
NodeListOptional.java.3.svn-base
NodeOptional.java.3.svn-base
NodeSequence.java.3.svn-base
NodeToken.java.3.svn-base
ParseException.java.3.svn-base
RelationalEqualityExpression.java.3.svn-base
RelationalExprssion.java.3.svn-base
RelationalGreaterExpression.java.3.svn-base
RelationalLessExpression.java.3.svn-base
Require.java.3.svn-base
SimpleCharStream.java.3.svn-base
st4tic.3.svn-base
St4tic.java.3.svn-base
St4ticConstants.java.3.svn-base
St4ticObject.java.3.svn-base
St4ticReflection.java.3.svn-base
St4ticScope.java.3.svn-base
St4ticTokenManager.java.3.svn-base
St4ticValue.java.3.svn-base
St4ticVariable.java.3.svn-base
st4tic_core.3.svn-base
st4tic_core_St4ticObject.3.svn-base
st4tic_core_St4ticScope.3.svn-base
st4tic_core_St4ticValue.3.svn-base
st4tic_core_St4ticVariable.3.svn-base
st4tic_interpreter.3.svn-base
st4tic_interpreter_Interpret.3.svn-base
st4tic_interpreter_Interpreter.3.svn-base
st4tic_JTBToolkit.3.svn-base
st4tic_ParseException.3.svn-base
st4tic_reflect.3.svn-base
st4tic_reflect_St4ticReflection.3.svn-base
st4tic_SimpleCharStream.3.svn-base
st4tic_St4tic.3.svn-base
st4tic_St4ticConstants.3.svn-base
st4tic_St4ticTokenManager.3.svn-base
st4tic_syntaxtree.3.svn-base
st4tic_syntaxtree_AdditiveExpression.3.svn-base
st4tic_syntaxtree_IfExpression.3.svn-base
st4tic_syntaxtree_JavaStaticMethods.3.svn-base
st4tic_syntaxtree_MathExpression.3.svn-base
st4tic_syntaxtree_MultiplicativeExpression.3.svn-base
st4tic_syntaxtree_Node.3.svn-base
st4tic_syntaxtree_NodeChoice.3.svn-base
st4tic_syntaxtree_NodeList.3.svn-base
st4tic_syntaxtree_NodeListInterface.3.svn-base
st4tic_syntaxtree_NodeListOptional.3.svn-base
st4tic_syntaxtree_NodeOptional.3.svn-base
st4tic_syntaxtree_NodeSequence.3.svn-base
st4tic_syntaxtree_NodeToken.3.svn-base
st4tic_syntaxtree_RelationalEqualityExpression.3.svn-base
st4tic_syntaxtree_RelationalExprssion.3.svn-base
st4tic_syntaxtree_RelationalGreaterExpression.3.svn-base
st4tic_syntaxtree_RelationalLessExpression.3.svn-base
st4tic_syntaxtree_Require.3.svn-base
st4tic_syntaxtree_Start.3.svn-base
st4tic_syntaxtree_StatementExpression.3.svn-base
st4tic_syntaxtree_UnaryExpression.3.svn-base
st4tic_syntaxtree_UnaryRelational.3.svn-base
st4tic_syntaxtree_VariableAssign.3.svn-base
st4tic_syntaxtree_VariableDeclaration.3.svn-base
st4tic_syntaxtree_VariableName.3.svn-base
st4tic_syntaxtree_WhileExpression.3.svn-base
st4tic_Token.3.svn-base
st4tic_TokenMgrError.3.svn-base
st4tic_visitor.3.svn-base
st4tic_visitor_DepthFirstVisitor.3.svn-base
st4tic_visitor_GJDepthFirst_ R, A _.3.svn-base
st4tic_visitor_GJNoArguDepthFirst_ R _.3.svn-base
st4tic_visitor_GJNoArguVisitor_ R _.3.svn-base
st4tic_visitor_GJVisitor_ R, A _.3.svn-base
st4tic_visitor_GJVoidDepthFirst_ A _.3.svn-base
st4tic_visitor_GJVoidVisitor_ A _.3.svn-base
st4tic_visitor_Visitor.3.svn-base
Start.java.3.svn-base
StatementExpression.java.3.svn-base
Token.java.3.svn-base
TokenMgrError.java.3.svn-base
UnaryExpression.java.3.svn-base
UnaryRelational.java.3.svn-base
VariableAssign.java.3.svn-base
VariableDeclaration.java.3.svn-base
VariableName.java.3.svn-base
Visitor.java.3.svn-base
WhileExpression.java.3.svn-base
tmp
prop-base
props
text-base
AdditiveExpression.java.3
deprecated.3
DepthFirstVisitor.java.3
GJDepthFirst.java.3
GJNoArguDepthFirst.java.3
GJNoArguVisitor.java.3
GJVisitor.java.3
GJVoidDepthFirst.java.3
GJVoidVisitor.java.3
IfExpression.java.3
Interpret.java.3
Interpreter.java.3
JavaStaticMethods.java.3
main.3
Main.java.3
main_Main.3
MathExpression.java.3
MultiplicativeExpression.java.3
Node.java.3
NodeChoice.java.3
NodeList.java.3
NodeListInterface.java.3
NodeListOptional.java.3
NodeOptional.java.3
NodeSequence.java.3
NodeToken.java.3
ParseException.java.3
RelationalEqualityExpression.java.3
RelationalExprssion.java.3
RelationalGreaterExpression.java.3
RelationalLessExpression.java.3
Require.java.3
SimpleCharStream.java.3
st4tic.3
St4tic.java.3
St4ticConstants.java.3
St4ticObject.java.3
St4ticReflection.java.3
St4ticScope.java.3
St4ticTokenManager.java.3
St4ticValue.java.3
St4ticVariable.java.3
st4tic_core.3
st4tic_core_St4ticObject.3
st4tic_core_St4ticScope.3
st4tic_core_St4ticValue.3
st4tic_core_St4ticVariable.3
st4tic_interpreter.3
st4tic_interpreter_Interpret.3
st4tic_interpreter_Interpreter.3
st4tic_JTBToolkit.3
st4tic_ParseException.3
st4tic_reflect.3
st4tic_reflect_St4ticReflection.3
st4tic_SimpleCharStream.3
st4tic_St4tic.3
st4tic_St4ticConstants.3
st4tic_St4ticTokenManager.3
st4tic_syntaxtree.3
st4tic_syntaxtree_AdditiveExpression.3
st4tic_syntaxtree_IfExpression.3
st4tic_syntaxtree_JavaStaticMethods.3
st4tic_syntaxtree_MathExpression.3
st4tic_syntaxtree_MultiplicativeExpression.3
st4tic_syntaxtree_Node.3
st4tic_syntaxtree_NodeChoice.3
st4tic_syntaxtree_NodeList.3
st4tic_syntaxtree_NodeListInterface.3
st4tic_syntaxtree_NodeListOptional.3
st4tic_syntaxtree_NodeOptional.3
st4tic_syntaxtree_NodeSequence.3
st4tic_syntaxtree_NodeToken.3
st4tic_syntaxtree_RelationalEqualityExpression.3
st4tic_syntaxtree_RelationalExprssion.3
st4tic_syntaxtree_RelationalGreaterExpression.3
st4tic_syntaxtree_RelationalLessExpression.3
st4tic_syntaxtree_Require.3
st4tic_syntaxtree_Start.3
st4tic_syntaxtree_StatementExpression.3
st4tic_syntaxtree_UnaryExpression.3
st4tic_syntaxtree_UnaryRelational.3
st4tic_syntaxtree_VariableAssign.3
st4tic_syntaxtree_VariableDeclaration.3
st4tic_syntaxtree_VariableName.3
st4tic_syntaxtree_WhileExpression.3
st4tic_Token.3
st4tic_TokenMgrError.3
st4tic_visitor.3
st4tic_visitor_DepthFirstVisitor.3
st4tic_visitor_GJDepthFirst_ R, A _.3
st4tic_visitor_GJNoArguDepthFirst_ R _.3
st4tic_visitor_GJNoArguVisitor_ R _.3
st4tic_visitor_GJVisitor_ R, A _.3
st4tic_visitor_GJVoidDepthFirst_ A _.3
st4tic_visitor_GJVoidVisitor_ A _.3
st4tic_visitor_Visitor.3
Start.java.3
StatementExpression.java.3
Token.java.3
TokenMgrError.java.3
UnaryExpression.java.3
UnaryRelational.java.3
VariableAssign.java.3
VariableDeclaration.java.3
VariableName.java.3
Visitor.java.3
WhileExpression.java.3
src
.svn
all-wcprops
entries
lock
prop-base
props
text-base
tmp
prop-base
props
text-base
main
.svn
all-wcprops
entries
prop-base
props
text-base
Main.java.svn-base
tmp
prop-base
props
text-base
st4tic
.svn
all-wcprops
entries
lock
prop-base
props
text-base
jtb.out.jj.svn-base
ParseException.java.svn-base
SimpleCharStream.java.svn-base
St4tic.java.svn-base
St4tic.jtb.svn-base
St4ticConstants.java.svn-base
St4ticTokenManager.java.svn-base
Token.java.svn-base
TokenMgrError.java.svn-base
tmp
prop-base
props
text-base
core
.svn
all-wcprops
entries
lock
prop-base
props
text-base
St4ticObject.java.svn-base
St4ticScope.java.svn-base
St4ticValue.java.svn-base
St4ticVariable.java.svn-base
tmp
prop-base
props
text-base
interpreter
.svn
all-wcprops
entries
lock
prop-base
props
text-base
Interpret.java.svn-base
Interpreter.java.svn-base
tmp
prop-base
props
text-base
jtb.out.jj
reflect
.svn
all-wcprops
entries
lock
prop-base
props
text-base
St4ticReflection.java.svn-base
tmp
prop-base
props
text-base
st4tic
.svn
all-wcprops
entries
lock
prop-base
props
text-base
tmp
prop-base
props
text-base
St4tic.jtb
syntaxtree
.svn
all-wcprops
entries
lock
prop-base
props
text-base
AdditiveExpression.java.svn-base
IfExpression.java.svn-base
JavaStaticMethods.java.svn-base
MathExpression.java.svn-base
MultiplicativeExpression.java.svn-base
Node.java.svn-base
NodeChoice.java.svn-base
NodeList.java.svn-base
NodeListInterface.java.svn-base
NodeListOptional.java.svn-base
NodeOptional.java.svn-base
NodeSequence.java.svn-base
NodeToken.java.svn-base
RelationalEqualityExpression.java.svn-base
RelationalExprssion.java.svn-base
RelationalGreaterExpression.java.svn-base
RelationalLessExpression.java.svn-base
Require.java.svn-base
Start.java.svn-base
StatementExpression.java.svn-base
UnaryExpression.java.svn-base
UnaryRelational.java.svn-base
VariableAssign.java.svn-base
VariableDeclaration.java.svn-base
VariableName.java.svn-base
WhileExpression.java.svn-base
tmp
prop-base
props
text-base
visitor
.svn
all-wcprops
entries
lock
prop-base
props
text-base
DepthFirstVisitor.java.svn-base
GJDepthFirst.java.svn-base
GJNoArguDepthFirst.java.svn-base
GJNoArguVisitor.java.svn-base
GJVisitor.java.svn-base
GJVoidDepthFirst.java.svn-base
GJVoidVisitor.java.svn-base
Visitor.java.svn-base
tmp
prop-base
props
text-base
/* Generated By:JavaCC: Do not edit this line. St4tic.java */
package st4tic;

import st4tic.syntaxtree.*;
import st4tic.visitor.*;
import st4tic.interpreter.*;
import java.util.Vector;


public class St4tic implements St4ticConstants {

  final public Start Start() throws ParseException {
   NodeList n0 = new NodeList();
   NodeSequence n1;
   Require n2;
   NodeToken n3;
   Token n4;
   NodeListOptional n5 = new NodeListOptional();
   StatementExpression n6;
    label_1:
    while (true) {
        n1 = new NodeSequence(2);
      n2 = Require();
        n1.addNode(n2);
      n4 = jj_consume_token(DOT);
               n3 = JTBToolkit.makeNodeToken(n4);
        n1.addNode(n3);
        n0.addNode(n1);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case REQUERE:
        ;
        break;
      default:
        jj_la1[0] = jj_gen;
        break label_1;
      }
    }
     n0.nodes.trimToSize();
    label_2:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case IF:
      case WHILE:
      case DEF:
      case IDENTIFIER:
        ;
        break;
      default:
        jj_la1[1] = jj_gen;
        break label_2;
      }
      n6 = StatementExpression();
        n5.addNode(n6);
    }
     n5.nodes.trimToSize();
     {if (true) return new Start(n0,n5);}
    throw new Error("Missing return statement in function");
  }

  final public Require Require() throws ParseException {
   NodeToken n0;
   Token n1;
   NodeList n2 = new NodeList();
   NodeToken n3;
   Token n4;
    n1 = jj_consume_token(REQUERE);
                  n0 = JTBToolkit.makeNodeToken(n1);
    label_3:
    while (true) {
      n4 = jj_consume_token(IDENTIFIER);
                        n3 = JTBToolkit.makeNodeToken(n4);
        n2.addNode(n3);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case IDENTIFIER:
        ;
        break;
      default:
        jj_la1[2] = jj_gen;
        break label_3;
      }
    }
     n2.nodes.trimToSize();
     {if (true) return new Require(n0,n2);}
    throw new Error("Missing return statement in function");
  }

  final public MathExpression MathExpression() throws ParseException {
   AdditiveExpression n0;
    n0 = AdditiveExpression();
     {if (true) return new MathExpression(n0);}
    throw new Error("Missing return statement in function");
  }

  final public AdditiveExpression AdditiveExpression() throws ParseException {
   MultiplicativeExpression n0;
   NodeListOptional n1 = new NodeListOptional();
   NodeSequence n2;
   NodeChoice n3;
   NodeToken n4;
   Token n5;
   NodeToken n6;
   Token n7;
   MultiplicativeExpression n8;
    n0 = MultiplicativeExpression();
    label_4:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case PLUS:
      case MINUS:
        ;
        break;
      default:
        jj_la1[3] = jj_gen;
        break label_4;
      }
        n2 = new NodeSequence(2);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case PLUS:
        n5 = jj_consume_token(PLUS);
                     n4 = JTBToolkit.makeNodeToken(n5);
              n3 = new NodeChoice(n4, 0);
        break;
      case MINUS:
        n7 = jj_consume_token(MINUS);
                     n6 = JTBToolkit.makeNodeToken(n7);
              n3 = new NodeChoice(n6, 1);
        break;
      default:
        jj_la1[4] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
        n2.addNode(n3);
      n8 = MultiplicativeExpression();
        n2.addNode(n8);
        n1.addNode(n2);
    }
     n1.nodes.trimToSize();
     {if (true) return new AdditiveExpression(n0,n1);}
    throw new Error("Missing return statement in function");
  }

  final public MultiplicativeExpression MultiplicativeExpression() throws ParseException {
   UnaryExpression n0;
   NodeListOptional n1 = new NodeListOptional();
   NodeSequence n2;
   NodeChoice n3;
   NodeToken n4;
   Token n5;
   NodeToken n6;
   Token n7;
   NodeToken n8;
   Token n9;
   UnaryExpression n10;
    n0 = UnaryExpression();
    label_5:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case MUL:
      case DIV:
      case MOD:
        ;
        break;
      default:
        jj_la1[5] = jj_gen;
        break label_5;
      }
        n2 = new NodeSequence(2);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case MUL:
        n5 = jj_consume_token(MUL);
                     n4 = JTBToolkit.makeNodeToken(n5);
              n3 = new NodeChoice(n4, 0);
        break;
      case DIV:
        n7 = jj_consume_token(DIV);
                     n6 = JTBToolkit.makeNodeToken(n7);
              n3 = new NodeChoice(n6, 1);
        break;
      case MOD:
        n9 = jj_consume_token(MOD);
                     n8 = JTBToolkit.makeNodeToken(n9);
              n3 = new NodeChoice(n8, 2);
        break;
      default:
        jj_la1[6] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
        n2.addNode(n3);
      n10 = UnaryExpression();
        n2.addNode(n10);
        n1.addNode(n2);
    }
     n1.nodes.trimToSize();
     {if (true) return new MultiplicativeExpression(n0,n1);}
    throw new Error("Missing return statement in function");
  }

  final public UnaryExpression UnaryExpression() throws ParseException {
   NodeChoice n0;
   NodeSequence n1;
   NodeToken n2;
   Token n3;
   MathExpression n4;
   NodeToken n5;
   Token n6;
   NodeToken n7;
   Token n8;
   VariableName n9;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case 30:
        n1 = new NodeSequence(3);
      n3 = jj_consume_token(30);
               n2 = JTBToolkit.makeNodeToken(n3);
        n1.addNode(n2);
      n4 = MathExpression();
        n1.addNode(n4);
      n6 = jj_consume_token(31);
               n5 = JTBToolkit.makeNodeToken(n6);
        n1.addNode(n5);
        n0 = new NodeChoice(n1, 0);
      break;
    case INTEGER_LITERAL:
      n8 = jj_consume_token(INTEGER_LITERAL);
                             n7 = JTBToolkit.makeNodeToken(n8);
        n0 = new NodeChoice(n7, 1);
      break;
    case IDENTIFIER:
      n9 = VariableName();
        n0 = new NodeChoice(n9, 2);
      break;
    default:
      jj_la1[7] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
     {if (true) return new UnaryExpression(n0);}
    throw new Error("Missing return statement in function");
  }

  final public RelationalExprssion RelationalExprssion() throws ParseException {
   RelationalEqualityExpression n0;
    n0 = RelationalEqualityExpression();
     {if (true) return new RelationalExprssion(n0);}
    throw new Error("Missing return statement in function");
  }

  final public RelationalEqualityExpression RelationalEqualityExpression() throws ParseException {
   RelationalGreaterExpression n0;
   NodeOptional n1 = new NodeOptional();
   NodeSequence n2;
   NodeChoice n3;
   NodeToken n4;
   Token n5;
   NodeToken n6;
   Token n7;
   RelationalGreaterExpression n8;
    n0 = RelationalGreaterExpression();
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case EQ:
    case NE:
        n2 = new NodeSequence(2);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case EQ:
        n5 = jj_consume_token(EQ);
                      n4 = JTBToolkit.makeNodeToken(n5);
              n3 = new NodeChoice(n4, 0);
        break;
      case NE:
        n7 = jj_consume_token(NE);
                      n6 = JTBToolkit.makeNodeToken(n7);
              n3 = new NodeChoice(n6, 1);
        break;
      default:
        jj_la1[8] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
        n2.addNode(n3);
      n8 = RelationalGreaterExpression();
        n2.addNode(n8);
        n1.addNode(n2);
      break;
    default:
      jj_la1[9] = jj_gen;
      ;
    }
     {if (true) return new RelationalEqualityExpression(n0,n1);}
    throw new Error("Missing return statement in function");
  }

  final public RelationalGreaterExpression RelationalGreaterExpression() throws ParseException {
   RelationalLessExpression n0;
   NodeOptional n1 = new NodeOptional();
   NodeSequence n2;
   NodeChoice n3;
   NodeToken n4;
   Token n5;
   NodeToken n6;
   Token n7;
   RelationalLessExpression n8;
    n0 = RelationalLessExpression();
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case GT:
    case GE:
        n2 = new NodeSequence(2);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case GT:
        n5 = jj_consume_token(GT);
                     n4 = JTBToolkit.makeNodeToken(n5);
              n3 = new NodeChoice(n4, 0);
        break;
      case GE:
        n7 = jj_consume_token(GE);
                      n6 = JTBToolkit.makeNodeToken(n7);
              n3 = new NodeChoice(n6, 1);
        break;
      default:
        jj_la1[10] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
        n2.addNode(n3);
      n8 = RelationalLessExpression();
        n2.addNode(n8);
        n1.addNode(n2);
      break;
    default:
      jj_la1[11] = jj_gen;
      ;
    }
     {if (true) return new RelationalGreaterExpression(n0,n1);}
    throw new Error("Missing return statement in function");
  }

  final public RelationalLessExpression RelationalLessExpression() throws ParseException {
   UnaryRelational n0;
   NodeOptional n1 = new NodeOptional();
   NodeSequence n2;
   NodeChoice n3;
   NodeToken n4;
   Token n5;
   NodeToken n6;
   Token n7;
   UnaryRelational n8;
    n0 = UnaryRelational();
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case LT:
    case LE:
        n2 = new NodeSequence(2);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case LT:
        n5 = jj_consume_token(LT);
                     n4 = JTBToolkit.makeNodeToken(n5);
              n3 = new NodeChoice(n4, 0);
        break;
      case LE:
        n7 = jj_consume_token(LE);
                      n6 = JTBToolkit.makeNodeToken(n7);
              n3 = new NodeChoice(n6, 1);
        break;
      default:
        jj_la1[12] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
        n2.addNode(n3);
      n8 = UnaryRelational();
        n2.addNode(n8);
        n1.addNode(n2);
      break;
    default:
      jj_la1[13] = jj_gen;
      ;
    }
     {if (true) return new RelationalLessExpression(n0,n1);}
    throw new Error("Missing return statement in function");
  }

  final public UnaryRelational UnaryRelational() throws ParseException {
   MathExpression n0;
    n0 = MathExpression();
     {if (true) return new UnaryRelational(n0);}
    throw new Error("Missing return statement in function");
  }

  final public IfExpression IfExpression() throws ParseException {
   NodeToken n0;
   Token n1;
   RelationalExprssion n2;
   NodeToken n3;
   Token n4;
   NodeListOptional n5 = new NodeListOptional();
   StatementExpression n6;
   NodeToken n7;
   Token n8;
    n1 = jj_consume_token(IF);
             n0 = JTBToolkit.makeNodeToken(n1);
    n2 = RelationalExprssion();
    n4 = jj_consume_token(DO);
             n3 = JTBToolkit.makeNodeToken(n4);
    label_6:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case IF:
      case WHILE:
      case DEF:
      case IDENTIFIER:
        ;
        break;
      default:
        jj_la1[14] = jj_gen;
        break label_6;
      }
      n6 = StatementExpression();
        n5.addNode(n6);
    }
     n5.nodes.trimToSize();
    n8 = jj_consume_token(STOP);
               n7 = JTBToolkit.makeNodeToken(n8);
     {if (true) return new IfExpression(n0,n2,n3,n5,n7);}
    throw new Error("Missing return statement in function");
  }

  final public WhileExpression WhileExpression() throws ParseException {
   NodeToken n0;
   Token n1;
   RelationalExprssion n2;
   NodeToken n3;
   Token n4;
   NodeListOptional n5 = new NodeListOptional();
   StatementExpression n6;
   NodeToken n7;
   Token n8;
    n1 = jj_consume_token(WHILE);
                n0 = JTBToolkit.makeNodeToken(n1);
    n2 = RelationalExprssion();
    n4 = jj_consume_token(DO);
             n3 = JTBToolkit.makeNodeToken(n4);
    label_7:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case IF:
      case WHILE:
      case DEF:
      case IDENTIFIER:
        ;
        break;
      default:
        jj_la1[15] = jj_gen;
        break label_7;
      }
      n6 = StatementExpression();
        n5.addNode(n6);
    }
     n5.nodes.trimToSize();
    n8 = jj_consume_token(STOP);
               n7 = JTBToolkit.makeNodeToken(n8);
     {if (true) return new WhileExpression(n0,n2,n3,n5,n7);}
    throw new Error("Missing return statement in function");
  }

  final public VariableDeclaration VariableDeclaration() throws ParseException {
   NodeToken n0;
   Token n1;
   VariableName n2;
   NodeToken n3;
   Token n4;
   MathExpression n5;
   NodeToken n6;
   Token n7;
    n1 = jj_consume_token(DEF);
              n0 = JTBToolkit.makeNodeToken(n1);
    n2 = VariableName();
    n4 = jj_consume_token(ASSIGN);
            n3 = JTBToolkit.makeNodeToken(n4);
    n5 = MathExpression();
    n7 = jj_consume_token(DOT);
            n6 = JTBToolkit.makeNodeToken(n7);
     {if (true) return new VariableDeclaration(n0,n2,n3,n5,n6);}
    throw new Error("Missing return statement in function");
  }

  final public VariableAssign VariableAssign() throws ParseException {
   VariableName n0;
   NodeToken n1;
   Token n2;
   MathExpression n3;
   NodeToken n4;
   Token n5;
    n0 = VariableName();
    n2 = jj_consume_token(ASSIGN);
            n1 = JTBToolkit.makeNodeToken(n2);
    n3 = MathExpression();
    n5 = jj_consume_token(DOT);
            n4 = JTBToolkit.makeNodeToken(n5);
     {if (true) return new VariableAssign(n0,n1,n3,n4);}
    throw new Error("Missing return statement in function");
  }

  final public VariableName VariableName() throws ParseException {
   NodeToken n0;
   Token n1;
    n1 = jj_consume_token(IDENTIFIER);
                     n0 = JTBToolkit.makeNodeToken(n1);
     {if (true) return new VariableName(n0);}
    throw new Error("Missing return statement in function");
  }

  final public JavaStaticMethods JavaStaticMethods() throws ParseException {
   NodeToken n0;
   Token n1;
   NodeList n2 = new NodeList();
   NodeSequence n3;
   NodeToken n4;
   Token n5;
   NodeToken n6;
   Token n7;
   NodeToken n8;
   Token n9;
   MathExpression n10;
   NodeListOptional n11 = new NodeListOptional();
   NodeSequence n12;
   NodeToken n13;
   Token n14;
   MathExpression n15;
   NodeToken n16;
   Token n17;
   NodeToken n18;
   Token n19;
    n1 = jj_consume_token(IDENTIFIER);
                     n0 = JTBToolkit.makeNodeToken(n1);
    label_8:
    while (true) {
        n3 = new NodeSequence(2);
      n5 = jj_consume_token(COLON);
               n4 = JTBToolkit.makeNodeToken(n5);
        n3.addNode(n4);
      n7 = jj_consume_token(IDENTIFIER);
                        n6 = JTBToolkit.makeNodeToken(n7);
        n3.addNode(n6);
        n2.addNode(n3);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case COLON:
        ;
        break;
      default:
        jj_la1[16] = jj_gen;
        break label_8;
      }
    }
     n2.nodes.trimToSize();
    n9 = jj_consume_token(30);
            n8 = JTBToolkit.makeNodeToken(n9);
    n10 = MathExpression();
    label_9:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 32:
        ;
        break;
      default:
        jj_la1[17] = jj_gen;
        break label_9;
      }
        n12 = new NodeSequence(2);
      n14 = jj_consume_token(32);
                n13 = JTBToolkit.makeNodeToken(n14);
        n12.addNode(n13);
      n15 = MathExpression();
        n12.addNode(n15);
        n11.addNode(n12);
    }
     n11.nodes.trimToSize();
    n17 = jj_consume_token(31);
             n16 = JTBToolkit.makeNodeToken(n17);
    n19 = jj_consume_token(DOT);
             n18 = JTBToolkit.makeNodeToken(n19);
     {if (true) return new JavaStaticMethods(n0,n2,n8,n10,n11,n16,n18);}
    throw new Error("Missing return statement in function");
  }

  final public StatementExpression StatementExpression() throws ParseException {
   NodeChoice n0;
   VariableDeclaration n1;
   VariableAssign n2;
   JavaStaticMethods n3;
   IfExpression n4;
   WhileExpression n5;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case DEF:
      n1 = VariableDeclaration();
        n0 = new NodeChoice(n1, 0);
      break;
    default:
      jj_la1[18] = jj_gen;
      if (jj_2_1(2)) {
        n2 = VariableAssign();
        n0 = new NodeChoice(n2, 1);
      } else {
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case IDENTIFIER:
          n3 = JavaStaticMethods();
        n0 = new NodeChoice(n3, 2);
          break;
        case IF:
          n4 = IfExpression();
        n0 = new NodeChoice(n4, 3);
          break;
        case WHILE:
          n5 = WhileExpression();
        n0 = new NodeChoice(n5, 4);
          break;
        default:
          jj_la1[19] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
      }
    }
     {if (true) return new StatementExpression(n0);}
    throw new Error("Missing return statement in function");
  }

  private boolean jj_2_1(int xla) {
    jj_la = xla; jj_lastpos = jj_scanpos = token;
    try { return !jj_3_1(); }
    catch(LookaheadSuccess ls) { return true; }
    finally { jj_save(0, xla); }
  }

  private boolean jj_3R_10() {
    if (jj_3R_11()) return true;
    if (jj_scan_token(ASSIGN)) return true;
    return false;
  }

  private boolean jj_3R_11() {
    if (jj_scan_token(IDENTIFIER)) return true;
    return false;
  }

  private boolean jj_3_1() {
    if (jj_3R_10()) return true;
    return false;
  }

  /** Generated Token Manager. */
  public St4ticTokenManager token_source;
  SimpleCharStream jj_input_stream;
  /** Current token. */
  public Token token;
  /** Next token. */
  public Token jj_nt;
  private int jj_ntk;
  private Token jj_scanpos, jj_lastpos;
  private int jj_la;
  private int jj_gen;
  final private int[] jj_la1 = new int[20];
  static private int[] jj_la1_0;
  static private int[] jj_la1_1;
  static {
      jj_la1_init_0();
      jj_la1_init_1();
   }
   private static void jj_la1_init_0() {
      jj_la1_0 = new int[] {0x40,0x8000980,0x8000000,0x300000,0x300000,0x1c00000,0x1c00000,0x4c000000,0x84000,0x84000,0x28000,0x28000,0x50000,0x50000,0x8000980,0x8000980,0x2000,0x0,0x800,0x8000180,};
   }
   private static void jj_la1_init_1() {
      jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,};
   }
  final private JJCalls[] jj_2_rtns = new JJCalls[1];
  private boolean jj_rescan = false;
  private int jj_gc = 0;

  /** Constructor with InputStream. */
  public St4tic(java.io.InputStream stream) {
     this(stream, null);
  }
  /** Constructor with InputStream and supplied encoding */
  public St4tic(java.io.InputStream stream, String encoding) {
    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
    token_source = new St4ticTokenManager(jj_input_stream);
    token = new Token();
    jj_ntk = -1;
    jj_gen = 0;
    for (int i = 0; i < 20; i++) jj_la1[i] = -1;
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  }

  /** Reinitialise. */
  public void ReInit(java.io.InputStream stream) {
     ReInit(stream, null);
  }
  /** Reinitialise. */
  public void ReInit(java.io.InputStream stream, String encoding) {
    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
    token_source.ReInit(jj_input_stream);
    token = new Token();
    jj_ntk = -1;
    jj_gen = 0;
    for (int i = 0; i < 20; i++) jj_la1[i] = -1;
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  }

  /** Constructor. */
  public St4tic(java.io.Reader stream) {
    jj_input_stream = new SimpleCharStream(stream, 1, 1);
    token_source = new St4ticTokenManager(jj_input_stream);
    token = new Token();
    jj_ntk = -1;
    jj_gen = 0;
    for (int i = 0; i < 20; i++) jj_la1[i] = -1;
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  }

  /** Reinitialise. */
  public void ReInit(java.io.Reader stream) {
    jj_input_stream.ReInit(stream, 1, 1);
    token_source.ReInit(jj_input_stream);
    token = new Token();
    jj_ntk = -1;
    jj_gen = 0;
    for (int i = 0; i < 20; i++) jj_la1[i] = -1;
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  }

  /** Constructor with generated Token Manager. */
  public St4tic(St4ticTokenManager tm) {
    token_source = tm;
    token = new Token();
    jj_ntk = -1;
    jj_gen = 0;
    for (int i = 0; i < 20; i++) jj_la1[i] = -1;
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  }

  /** Reinitialise. */
  public void ReInit(St4ticTokenManager tm) {
    token_source = tm;
    token = new Token();
    jj_ntk = -1;
    jj_gen = 0;
    for (int i = 0; i < 20; i++) jj_la1[i] = -1;
    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
  }

  private Token jj_consume_token(int kind) throws ParseException {
    Token oldToken;
    if ((oldToken = token).next != null) token = token.next;
    else token = token.next = token_source.getNextToken();
    jj_ntk = -1;
    if (token.kind == kind) {
      jj_gen++;
      if (++jj_gc > 100) {
        jj_gc = 0;
        for (int i = 0; i < jj_2_rtns.length; i++) {
          JJCalls c = jj_2_rtns[i];
          while (c != null) {
            if (c.gen < jj_gen) c.first = null;
            c = c.next;
          }
        }
      }
      return token;
    }
    token = oldToken;
    jj_kind = kind;
    throw generateParseException();
  }

  static private final class LookaheadSuccess extends java.lang.Error { }
  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
  private boolean jj_scan_token(int kind) {
    if (jj_scanpos == jj_lastpos) {
      jj_la--;
      if (jj_scanpos.next == null) {
        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
      } else {
        jj_lastpos = jj_scanpos = jj_scanpos.next;
      }
    } else {
      jj_scanpos = jj_scanpos.next;
    }
    if (jj_rescan) {
      int i = 0; Token tok = token;
      while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
      if (tok != null) jj_add_error_token(kind, i);
    }
    if (jj_scanpos.kind != kind) return true;
    if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
    return false;
  }


/** Get the next Token. */
  final public Token getNextToken() {
    if (token.next != null) token = token.next;
    else token = token.next = token_source.getNextToken();
    jj_ntk = -1;
    jj_gen++;
    return token;
  }

/** Get the specific Token. */
  final public Token getToken(int index) {
    Token t = token;
    for (int i = 0; i < index; i++) {
      if (t.next != null) t = t.next;
      else t = t.next = token_source.getNextToken();
    }
    return t;
  }

  private int jj_ntk() {
    if ((jj_nt=token.next) == null)
      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
    else
      return (jj_ntk = jj_nt.kind);
  }

  private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
  private int[] jj_expentry;
  private int jj_kind = -1;
  private int[] jj_lasttokens = new int[100];
  private int jj_endpos;

  private void jj_add_error_token(int kind, int pos) {
    if (pos >= 100) return;
    if (pos == jj_endpos + 1) {
      jj_lasttokens[jj_endpos++] = kind;
    } else if (jj_endpos != 0) {
      jj_expentry = new int[jj_endpos];
      for (int i = 0; i < jj_endpos; i++) {
        jj_expentry[i] = jj_lasttokens[i];
      }
      jj_entries_loop: for (java.util.Iterator it = jj_expentries.iterator(); it.hasNext();) {
        int[] oldentry = (int[])(it.next());
        if (oldentry.length == jj_expentry.length) {
          for (int i = 0; i < jj_expentry.length; i++) {
            if (oldentry[i] != jj_expentry[i]) {
              continue jj_entries_loop;
            }
          }
          jj_expentries.add(jj_expentry);
          break jj_entries_loop;
        }
      }
      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
    }
  }

  /** Generate ParseException. */
  public ParseException generateParseException() {
    jj_expentries.clear();
    boolean[] la1tokens = new boolean[33];
    if (jj_kind >= 0) {
      la1tokens[jj_kind] = true;
      jj_kind = -1;
    }
    for (int i = 0; i < 20; i++) {
      if (jj_la1[i] == jj_gen) {
        for (int j = 0; j < 32; j++) {
          if ((jj_la1_0[i] & (1<<j)) != 0) {
            la1tokens[j] = true;
          }
          if ((jj_la1_1[i] & (1<<j)) != 0) {
            la1tokens[32+j] = true;
          }
        }
      }
    }
    for (int i = 0; i < 33; i++) {
      if (la1tokens[i]) {
        jj_expentry = new int[1];
        jj_expentry[0] = i;
        jj_expentries.add(jj_expentry);
      }
    }
    jj_endpos = 0;
    jj_rescan_token();
    jj_add_error_token(0, 0);
    int[][] exptokseq = new int[jj_expentries.size()][];
    for (int i = 0; i < jj_expentries.size(); i++) {
      exptokseq[i] = jj_expentries.get(i);
    }
    return new ParseException(token, exptokseq, tokenImage);
  }

  /** Enable tracing. */
  final public void enable_tracing() {
  }

  /** Disable tracing. */
  final public void disable_tracing() {
  }

  private void jj_rescan_token() {
    jj_rescan = true;
    for (int i = 0; i < 1; i++) {
    try {
      JJCalls p = jj_2_rtns[i];
      do {
        if (p.gen > jj_gen) {
          jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
          switch (i) {
            case 0: jj_3_1(); break;
          }
        }
        p = p.next;
      } while (p != null);
      } catch(LookaheadSuccess ls) { }
    }
    jj_rescan = false;
  }

  private void jj_save(int index, int xla) {
    JJCalls p = jj_2_rtns[index];
    while (p.gen > jj_gen) {
      if (p.next == null) { p = p.next = new JJCalls(); break; }
      p = p.next;
    }
    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
  }

  static final class JJCalls {
    int gen;
    Token first;
    int arg;
    JJCalls next;
  }

}

class JTBToolkit {
   static NodeToken makeNodeToken(Token t) {
      return new NodeToken(t.image.intern(), t.kind, t.beginLine, t.beginColumn, t.endLine, t.endColumn);
   }
}

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)

Share

About the Author

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

| Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 21 Jan 2010
Article Copyright 2010 by Adrabi Abderrahim
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid