rename test vars to input and output

This commit is contained in:
Torsten Ruger
2015-08-28 23:37:25 +03:00
parent 61b9dd95e4
commit 95d92b51a7
40 changed files with 514 additions and 534 deletions

View File

@ -1,7 +1,7 @@
module Parser
# Basic types are numbers and strings
module BasicTypes
include Parslet
include output
# space really is just space. ruby is newline sensitive, so there is more whitespace footwork
# rule of thumb is that anything eats space behind it, but only space, no newlines
rule(:space) { (str('\t') | str(' ')).repeat(1) }

View File

@ -1,6 +1,6 @@
module Parser
module CallSite
include Parslet
include output
rule(:argument_list) {
left_parenthesis >>

View File

@ -1,7 +1,7 @@
module Parser
# Compound types are Arrays and Hashes
module CompoundTypes
include Parslet
include output
rule(:array_constant) do
left_bracket >>

View File

@ -1,6 +1,6 @@
module Parser
module Control
include Parslet
include output
rule(:conditional) do
keyword_if >>
(( (value_expression|operator_expression).as(:conditional) ) |

View File

@ -1,6 +1,6 @@
module Parser
module Expression
include Parslet
include output
rule(:value_expression) { call_site | basic_type }

View File

@ -1,6 +1,6 @@
module Parser
module FunctionDefinition
include Parslet
include output
rule(:function_definition) {
keyword_def >> ((module_name|instance_variable|name).as(:receiver) >> str(".")).maybe >> #possibly qualified

View File

@ -1,6 +1,6 @@
module Parser
module Keywords
include Parslet
include output
rule(:keyword_begin) { str('begin').as(:begin) >> space?}
rule(:keyword_class) { str('class') >> space? }

View File

@ -1,6 +1,6 @@
module Parser
module ModuleDef
include Parslet
include output
rule(:module_definition) do
keyword_module >> module_name >> eol >>
( (keyword_end.absent? >> root_body).repeat()).as(:module_expressions) >> keyword_end >> newline

View File

@ -1,6 +1,6 @@
module Parser
module Operators
include Parslet
include output
rule(:exponent) { str('**') >> space?}
rule(:multiply) { match['*/%'] >> space? }
rule(:plus) { match['+-'] >> space? }

View File

@ -19,7 +19,7 @@ module Parser
Citrus.require "parser/basic"
Citrus.require "parser/keywords"
# class Salama < Parslet::Parser
# class Salama < output::Parser
# include BasicTypes
# include CompoundTypes
# include Tokens

View File

@ -3,7 +3,7 @@ module Parser
# braces, comman, point, questionmark , quotes, that kind of thing
# operator symbols are separate in Opreators
module Tokens
include Parslet
include output
rule(:left_parenthesis) { str('(') >> space? }
rule(:right_parenthesis) { str(')') >> space? }
rule(:left_brace) { str('{') >> space? }

View File

@ -2,7 +2,7 @@ require 'parslet'
require 'ast/expression'
module Parser
class Transform < Parslet::Transform
class Transform < output::Transform
rule(:string => sequence(:chars)) { Ast::StringExpression.new chars.join }
rule(:esc => simple(:esc)) { '\\' + esc }
rule(char: simple(:char)) { char }