Dashrep is a versatile descriptive programming language based on hyphenated phrases being successively expanded into replacement text. It is a much more flexible alternative to using a template language.
Perl HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
compiler_source
dashrep_code_for_web_app
test_dashrep_code
Dashrep.sublime-settings
Dashrep.sublime-syntax
README
ScriptForInteractiveDemoVideo.txt
cgi_to_dashrep_replacements.pl
combine_listed_dashdefs.pl
dashrep_compiler_executable.pl
dashrep_compiler_source_code.txt
dashrep_test_code_joined_dashdefs.txt
empty_file.txt
input-data-to-test-gather-find-actions.txt
input_dashrep_sample.txt
join.pl
license
output_specifications_documentation.html
specifications_phrase_categories_and_names.txt
specifications_phrase_descriptions.txt

README

Language::Dashrep

Dashrep is a programming language that is simple, powerful, and fast.

See www.Dashrep.org for details.

The Dashrep compiler is written in the Dashrep language.

The current implementation of the Dashrep compiler generates Perl code that is directly executable as Perl code.  In the future the runtime code will be changed to a combination of (mostly) C and (some) C++ code that is compiled by the Clang compiler.

Version 3.03


RUNNING

These instructions explain how to run the Dashrep compiler, and the compiled program, in the Windows environment.  (Note: Running in the Linux environment is simpler, and does not require setting the "PerlPath".)

In the Windows batch script, use this command to prepare to use the Perl "interpreter."  Replace the "whatever" string as needed.

    set PerlPath=C:\whatever\

Optionally, verify that the needed files are available.

    dir %PerlPath%perl.exe
    dir %PerlPath%perl512.dll
    dir dashrep_compiler_executable.pl
    dir dashrep_test_code_joined_dashdefs.txt

Use this command to compile the Dashrep code that tests the compiler.

    %PerlPath%perl -w dashrep_compiler_executable.pl < dashrep_test_code_joined_dashdefs.txt > output_log_from_dashrep_compiler.txt
    del executable_test_dashrep_compiler.pl
    rename output_from_dashrep_compiler.pl executable_test_dashrep_compiler.pl

Run the compiled program, which generates an HTML file that shows the test results.

    %PerlPath%perl -w executable_test_dashrep_compiler.pl > output_results_from_dashrep_test.html

Important: Some tests that expect the specific environments listed below may fail, even though the compiler is working correctly.
    * specific test folder names
    * specific test file contents
    * specific "cgi" values
    * specific webpage retrieved using "curl" utility


HOW TO COMPILE THE COMPILER

Note that the file "dashrep_compiler_source_code.txt" is not the original source code, rather it is a copy of the actual source code.  The actual source code is in the many separate files within the "compiler_source" folder.  (In a similar way, the source code for the test code is in the many files within the "test_dashrep_code" folder.)

The utility "combine_listed_dashdefs.pl" combines separate source-code files into a single file that can be supplied to the compiler.

To update the compiler, use the current compiler to generate a new compiler, and then use that new compiler to generate yet another new compiler.  The second new compiler is a candidate for becoming the newest compiler.  However, to test the newest compiler, it must be used to generate yet another version that should exactly match itself (the "newest" compiler).  If an update passes this test and passes the usual compiler test (above), and passes other tests that are specific for the target application, then probably it can replace the "dashrep_compiler_executable.pl" file.

If edits to the compiler code are done within some parts of the compiler source code, it might be necessary to manually edit the "first new" compiler before using it to generate the "newest" compiler.

Yes, this is confusing.  If you aren't sure what to do, please do not attempt to change the Dashrep compiler source code.


SUPPORT AND DOCUMENTATION

You can find documentation for the Dashrep language at:

    www.dashrep.org


COPYRIGHT AND LICENCE

Copyright (c) 2009-2018 Richard Fobes at www.Dashrep.org, all rights reserved.

You can redistribute and/or modify the Dashrep-language code
under the Perl Artistic License 2.0, a copy
of which is included in the LICENSE file.

Conversions of this code into other languages are also
covered by the above license terms.

The Dashrep (TM) name is trademarked by Richard Fobes at
www.Dashrep.org to prevent the name from being co-opted.

The Dashrep (TM) language is in the public domain.