Sha256: 5ea404912662b63a528483fcba808f1a99e99b1446d75d45caccfc137e2744dd

Contents?: true

Size: 703 Bytes

Versions: 14

Compression:

Stored size: 703 Bytes

Contents

require 'finitio/syntax/lexer'
require 'finitio/syntax/literals'
require 'finitio/syntax/types'
require 'finitio/syntax/expressions'

grammar Finitio::Syntax::Parser
  include Finitio::Syntax::Lexer
  include Finitio::Syntax::Literals
  include Finitio::Syntax::Expressions
  include Finitio::Syntax::Types

  rule system
    (spacing imports spacing definitions spacing main_type? spacing eof)
    <Finitio::Syntax::System>
  end

  rule imports
    (import (spacing import)*)?
    <Finitio::Syntax::Imports>
  end

  rule import
    ('@import' spaces import_url)
    <Finitio::Syntax::Import>
  end

  rule definitions
    (type_def (spacing type_def)*)?
    <Finitio::Syntax::Definitions>
  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
finitio-0.12.0 lib/finitio/syntax/finitio.citrus
finitio-0.11.4 lib/finitio/syntax/finitio.citrus
finitio-0.11.3 lib/finitio/syntax/finitio.citrus
finitio-0.11.2 lib/finitio/syntax/finitio.citrus
finitio-0.11.1 lib/finitio/syntax/finitio.citrus
finitio-0.10.0 lib/finitio/syntax/finitio.citrus
finitio-0.9.1 lib/finitio/syntax/finitio.citrus
finitio-0.9.0 lib/finitio/syntax/finitio.citrus
finitio-0.8.0 lib/finitio/syntax/finitio.citrus
finitio-0.7.0 lib/finitio/syntax/finitio.citrus
finitio-0.7.0.pre.rc4 lib/finitio/syntax/finitio.citrus
finitio-0.7.0.pre.rc3 lib/finitio/syntax/finitio.citrus
finitio-0.7.0.pre.rc2 lib/finitio/syntax/finitio.citrus
finitio-0.7.0.pre.rc1 lib/finitio/syntax/finitio.citrus