Skip to content
Snippets Groups Projects
Select Git revision
  • af0cb1b576aab1401cd3bf47c3b8f6258fa2a00d
  • master default protected
  • julia1
  • v0.2.0
  • v0.1.0
5 results

interface_documentation.jl

Blame
  • Forked from processes / LabProcesses.jl
    Source project has a limited visibility.
    LabComm.ast 1.14 KiB
    Program ::= Decl*;
    
    abstract Decl ::= Type <Name:String> /Signature/;
    
    TypeDecl   : Decl;
    SampleDecl : Decl;
    
    //Signatures are in the abstract grammar, so that
    //they can be extended and refined by aspects.
    
    Signature                 ::= SignatureList FlatSignatureList:SignatureList; 
    SignatureList             ::= SignatureLine*;
    abstract SignatureLine 	  ::= <Indent:int> <Comment:String>; 
    abstract DataSignatureLine : SignatureLine;
    ByteArraySignatureLine     : DataSignatureLine ::= <Data:byte[]>;
    IntSignatureLine           : DataSignatureLine ::= <Data:int>;
    StringSignatureLine        : DataSignatureLine ::= <Data:String>;
    TypeRefSignatureLine       : SignatureLine     ::= Decl;
    
    Field ::= Type <Name:String>;
    
    abstract Type;
    VoidType           : Type;
    //SampleRefType      : Type;
    PrimType           : Type ::= <Name:String> <Token:int>;
    UserType           : Type ::= <Name:String>;
    StructType         : Type ::= Field*;
    ParseArrayType     : Type ::= Type Dim*;
    abstract ArrayType : Type ::= Type Exp*;
    VariableArrayType  : ArrayType;
    FixedArrayType     : ArrayType;
    
    Dim ::= Exp*;
    
    abstract Exp;
    IntegerLiteral : Exp ::= <Value:String>;
    VariableSize   : Exp;