aboutsummaryrefslogtreecommitdiff
path: root/core/KicadNetLexer.g4
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2016-08-01 08:20:23 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2016-08-01 08:20:23 +0200
commitbfeeac6e4889d1e9a1083b3c7efc59652981b168 (patch)
treea937d844a59da7c509685dcd1ddd9933772e526f /core/KicadNetLexer.g4
parentc307e9f234e544386fa3ae53083c7510668e1716 (diff)
downloadkicad-utils-bfeeac6e4889d1e9a1083b3c7efc59652981b168.tar.gz
kicad-utils-bfeeac6e4889d1e9a1083b3c7efc59652981b168.tar.bz2
kicad-utils-bfeeac6e4889d1e9a1083b3c7efc59652981b168.tar.xz
kicad-utils-bfeeac6e4889d1e9a1083b3c7efc59652981b168.zip
o Moving the generation logic to Python, embedding a Python interpreter with the help of pybind11.
o Adding install configuration to CMake to make it easier to reuse the project later on. o Splitting out the examples into its own project to make it easier to test the whole installation setup and python/template loading. o Trying to reorganize the code a bit, not very much better yet.
Diffstat (limited to 'core/KicadNetLexer.g4')
-rw-r--r--core/KicadNetLexer.g438
1 files changed, 38 insertions, 0 deletions
diff --git a/core/KicadNetLexer.g4 b/core/KicadNetLexer.g4
new file mode 100644
index 0000000..e10f7e7
--- /dev/null
+++ b/core/KicadNetLexer.g4
@@ -0,0 +1,38 @@
+lexer grammar KicadNetLexer;
+
+LPAREN: '(';
+RPAREN: ')';
+
+QUOTE: '"';
+
+CODE: 'code';
+COMP: 'comp';
+FIELD: 'field';
+LIBSOURCE: 'libsource';
+LIBPART: 'libpart';
+LIB: 'lib';
+NAME: 'name';
+NET: 'net';
+NODE: 'node';
+NUM: 'num';
+PART: 'part';
+PIN: 'pin';
+REF: 'ref';
+TYPE: 'type';
+VALUE: 'value';
+
+STRING: '"' ~["]* '"';
+
+INTEGER: [0-9]+;
+
+ID
+ : [/+~\_\-\.\*\?/a-zA-Z0-9]+
+ ;
+
+BlockComment
+ : '/*' .*? '*/' -> skip
+ ;
+
+WS
+ : [ \t\r\n]+ -> skip
+ ;