Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
F
Fortiss-BTL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Anders Nilsson
Fortiss-BTL
Commits
e01d1660
Commit
e01d1660
authored
9 years ago
by
Anders Nilsson
Browse files
Options
Downloads
Patches
Plain Diff
More changes
parent
e85de34a
No related branches found
No related tags found
No related merge requests found
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
examples/test.btl
+94
-0
94 additions, 0 deletions
examples/test.btl
spec/btl.ast
+10
-1
10 additions, 1 deletion
spec/btl.ast
spec/btl.flex
+14
-1
14 additions, 1 deletion
spec/btl.flex
spec/btl.parser
+11
-1
11 additions, 1 deletion
spec/btl.parser
with
129 additions
and
3 deletions
examples/test.btl
0 → 100644
+
94
−
0
View file @
e01d1660
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"
This diff is collapsed.
Click to expand it.
spec/btl.ast
+
10
−
1
View file @
e01d1660
...
...
@@ -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;
This diff is collapsed.
Click to expand it.
spec/btl.flex
+
14
−
1
View file @
e01d1660
...
...
@@ -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,
...
...
This diff is collapsed.
Click to expand it.
spec/btl.parser
+
11
−
1
View file @
e01d1660
...
...
@@ -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); :}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment