rockit 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. data/BUGS +13 -0
  2. data/LICENSE +280 -0
  3. data/README +172 -0
  4. data/TODO +53 -0
  5. data/VERSION +1 -0
  6. data/lib/packrat/grammar.rb +537 -0
  7. data/lib/rockit/prettyprint/box.rb +60 -0
  8. data/lib/rockit/prettyprint/renderer.rb +41 -0
  9. data/lib/rockit/prettyprint/text_renderer.rb +47 -0
  10. data/lib/rockit/tree/base.rb +223 -0
  11. data/lib/rockit/tree/enter_leave_visitor.rb +12 -0
  12. data/lib/rockit/tree/graphviz.rb +69 -0
  13. data/lib/rockit/tree/visitor.rb +12 -0
  14. data/lib/util/array_alternatives.rb +20 -0
  15. data/lib/util/enter_leave_visitor.rb +69 -0
  16. data/lib/util/graphviz_dot.rb +182 -0
  17. data/lib/util/string_location.rb +42 -0
  18. data/lib/util/visitor.rb +49 -0
  19. data/lib/util/visitor_combinators.rb +14 -0
  20. data/rakefile +200 -0
  21. data/tests/acceptance/packrat/minibasic/atest_minibasic.rb +45 -0
  22. data/tests/acceptance/packrat/minibasic/minibasic.rb +137 -0
  23. data/tests/acceptance/rockit/dparser/atest_any_operator.rb +33 -0
  24. data/tests/acceptance/rockit/dparser/atest_arithmetic_grammar.rb +30 -0
  25. data/tests/acceptance/rockit/dparser/atest_list_operator.rb +57 -0
  26. data/tests/acceptance/rockit/dparser/atest_mult_operator.rb +60 -0
  27. data/tests/acceptance/rockit/dparser/atest_operator_grammar.rb +61 -0
  28. data/tests/acceptance/rockit/dparser/atest_plus_operator.rb +55 -0
  29. data/tests/acceptance/rockit/dparser/atest_samples_calculator.rb +14 -0
  30. data/tests/acceptance/rockit/dparser/atest_samples_minibasic.rb +20 -0
  31. data/tests/acceptance/rockit/dparser/atest_samples_multifunccalculator.rb +36 -0
  32. data/tests/acceptance/rockit/dparser/atest_simple_grammar.rb +34 -0
  33. data/tests/acceptance/rockit/dparser/atest_speculative_code_action.rb +128 -0
  34. data/tests/acceptance/rockit/dparser/calc_tests_common.rb +103 -0
  35. data/tests/unit/packrat/test_interpreting_parser.rb +296 -0
  36. data/tests/unit/parse/utest_ebnf_grammar.rb +50 -0
  37. data/tests/unit/parse/utest_expand_grammar.rb +23 -0
  38. data/tests/unit/parse/utest_grammar.rb +160 -0
  39. data/tests/unit/rockit/assembler/llvm/utest_instructions.rb +41 -0
  40. data/tests/unit/rockit/assembler/llvm/utest_module.rb +19 -0
  41. data/tests/unit/rockit/prettyprint/utest_box.rb +44 -0
  42. data/tests/unit/rockit/tree/utest_tree_base.rb +301 -0
  43. data/tests/unit/rockit/tree/utest_tree_enter_leave_visitor.rb +69 -0
  44. data/tests/unit/rockit/tree/utest_tree_visitor.rb +63 -0
  45. data/tests/unit/rockit/utest_grammar.rb +145 -0
  46. data/tests/unit/rockit/utest_grammar_symbol.rb +11 -0
  47. data/tests/unit/rockit/utest_maybe_operator.rb +12 -0
  48. data/tests/unit/rockit/utest_regexp_terminal.rb +45 -0
  49. data/tests/unit/rockit/utest_repetition_operators.rb +35 -0
  50. data/tests/unit/rockit/utest_rule.rb +23 -0
  51. data/tests/unit/rockit/utest_string_terminal.rb +40 -0
  52. data/tests/unit/util/utest_array_alternatives.rb +23 -0
  53. data/tests/unit/util/utest_enter_leave_visitor.rb +89 -0
  54. data/tests/unit/util/utest_string_location.rb +42 -0
  55. data/tests/unit/util/utest_visitor.rb +92 -0
  56. data/tests/unit/util/utest_visitor_combinators.rb +64 -0
  57. metadata +112 -0
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.11
3
+ specification_version: 1
4
+ name: rockit
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.7.1
7
+ date: 2006-03-23 00:00:00 +01:00
8
+ summary: Rockit is the Ruby Object-oriented Compiler construction toolKIT
9
+ require_paths:
10
+ - lib
11
+ email: Robert.Feldt@gmail.com
12
+ homepage: http://www.pronovomundo.com/projects/ruby/rockit
13
+ rubyforge_project:
14
+ description: Rockit is a potent parser generator and gives you AST's (Abstract Syntax Tree's) which you can pattern match and pretty-print. Rockit does not distinghuish between lexing and parsing so the generated parsers are scanner-/lexer-less. The vision is to extend Rockit with more advanced compiler-related abilities including back-ends and code generation. However, currently the focus is on parsing and AST-related tasks such as transformation.
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: false
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ authors:
29
+ - Robert Feldt
30
+ files:
31
+ - README
32
+ - TODO
33
+ - BUGS
34
+ - LICENSE
35
+ - VERSION
36
+ - rakefile
37
+ - lib/packrat/grammar.rb
38
+ - lib/rockit/prettyprint/text_renderer.rb
39
+ - lib/rockit/prettyprint/renderer.rb
40
+ - lib/rockit/prettyprint/box.rb
41
+ - lib/rockit/tree/visitor.rb
42
+ - lib/rockit/tree/base.rb
43
+ - lib/rockit/tree/graphviz.rb
44
+ - lib/rockit/tree/enter_leave_visitor.rb
45
+ - lib/util/array_alternatives.rb
46
+ - lib/util/string_location.rb
47
+ - lib/util/graphviz_dot.rb
48
+ - lib/util/visitor.rb
49
+ - lib/util/visitor_combinators.rb
50
+ - lib/util/enter_leave_visitor.rb
51
+ - tests/acceptance/rockit
52
+ - tests/acceptance/packrat
53
+ - tests/acceptance/rockit/dparser
54
+ - tests/acceptance/rockit/dparser/atest_speculative_code_action.rb
55
+ - tests/acceptance/rockit/dparser/atest_samples_calculator.rb
56
+ - tests/acceptance/rockit/dparser/atest_plus_operator.rb
57
+ - tests/acceptance/rockit/dparser/atest_arithmetic_grammar.rb
58
+ - tests/acceptance/rockit/dparser/atest_simple_grammar.rb
59
+ - tests/acceptance/rockit/dparser/atest_operator_grammar.rb
60
+ - tests/acceptance/rockit/dparser/atest_any_operator.rb
61
+ - tests/acceptance/rockit/dparser/atest_samples_minibasic.rb
62
+ - tests/acceptance/rockit/dparser/atest_list_operator.rb
63
+ - tests/acceptance/rockit/dparser/atest_samples_multifunccalculator.rb
64
+ - tests/acceptance/rockit/dparser/atest_mult_operator.rb
65
+ - tests/acceptance/rockit/dparser/calc_tests_common.rb
66
+ - tests/acceptance/packrat/minibasic
67
+ - tests/acceptance/packrat/minibasic/minibasic.rb
68
+ - tests/acceptance/packrat/minibasic/atest_minibasic.rb
69
+ - tests/unit/rockit
70
+ - tests/unit/util
71
+ - tests/unit/parse
72
+ - tests/unit/packrat
73
+ - tests/unit/rockit/tree
74
+ - tests/unit/rockit/prettyprint
75
+ - tests/unit/rockit/utest_grammar_symbol.rb
76
+ - tests/unit/rockit/utest_string_terminal.rb
77
+ - tests/unit/rockit/utest_repetition_operators.rb
78
+ - tests/unit/rockit/utest_regexp_terminal.rb
79
+ - tests/unit/rockit/utest_grammar.rb
80
+ - tests/unit/rockit/utest_rule.rb
81
+ - tests/unit/rockit/utest_maybe_operator.rb
82
+ - tests/unit/rockit/assembler
83
+ - tests/unit/rockit/tree/utest_tree_visitor.rb
84
+ - tests/unit/rockit/tree/utest_tree_base.rb
85
+ - tests/unit/rockit/tree/utest_tree_enter_leave_visitor.rb
86
+ - tests/unit/rockit/prettyprint/utest_box.rb
87
+ - tests/unit/rockit/assembler/llvm
88
+ - tests/unit/rockit/assembler/llvm/utest_instructions.rb
89
+ - tests/unit/rockit/assembler/llvm/utest_module.rb
90
+ - tests/unit/util/utest_array_alternatives.rb
91
+ - tests/unit/util/utest_string_location.rb
92
+ - tests/unit/util/utest_visitor.rb
93
+ - tests/unit/util/utest_visitor_combinators.rb
94
+ - tests/unit/util/utest_enter_leave_visitor.rb
95
+ - tests/unit/parse/utest_grammar.rb
96
+ - tests/unit/parse/utest_expand_grammar.rb
97
+ - tests/unit/parse/utest_ebnf_grammar.rb
98
+ - tests/unit/packrat/test_interpreting_parser.rb
99
+ test_files: []
100
+
101
+ rdoc_options: []
102
+
103
+ extra_rdoc_files: []
104
+
105
+ executables: []
106
+
107
+ extensions: []
108
+
109
+ requirements:
110
+ - none
111
+ dependencies: []
112
+