Skip to content
Snippets Groups Projects
Commit e01d1660 authored by Anders Nilsson's avatar Anders Nilsson
Browse files

More changes

parent e85de34a
No related branches found
No related tags found
No related merge requests found
VERSION: "BTL V10.5"
BUILD: "10500"
EDITION: PREFABRICATION
[GENERAL]
PROJECTNUMBER: " "
PROJECTNAME: " "
PROJECTPART: " "
LISTNAME: "simple_wall"
CUSTOMER: " "
ARCHITECT: " "
EDITOR: " "
DELIVERYDATE: " "
EXPORTDATE: "2015-07-31"
EXPORTTIME: "11:44:51"
EXPORTRELEASE: "CADWORK-3D_21.0 Build: 803"
LANGUAGE: "fr"
RANGE: STANDARD
SCALEUNIT: 2
COMPUTERNAME: "VUISTERNENS"
USER: "LResch"
SOURCEFILE: "C:\Users\lresch\Desktop\SME_robotics\simple_wall.3d"
EXPORTFILE: "C:\Users\lresch\Desktop\SME_robotics\simple_wall.btl"
RECESS: AUTOMATIC
[PART]
SINGLEMEMBERNUMBER: 2
ASSEMBLYNUMBER: " "
ORDERNUMBER: 0
DESIGNATION: "Semelle"
ANNOTATION: " "
STOREY: " "
GROUP: "SME_Robotics"
ELEMENTNUMBER: "SME_Robotics"
PACKAGE: " "
MATERIAL: "CF-Rab"
TIMBERGRADE: " "
QUALITYGRADE: " "
COUNT: 2
LENGTH: 00125000
HEIGHT: 00012000
WIDTH: 00006000
COLOUR: R:255 G:255 B: 0 A:100
UID: 2320435
TRANSFORMATION: OX:00000000 OY:00000000 OZ:00000000 XX:01000000 XY:00000000 XZ:00000000 YX:00000000 YY:01000000 YZ:00000000
UID: 2320436
TRANSFORMATION: OX:00000000 OY:00000000 OZ:00244000 XX:01000000 XY:00000000 XZ:00000000 YX:00000000 YY:01000000 YZ:00000000
[COMPOSITE]
TYPE: LAYER
SINGLEMEMBERNUMBER: 3000003
ASSEMBLYNUMBER: " "
ORDERNUMBER: 0
DESIGNATION: "Couche porteuse"
ANNOTATION: " "
STOREY: " "
GROUP: "SME_Robotics"
ELEMENTNUMBER: "SME_Robotics"
PACKAGE: " "
MATERIAL: " "
TIMBERGRADE: " "
QUALITYGRADE: " "
COUNT: 1
LENGTH: 00125000
HEIGHT: 00012000
WIDTH: 00250000
COLOUR: R:255 G:255 B:255 A:100
UID: 2323636
TRANSFORMATION: OX:00000000 OY:00000000 OZ:00000000 XX:01000000 XY:00000000 XZ:00000000 YX:00000000 YY:01000000 YZ:00000000
PROCESSKEY: 0-300-0 2: Semelle
REFERENCEPLANE: OX:00000000 OY:00000000 OZ:00000000 XX:00000100 XY:00000000 XZ:00000000 YX:00000000 YY:00000100 YZ:00000000
REFERENCEPLANE: OX:00000000 OY:00000000 OZ:00000000 XX:00000100 XY:00000000 XZ:00000000 YX:00000000 YY:00000100 YZ:00000000
PROCESSPARAMETERS: UID: 2320435
PROCESSINGQUALITY: AUTOMATIC
COMMENT: "2: Semelle"
PROCESSKEY: 0-300-0 2: Filiere
REFERENCEPLANE: OX:00000000 OY:00000000 OZ:00244000 XX:00000100 XY:00000000 XZ:00000000 YX:00000000 YY:00000100 YZ:00000000
PROCESSPARAMETERS: UID: 2320436
PROCESSINGQUALITY: AUTOMATIC
COMMENT: "2: Filiere"
PROCESSKEY: 0-300-0 3: Montant
REFERENCEPLANE: OX:00006000 OY:00000000 OZ:00006000 XX:00000000 XY:00000000 XZ:00000100 YX:00000000 YY:00000100 YZ:00000000
PROCESSPARAMETERS: UID: 2320437
PROCESSINGQUALITY: AUTOMATIC
COMMENT: "3: Montant"
PROCESSKEY: 0-300-0 3: Montant
REFERENCEPLANE: OX:00125000 OY:00000000 OZ:00006000 XX:00000000 XY:00000000 XZ:00000100 YX:00000000 YY:00000100 YZ:00000000
PROCESSPARAMETERS: UID: 2320441
PROCESSINGQUALITY: AUTOMATIC
COMMENT: "3: Montant"
PROCESSKEY: 0-300-0 3: Montant
REFERENCEPLANE: OX:00065500 OY:00000000 OZ:00006000 XX:00000000 XY:00000000 XZ:00000100 YX:00000000 YY:00000100 YZ:00000000
PROCESSPARAMETERS: UID: 2320442
PROCESSINGQUALITY: AUTOMATIC
COMMENT: "3: Montant"
......@@ -7,6 +7,8 @@ BTL ::= Declaration*;
abstract Value ::= <val:String>;
Identifier : Value;
IntLiteral : Value;
SpecialValue : Value;
SpecialLiteral : SpecialValue;
StringValue : Value;
abstract Declaration ::= Value;
abstract ColourSpec : Declaration;
......@@ -32,6 +34,7 @@ AssemblyNumber : Declaration;
Architect : Declaration ;
Build : Declaration ;
Colour : Declaration ::= Declaration*;
Comment : Declaration;
ComputerName : Declaration;
Count : Declaration;
Customer : Declaration ;
......@@ -52,16 +55,21 @@ ListName : Declaration ;
Material : Declaration;
OrderNumber : Declaration;
BTLPackage : Declaration;
ProcessingQuality : Declaration;
ProcessKey : Declaration ;
ProcessParameters : Declaration ;
ProjectNumber : Declaration ;
ProjectName : Declaration ;
ProjectPart : Declaration ;
QualityGrade : Declaration;
ReferencePlane : Declaration ::= Declaration*;
ScaleUnit : Declaration;
SingleMemberNumber : Declaration;
SourceFile : Declaration;
Storey : Declaration;
TimberGrade : Declaration;
Transformation : Declaration ::= Declaration*;
Type : Declaration;
Range : Declaration;
Recess : Declaration;
UID : Declaration;
......@@ -69,5 +77,6 @@ User : Declaration;
Version : Declaration ;
Width : Declaration;
abstract GroupDecl : Declaration ::= Declaration*;
CompositeGroup : GroupDecl;
GeneralGroup : GroupDecl;
PartGroup : GroupDecl;
......@@ -42,8 +42,10 @@ WhiteSpace = [ ] | \t | \f | \n | \r | \r\n
Identifier = [:jletter:][:jletterdigit:]*
IntLiteral = "-"?[0-9][0-9]*
%state YYINITIAL
%state STRING
%state SPECIAL
%%
......@@ -68,6 +70,7 @@ Identifier = [:jletter:][:jletterdigit:]*
"ASSEMBLYNUMBER" { return symbol(Terminals.ASSEMBLYNUMBER); }
"BUILD" { return symbol(Terminals.BUILD); }
"COLOUR" { return symbol(Terminals.COLOUR); }
"COMMENT" { return symbol(Terminals.COMMENT); }
"COMPOSITE" { return symbol(Terminals.COMPOSITE); }
"COMPUTERNAME" { return symbol(Terminals.COMPUTERNAME); }
......@@ -92,16 +95,21 @@ Identifier = [:jletter:][:jletterdigit:]*
"ORDERNUMBER" { return symbol(Terminals.ORDERNUMBER); }
"PACKAGE" { return symbol(Terminals.PACKAGE); }
"PART" { return symbol(Terminals.PART); }
"PROCESSINGQUALITY" { return symbol(Terminals.PROCESSINGQUALITY); }
"PROCESSKEY" { yybegin(SPECIAL);string.setLength(0);return symbol(Terminals.PROCESSKEY); }
"PROCESSPARAMETERS" { yybegin(SPECIAL);string.setLength(0);return symbol(Terminals.PROCESSPARAMETERS); }
"PROJECTNUMBER" { return symbol(Terminals.PROJECTNUMBER); }
"PROJECTNAME" { return symbol(Terminals.PROJECTNAME); }
"PROJECTPART" { return symbol(Terminals.PROJECTPART); }
"QUALITYGRADE" { return symbol(Terminals.QUALITYGRADE); }
"REFERENCEPLANE" { return symbol(Terminals.REFERENCEPLANE); }
"SCALEUNIT" { return symbol(Terminals.SCALEUNIT); }
"SINGLEMEMBERNUMBER" { return symbol(Terminals.SINGLEMEMBERNUMBER); }
"SOURCEFILE" { return symbol(Terminals.SOURCEFILE); }
"STOREY" { return symbol(Terminals.STOREY); }
"TIMBERGRADE" { return symbol(Terminals.TIMBERGRADE); }
"TRANSFORMATION" { return symbol(Terminals.TRANSFORMATION); }
"TYPE" { return symbol(Terminals.TYPE); }
"RANGE" { return symbol(Terminals.RANGE); }
"RECESS" { return symbol(Terminals.RECESS); }
"UID" { return symbol(Terminals.UID); }
......@@ -123,6 +131,11 @@ Identifier = [:jletter:][:jletterdigit:]*
<<EOF>> { return symbol(Terminals.EOF); }
}
<SPECIAL> {
[\n|\r|\r\n] { yybegin(YYINITIAL); return symbol(Terminals.SPECIAL_LITERAL, string.toString()); }
[^\n\r]+ { string.append( yytext() ); }
}
<STRING> {
\" { yybegin(YYINITIAL);
return symbol(Terminals.STRING_LITERAL,
......
......@@ -30,6 +30,7 @@ Declaration declaration =
| ASSEMBLYNUMBER COLON value.v {: return new AssemblyNumber(v); :}
| BUILD COLON value.v {: return new Build(v); :}
| COLOUR COLON colourSpec_list.v {: return new Colour(new Identifier(COLOUR),v); :}
| COMMENT COLON value.v {: return new Comment(v); :}
| COMPUTERNAME COLON value.v {: return new ComputerName(v); :}
| COUNT COLON value.v {: return new Count(v); :}
| CUSTOMER COLON value.v {: return new Customer(v); :}
......@@ -50,21 +51,27 @@ Declaration declaration =
| MATERIAL COLON value.v {: return new Material(v); :}
| ORDERNUMBER COLON value.v {: return new OrderNumber(v); :}
| PACKAGE COLON value.v {: return new BTLPackage(v); :}
| PROCESSINGQUALITY COLON value.v {: return new ProcessingQuality(v); :}
| PROCESSKEY special_value.v {: return new ProcessKey(v); :}
| PROCESSPARAMETERS special_value.v {: return new ProcessParameters(v); :}
| PROJECTNUMBER COLON value.v {: return new ProjectNumber(v); :}
| PROJECTNAME COLON value.v {: return new ProjectName(v); :}
| PROJECTPART COLON value.v {: return new ProjectPart(v); :}
| QUALITYGRADE COLON value.v {: return new QualityGrade(v); :}
| REFERENCEPLANE COLON coord_list.v {: return new ReferencePlane(new Identifier(REFERENCEPLANE),v); :}
| SCALEUNIT COLON value.v {: return new ScaleUnit(v); :}
| SINGLEMEMBERNUMBER COLON value.v {: return new SingleMemberNumber(v); :}
| SOURCEFILE COLON value.v {: return new SourceFile(v); :}
| STOREY COLON value.v {: return new Storey(v); :}
| TIMBERGRADE COLON value.v {: return new TimberGrade(v); :}
| TRANSFORMATION COLON coord_list.v {: return new Transformation(new Identifier(TRANSFORMATION),v); :}
| TYPE COLON value.v {: return new Type(v); :}
| RANGE COLON value.v {: return new Range(v); :}
| RECESS COLON value.v {: return new Recess(v); :}
| UID COLON value.v {: return new UID(v); :}
| USER COLON value.v {: return new User(v); :}
| WIDTH COLON value.v {: return new Width(v); :}
| LBRACKET COMPOSITE.g RBRACKET declaration_list {: return new CompositeGroup(new Identifier(g),declaration_list); :}
| LBRACKET GENERAL.g RBRACKET declaration_list {: return new GeneralGroup(new Identifier(g),declaration_list); :}
| LBRACKET PART.p RBRACKET declaration_list {: return new PartGroup(new Identifier(p),declaration_list); :}
// | TRANS IDENTIFIER.ID1 COLON IDENTIFIER.ID2 ARROW IDENTIFIER.ID3 SEMI {: return new Transition(ID1, ID2, ID3); :}
......@@ -74,6 +81,9 @@ Value value =
| IDENTIFIER.i {: return new Identifier(i); :}
| INT_LITERAL.i {: return new IntLiteral(i); :}
;
SpecialValue special_value =
SPECIAL_LITERAL.i {: return new SpecialLiteral(i); :}
;
List colourSpec_list =
colourSpec.c {: return new List().add(c); :}
| colourSpec_list colourSpec {: return colourSpec_list.add(colourSpec); :}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment