Module: Finitio

Extended by:
Finitio
Included in:
Finitio
Defined in:
lib/finitio.rb,
lib/finitio/type.rb,
lib/finitio/errors.rb,
lib/finitio/syntax.rb,
lib/finitio/system.rb,
lib/finitio/version.rb,
lib/finitio/syntax/expr.rb,
lib/finitio/syntax/node.rb,
lib/finitio/type/ad_type.rb,
lib/finitio/type/any_type.rb,
lib/finitio/type/seq_type.rb,
lib/finitio/type/set_type.rb,
lib/finitio/type/sub_type.rb,
lib/finitio/syntax/literal.rb,
lib/finitio/support/heading.rb,
lib/finitio/type/alias_type.rb,
lib/finitio/type/proxy_type.rb,
lib/finitio/type/tuple_type.rb,
lib/finitio/type/union_type.rb,
lib/finitio/support/contract.rb,
lib/finitio/support/metadata.rb,
lib/finitio/type/struct_type.rb,
lib/finitio/support/attribute.rb,
lib/finitio/type/builtin_type.rb,
lib/finitio/support/constraint.rb,
lib/finitio/syntax/type/system.rb,
lib/finitio/type/relation_type.rb,
lib/finitio/support/compilation.rb,
lib/finitio/syntax/expr/fn_call.rb,
lib/finitio/syntax/expr/literal.rb,
lib/finitio/syntax/expr/oo_call.rb,
lib/finitio/syntax/literal/real.rb,
lib/finitio/syntax/type/ad_type.rb,
lib/finitio/syntax/type/heading.rb,
lib/finitio/type/rel_based_type.rb,
lib/finitio/support/dress_helper.rb,
lib/finitio/support/type_factory.rb,
lib/finitio/syntax/expr/arith_op.rb,
lib/finitio/syntax/type/any_type.rb,
lib/finitio/syntax/type/contract.rb,
lib/finitio/syntax/type/metadata.rb,
lib/finitio/syntax/type/seq_type.rb,
lib/finitio/syntax/type/set_type.rb,
lib/finitio/syntax/type/sub_type.rb,
lib/finitio/syntax/type/type_def.rb,
lib/finitio/syntax/type/type_ref.rb,
lib/finitio/type/collection_type.rb,
lib/finitio/type/hash_based_type.rb,
lib/finitio/syntax/expr/logic_not.rb,
lib/finitio/syntax/literal/string.rb,
lib/finitio/syntax/type/attribute.rb,
lib/finitio/syntax/type/main_type.rb,
lib/finitio/type/multi_tuple_type.rb,
lib/finitio/syntax/expr/comparison.rb,
lib/finitio/syntax/expr/identifier.rb,
lib/finitio/syntax/literal/boolean.rb,
lib/finitio/syntax/literal/integer.rb,
lib/finitio/syntax/type/expression.rb,
lib/finitio/syntax/type/tuple_type.rb,
lib/finitio/syntax/type/union_type.rb,
lib/finitio/syntax/type/constraints.rb,
lib/finitio/syntax/type/definitions.rb,
lib/finitio/syntax/type/inline_pair.rb,
lib/finitio/syntax/type/lambda_expr.rb,
lib/finitio/syntax/type/struct_type.rb,
lib/finitio/type/heading_based_type.rb,
lib/finitio/syntax/expr/logic_dyadic.rb,
lib/finitio/syntax/type/builtin_type.rb,
lib/finitio/type/multi_relation_type.rb,
lib/finitio/syntax/expr/parenthesized.rb,
lib/finitio/syntax/type/external_pair.rb,
lib/finitio/syntax/type/metadata_attr.rb,
lib/finitio/syntax/type/relation_type.rb,
lib/finitio/syntax/expr/unary_minus_op.rb,
lib/finitio/syntax/type/constraint_def.rb,
lib/finitio/syntax/type/named_constraint.rb,
lib/finitio/syntax/type/unnamed_constraint.rb

Defined Under Namespace

Modules: CollectionType, HashBasedType, HeadingBasedType, Metadata, RelBasedType, Syntax, Version Classes: AdType, AliasType, AnyType, Attribute, BuiltinType, Compilation, Constraint, Contract, DressHelper, Error, Heading, MultiRelationType, MultiTupleType, ProxyType, RelationType, SeqType, SetType, StructType, SubType, System, TupleType, Type, TypeError, TypeFactory, UnionType

Constant Summary collapse

IDENTITY =
->(object){ object }
DEFAULT_SYSTEM =
system(File.read(
  File.expand_path('../finitio/Finitio/default.fio', __FILE__)
))
VERSION =
Version.to_s

Instance Method Summary collapse

Instance Method Details

#ast(source) ⇒ Object



24
25
26
27
# File 'lib/finitio.rb', line 24

def ast(source)
  require "finitio/syntax"
  Syntax.ast(source)
end

#parse(source) ⇒ Object



14
15
16
17
# File 'lib/finitio.rb', line 14

def parse(source)
  require "finitio/syntax"
  Syntax.parse(source)
end

#system(source) ⇒ Object



19
20
21
22
# File 'lib/finitio.rb', line 19

def system(source)
  require "finitio/syntax"
  Syntax.compile(source)
end