summaryrefslogtreecommitdiff
path: root/textproc/ruby-treetop
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2010-09-12 01:53:43 +0000
committertaca <taca@pkgsrc.org>2010-09-12 01:53:43 +0000
commit3aecf1088f02bdcae2576d5d298cc78a1bc4f194 (patch)
tree5652d0649fc8261e5c6e2c42c29f7dd8de5edfd0 /textproc/ruby-treetop
parentc85615a3955f3655d25477bb7a9ec12c69965b3b (diff)
downloadpkgsrc-3aecf1088f02bdcae2576d5d298cc78a1bc4f194.tar.gz
Importing textproc/ruby-treetop 1.4.8.
Languages can be split into two components, their *syntax* and their *semantics*. It's your understanding of English syntax that tells you the stream of words "Sleep furiously green ideas colorless" is not a valid sentence. Semantics is deeper. Even if we rearrange the above sentence to be "Colorless green ideas sleep furiously", which is syntactically correct, it remains nonsensical on a semantic level. With Treetop, you'll be dealing with languages that are much simpler than English, but these basic concepts apply. Your programs will need to address both the syntax and the semantics of the languages they interpret. Treetop equips you with powerful tools for each of these two aspects of interpreter writing. You'll describe the syntax of your language with a *parsing expression grammar*. From this description, Treetop will generate a Ruby parser that transforms streams of characters written into your language into *abstract syntax trees* representing their structure. You'll then describe the semantics of your language in Ruby by defining methods on the syntax trees the parser generates.
Diffstat (limited to 'textproc/ruby-treetop')
-rw-r--r--textproc/ruby-treetop/DESCR18
-rw-r--r--textproc/ruby-treetop/Makefile16
-rw-r--r--textproc/ruby-treetop/PLIST116
-rw-r--r--textproc/ruby-treetop/distinfo5
4 files changed, 155 insertions, 0 deletions
diff --git a/textproc/ruby-treetop/DESCR b/textproc/ruby-treetop/DESCR
new file mode 100644
index 00000000000..eeee4e1a62d
--- /dev/null
+++ b/textproc/ruby-treetop/DESCR
@@ -0,0 +1,18 @@
+Languages can be split into two components, their *syntax* and their
+*semantics*. It's your understanding of English syntax that tells you
+the stream of words "Sleep furiously green ideas colorless" is not a
+valid sentence. Semantics is deeper. Even if we rearrange the above
+sentence to be "Colorless green ideas sleep furiously", which is
+syntactically correct, it remains nonsensical on a semantic
+level. With Treetop, you'll be dealing with languages that are much
+simpler than English, but these basic concepts apply. Your programs
+will need to address both the syntax and the semantics of the
+languages they interpret.
+
+Treetop equips you with powerful tools for each of these two aspects
+of interpreter writing. You'll describe the syntax of your language
+with a *parsing expression grammar*. From this description, Treetop
+will generate a Ruby parser that transforms streams of characters
+written into your language into *abstract syntax trees* representing
+their structure. You'll then describe the semantics of your language
+in Ruby by defining methods on the syntax trees the parser generates.
diff --git a/textproc/ruby-treetop/Makefile b/textproc/ruby-treetop/Makefile
new file mode 100644
index 00000000000..3ef3e0e71da
--- /dev/null
+++ b/textproc/ruby-treetop/Makefile
@@ -0,0 +1,16 @@
+# $NetBSD: Makefile,v 1.1.1.1 2010/09/12 01:53:43 taca Exp $
+
+DISTNAME= treetop-1.4.8
+CATEGORIES= textproc
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.rubyonrails.org/
+COMMENT= Ruby-based text parsing and interpretation DSL
+LICENSE= mit
+
+DEPENDS+= ${RUBY_PKGPREFIX}-polyglot>=0.3.1:../../devel/ruby-polyglot
+
+CONFLICTS= ruby[1-9][0-9]-treetop-[0-9]*
+
+.include "../../lang/ruby/gem.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/textproc/ruby-treetop/PLIST b/textproc/ruby-treetop/PLIST
new file mode 100644
index 00000000000..3c84fb1de5d
--- /dev/null
+++ b/textproc/ruby-treetop/PLIST
@@ -0,0 +1,116 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2010/09/12 01:53:43 taca Exp $
+bin/tt
+${GEM_HOME}/cache/${GEM_NAME}.gem
+${GEM_LIBDIR}/LICENSE
+${GEM_LIBDIR}/README.md
+${GEM_LIBDIR}/Rakefile
+${GEM_LIBDIR}/bin/tt
+${GEM_LIBDIR}/doc/contributing_and_planned_features.markdown
+${GEM_LIBDIR}/doc/grammar_composition.markdown
+${GEM_LIBDIR}/doc/index.markdown
+${GEM_LIBDIR}/doc/pitfalls_and_advanced_techniques.markdown
+${GEM_LIBDIR}/doc/semantic_interpretation.markdown
+${GEM_LIBDIR}/doc/site.rb
+${GEM_LIBDIR}/doc/sitegen.rb
+${GEM_LIBDIR}/doc/syntactic_recognition.markdown
+${GEM_LIBDIR}/doc/using_in_ruby.markdown
+${GEM_LIBDIR}/examples/lambda_calculus/arithmetic.rb
+${GEM_LIBDIR}/examples/lambda_calculus/arithmetic.treetop
+${GEM_LIBDIR}/examples/lambda_calculus/arithmetic_node_classes.rb
+${GEM_LIBDIR}/examples/lambda_calculus/arithmetic_test.rb
+${GEM_LIBDIR}/examples/lambda_calculus/lambda_calculus
+${GEM_LIBDIR}/examples/lambda_calculus/lambda_calculus.rb
+${GEM_LIBDIR}/examples/lambda_calculus/lambda_calculus.treetop
+${GEM_LIBDIR}/examples/lambda_calculus/lambda_calculus_node_classes.rb
+${GEM_LIBDIR}/examples/lambda_calculus/lambda_calculus_test.rb
+${GEM_LIBDIR}/examples/lambda_calculus/test_helper.rb
+${GEM_LIBDIR}/lib/treetop.rb
+${GEM_LIBDIR}/lib/treetop/bootstrap_gen_1_metagrammar.rb
+${GEM_LIBDIR}/lib/treetop/compiler.rb
+${GEM_LIBDIR}/lib/treetop/compiler/grammar_compiler.rb
+${GEM_LIBDIR}/lib/treetop/compiler/lexical_address_space.rb
+${GEM_LIBDIR}/lib/treetop/compiler/metagrammar.rb
+${GEM_LIBDIR}/lib/treetop/compiler/metagrammar.treetop
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/anything_symbol.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/atomic_expression.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/character_class.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/choice.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/declaration_sequence.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/grammar.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/inline_module.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/nonterminal.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/optional.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/parenthesized_expression.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/parsing_expression.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/parsing_rule.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/predicate.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/predicate_block.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/repetition.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/sequence.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/terminal.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/transient_prefix.rb
+${GEM_LIBDIR}/lib/treetop/compiler/node_classes/treetop_file.rb
+${GEM_LIBDIR}/lib/treetop/compiler/ruby_builder.rb
+${GEM_LIBDIR}/lib/treetop/polyglot.rb
+${GEM_LIBDIR}/lib/treetop/ruby_extensions.rb
+${GEM_LIBDIR}/lib/treetop/ruby_extensions/string.rb
+${GEM_LIBDIR}/lib/treetop/runtime.rb
+${GEM_LIBDIR}/lib/treetop/runtime/compiled_parser.rb
+${GEM_LIBDIR}/lib/treetop/runtime/interval_skip_list.rb
+${GEM_LIBDIR}/lib/treetop/runtime/interval_skip_list/head_node.rb
+${GEM_LIBDIR}/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb
+${GEM_LIBDIR}/lib/treetop/runtime/interval_skip_list/node.rb
+${GEM_LIBDIR}/lib/treetop/runtime/syntax_node.rb
+${GEM_LIBDIR}/lib/treetop/runtime/terminal_parse_failure.rb
+${GEM_LIBDIR}/lib/treetop/runtime/terminal_parse_failure_debug.rb
+${GEM_LIBDIR}/lib/treetop/runtime/terminal_syntax_node.rb
+${GEM_LIBDIR}/lib/treetop/version.rb
+${GEM_LIBDIR}/spec/compiler/and_predicate_spec.rb
+${GEM_LIBDIR}/spec/compiler/anything_symbol_spec.rb
+${GEM_LIBDIR}/spec/compiler/character_class_spec.rb
+${GEM_LIBDIR}/spec/compiler/choice_spec.rb
+${GEM_LIBDIR}/spec/compiler/circular_compilation_spec.rb
+${GEM_LIBDIR}/spec/compiler/failure_propagation_functional_spec.rb
+${GEM_LIBDIR}/spec/compiler/grammar_compiler_spec.rb
+${GEM_LIBDIR}/spec/compiler/grammar_spec.rb
+${GEM_LIBDIR}/spec/compiler/multibyte_chars_spec.rb
+${GEM_LIBDIR}/spec/compiler/nonterminal_symbol_spec.rb
+${GEM_LIBDIR}/spec/compiler/not_predicate_spec.rb
+${GEM_LIBDIR}/spec/compiler/occurrence_range_spec.rb
+${GEM_LIBDIR}/spec/compiler/one_or_more_spec.rb
+${GEM_LIBDIR}/spec/compiler/optional_spec.rb
+${GEM_LIBDIR}/spec/compiler/parenthesized_expression_spec.rb
+${GEM_LIBDIR}/spec/compiler/parsing_rule_spec.rb
+${GEM_LIBDIR}/spec/compiler/repeated_subrule_spec.rb
+${GEM_LIBDIR}/spec/compiler/semantic_predicate_spec.rb
+${GEM_LIBDIR}/spec/compiler/sequence_spec.rb
+${GEM_LIBDIR}/spec/compiler/terminal_spec.rb
+${GEM_LIBDIR}/spec/compiler/terminal_symbol_spec.rb
+${GEM_LIBDIR}/spec/compiler/test_grammar.treetop
+${GEM_LIBDIR}/spec/compiler/test_grammar.tt
+${GEM_LIBDIR}/spec/compiler/test_grammar_do.treetop
+${GEM_LIBDIR}/spec/compiler/tt_compiler_spec.rb
+${GEM_LIBDIR}/spec/compiler/zero_or_more_spec.rb
+${GEM_LIBDIR}/spec/composition/a.treetop
+${GEM_LIBDIR}/spec/composition/b.treetop
+${GEM_LIBDIR}/spec/composition/c.treetop
+${GEM_LIBDIR}/spec/composition/d.treetop
+${GEM_LIBDIR}/spec/composition/f.treetop
+${GEM_LIBDIR}/spec/composition/grammar_composition_spec.rb
+${GEM_LIBDIR}/spec/composition/subfolder/e_includes_c.treetop
+${GEM_LIBDIR}/spec/ruby_extensions/string_spec.rb
+${GEM_LIBDIR}/spec/runtime/compiled_parser_spec.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/delete_spec.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/expire_range_spec.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/insert_and_delete_node.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/insert_spec.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/interval_skip_list_spec.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/palindromic_fixture.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb
+${GEM_LIBDIR}/spec/runtime/interval_skip_list/spec_helper.rb
+${GEM_LIBDIR}/spec/runtime/syntax_node_spec.rb
+${GEM_LIBDIR}/spec/spec_helper.rb
+${GEM_LIBDIR}/treetop.gemspec
+${GEM_HOME}/specifications/${GEM_NAME}.gemspec
diff --git a/textproc/ruby-treetop/distinfo b/textproc/ruby-treetop/distinfo
new file mode 100644
index 00000000000..0f72c41f30f
--- /dev/null
+++ b/textproc/ruby-treetop/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.1.1.1 2010/09/12 01:53:43 taca Exp $
+
+SHA1 (treetop-1.4.8.gem) = b107eca5e06736db93a92536fde33bdbfdbc01a5
+RMD160 (treetop-1.4.8.gem) = 2760c0b944ab4676922a6c4ce09698ed2243cb17
+Size (treetop-1.4.8.gem) = 69632 bytes