Ben Kurtovic
f49ad1d281
Move parameterization functions to Node classes.
10 anni fa
Ben Kurtovic
8fbfd4c45c
Fix _parse_node; _parse_term quote handling; should probably refactor.
10 anni fa
Ben Kurtovic
08ce46faeb
Implement FTS for authors.
10 anni fa
Ben Kurtovic
d3f6f226f1
Finish exploding symbols.
10 anni fa
Ben Kurtovic
1111afc198
Explode dates and symbols.
10 anni fa
Ben Kurtovic
cd27777f83
Start exploding query trees.
10 anni fa
Ben Kurtovic
4fa8b9f444
Improve exception behavior; cleanup.
10 anni fa
Ben Kurtovic
7e876c835f
Add sort keys, fix a bug, add tests.
10 anni fa
Ben Kurtovic
30406483b9
Add unit tests, cleanup.
10 anni fa
Ben Kurtovic
49a858f60e
Merge branch 'feature/query_parser' into develop
10 anni fa
Ben Kurtovic
983f9a5d94
Implement basic tree balancing.
10 anni fa
Ben Kurtovic
c9b558d0b3
Finish query parsing, mostly.
10 anni fa
Ben Kurtovic
611a4ea9b2
More accurate model for boolean logic.
10 anni fa
Ben Kurtovic
d319bde7db
Begin work on a model for boolean logic parsing.
10 anni fa
Ben Kurtovic
bcab13f027
Finish _scan_query(), _split_query().
10 anni fa
Ben Kurtovic
da8759372a
Clean up SPLIT_QUERY_STRING.
10 anni fa
Ben Kurtovic
9c867b4dc3
code
10 anni fa
Ben Kurtovic
4100107e93
Change UnaryOp.NOT to work with BinaryOp.{OR,AND}
10 anni fa
Ben Kurtovic
525b49b4b2
Construct full trees; support inverting with not:<term>.
10 anni fa
Ben Kurtovic
461f0fe052
More complete and descriptive error messages.
10 anni fa
Ben Kurtovic
3fbe0c2559
Finish parsing for languages.
10 anni fa
Ben Kurtovic
064c448824
Symbol parsing works.
10 anni fa
Ben Kurtovic
ed6d0258b2
Fix a typo.
10 anni fa
Ben Kurtovic
21d1c49ead
Parsing dates should work.
10 anni fa
Ben Kurtovic
27ac48ea6c
More debug stuff.
10 anni fa
Ben Kurtovic
c9258f35e4
Literal parsing; term parsing hooks; unit test stubs.
10 anni fa
Ben Kurtovic
816d003dd4
More work on query parsing.
10 anni fa
Ben Kurtovic
7b54df6335
Merge branch 'feature/parser' into feature/query_parser
10 anni fa
Ben Kurtovic
b5c22d3b4a
More work.
10 anni fa
Ben Kurtovic
cf2b48e217
More work on query tree structure.
10 anni fa
Ben Kurtovic
674f227b22
Work more on query tree structure.
10 anni fa
Benjamin Attal
be7c871cc9
Add Rakefile task for running ruby parse server.
10 anni fa
Benjamin Attal
d127ac94ad
1) All unavailable line numbers and column numbers become -1.
2) Add correct dependency in pom.xml
10 anni fa
Benjamin Attal
044a448602
Change the format of the symbols to fit with earwig's issue.
10 anni fa
Benjamin Attal
4cc0626a71
Catch ClassNotFound error in parser __init__.py
10 anni fa
Benjamin Attal
d8048a74f0
Fix data length sent to client from ruby server. Pad with extra bytes.
10 anni fa
Benjamin Attal
b16bc40d3f
Consolidate parsers into __init__.py. Update python.py parser.
10 anni fa
Benjamin Attal
71dec1d269
Modify the python parser. Make data more descriptive by adding data
about function calls.
10 anni fa
Benjamin Attal
6e54eb5147
Java server tells python client how much data to read.
10 anni fa
Benjamin Attal
d8b234f462
Update docstrings and parser dispatching in parser init file.
10 anni fa
Benjamin Attal
7f1d9dd2d3
Add a working preliminary version of the ruby parser. Still need to add
a rule for running it in the Rakefile.
Add:
parser_server.rb:
- listens for connections from the python client process
parser.rb:
- creates a syntax tree from the input and returns relevant data
about it to the client
10 anni fa
Benjamin Attal
08f16074fb
Add template for ruby parser
10 anni fa
Benjamin Attal
c859416d2d
Change test file to support different parsers
10 anni fa
Benjamin Attal
2d7c1f4768
Fix array out of bounds exception coming from JavaParser.java
10 anni fa
Benjamin Attal
64ef9b04f2
Remove unecessary imports
10 anni fa
Benjamin Attal
f451e426e0
Refactor of the Java Parser
Mod:
Parser.java:
- Moved client reading and writing methods to the abstract
parser class, so that it is not specific to the JavaParser
JavaParser.java:
- Implemented NodeVisitor._cache. The cache is a stack of data
packets. When a node that we want information on is first
visited, a new packet of data is pushed onto the stack. The
child nodes of that original node than add information to the
packet, and when the original node is traversed again on the
way up the tree, the data is popped from the cache and added
to the symbols. This makes it possible to gather information
about various levels of the tree easily.
JavaSymbols.java:
- Refactor all the insertMethods to simply add a packet of data
to the appropriate HashMap.
Symbols.java
- Add a createCoord method which returns an arraylist
representing a point in a document.
10 anni fa
Benjamin Attal
2338887a52
Working version of java parser up and running.
10 anni fa
Benjamin Attal
19a5457f07
Change director structure for java
10 anni fa
Benjamin Attal
306875dae7
Make Parser implement runnable so parsing tasks can be started in separate threads. Make Parser constructor accept a client socket, add reading and writing methods for the socket to JavaParser. Parse main method sets up a server for accepting parse jobs from the crawler, and starts threads for each parse task.
10 anni fa
Benjamin Attal
77e2b6f524
Fix errors in java parser, mostly casting issues. In Parse.java, set up a tcp server for communication with python processes. Builds with maven
10 anni fa