Commit Graph

  • b6d8db0a19 Use __getitem__ rather than __rshift__ for Row and Opt JC Delay 2015-06-11 15:45:09 -04:00
  • cae536c047 LanguageKit: remove another ASTNode specific processing Pierre-Marie de Rodat 2015-06-10 11:35:56 +02:00
  • 566c5ba7cb Rename compiler -> langkit Raphael Amiard 2015-06-10 17:37:38 +02:00
  • 0e7a774632 Adapt python code for flake8 Raphael Amiard 2015-06-10 17:31:40 +02:00
  • f01c1454aa Rename liblang_support -> langkit_support Raphael Amiard 2015-06-10 17:09:13 +02:00
  • 04a04f61e0 LanguageKit: Consider root ASTNode as any other type Raphael Amiard 2015-06-10 01:39:06 +02:00
  • ceb2be7a97 Revert the python refcounting "fix" .. Raphael Amiard 2015-06-08 17:14:41 +02:00
  • cc51212cd9 Compiler.names: Cleanup, correct and document code Raphael Amiard 2015-06-02 00:43:49 +02:00
  • 643f6e6cfa Use utils.printcol instead of formatting color codes manually Pierre-Marie de Rodat 2015-06-02 09:56:27 +02:00
  • 8263a19a24 Compiler common: Clean and document code Raphael Amiard 2015-06-02 00:20:29 +02:00
  • 952c683c4e Compiler: cleanup utils.py Raphael Amiard 2015-06-01 23:55:59 +02:00
  • 30eea0934d Rename NoToken -> TermToken Raphael Amiard 2015-06-01 16:47:33 +02:00
  • 723a47bdde Tok_Code: When explicitly matching last token, don't increment pos Raphael Amiard 2015-06-01 16:45:22 +02:00
  • 66c4f9b64a Reintroduce single file parsing mode in parse .. Raphael Amiard 2015-06-01 11:03:11 +02:00
  • 7cea7e0991 ASTNode.Inc_Ref/Dec_Ref: Always check for null ... Raphael Amiard 2015-05-31 21:24:00 +02:00
  • 0ee3d375a9 Simplify and document transform parser's code Raphael Amiard 2015-05-31 21:16:37 +02:00
  • a0ca9f0dc3 Rework row code Raphael Amiard 2015-05-31 17:03:40 +02:00
  • 250e494e1e Simplify list_code + add doc Raphael Amiard 2015-05-31 16:08:31 +02:00
  • 354cb8dcb5 Set Externally_Built to true in installed project files Pierre-Marie de Rodat 2015-06-01 11:57:53 +02:00
  • 4f4204769a Make it possible to build and test with static libraries Pierre-Marie de Rodat 2015-05-29 00:14:37 +02:00
  • 2f5d2c1f2c Add "reparse" methods to analysis units Pierre-Marie de Rodat 2015-05-28 23:36:20 +02:00
  • db5757926a Fix destructor for Python ASTNode extensions Pierre-Marie de Rodat 2015-05-28 16:24:49 +02:00
  • b51386e802 On parsing error, print the parser output anyway Pierre-Marie de Rodat 2015-05-27 10:13:30 +02:00
  • 461e4cdaf6 Parsers: by default, reject unexpected trailing input tokens Pierre-Marie de Rodat 2015-05-25 19:00:46 +02:00
  • 5ef6115123 Introduce wrappers for specific parsing primitives Pierre-Marie de Rodat 2015-05-25 12:49:42 +02:00
  • fd25966e00 Interactive main: do not crash with parsing failures on file mode Pierre-Marie de Rodat 2015-05-25 10:00:29 +02:00
  • 84ce964f19 Rework the analysis API Pierre-Marie de Rodat 2015-05-20 12:56:39 +02:00
  • a669396982 Perf: New vector type Raphael Amiard 2015-05-19 15:09:49 +02:00
  • 257423cf58 Rename generated shared object to avoid the "liblib" prefix Pierre-Marie de Rodat 2015-05-19 15:25:19 +02:00
  • 2257448199 Removal of global variable Javier Miranda 2015-05-20 17:36:03 +01:00
  • d037865d6d Correct Context destroy in interactive main Raphael Amiard 2015-05-20 11:56:53 +02:00
  • 4235fa556a Perf: create Ctx outside of Process_File in interactive_main Raphael Amiard 2015-05-18 23:52:26 +02:00
  • b1ba276a23 Fix the shared object extension when loading it from Python for OS X Pierre-Marie de Rodat 2015-05-19 10:44:50 +02:00
  • 569662083d Adjust details to build and run on Windows Pierre-Marie de Rodat 2015-05-13 12:42:01 +02:00
  • 48af389795 Switch file lexing to GNATCOLL.Mmap to workaround Quex Pierre-Marie de Rodat 2015-05-13 00:01:49 +02:00
  • 1cddb95b6c Enhance validate to check the parent link of AST roots Pierre-Marie de Rodat 2015-05-13 09:52:19 +02:00
  • 51ac3cfc26 Move code generation from C++ to Ada Pierre-Marie de Rodat 2015-04-16 12:02:59 +02:00
  • b8aad151a8 Remove the "cpp" directory from the template directories hierarchy Pierre-Marie de Rodat 2015-04-15 17:01:05 +02:00
  • 289a9eecd5 Compiler: setup infrastructure to correctly handle casing conventions Pierre-Marie de Rodat 2015-04-23 15:42:11 +02:00
  • 18dded025e Print nice tracebacks for exceptions in Mako templates Pierre-Marie de Rodat 2015-04-23 12:08:39 +02:00
  • 3ad12ad49f Python API: add a "f_" prefix for all field accessors Pierre-Marie de Rodat 2015-04-15 15:26:34 +02:00
  • 1120e7efe0 O413-019: Add basic performance testsuite Raphael Amiard 2015-04-14 13:32:50 +02:00
  • ee8fa1dfa1 Simplify ASTList code by using c++11 foreach iteration Raphael Amiard 2015-04-14 11:40:25 +02:00
  • 0d48b90e99 O414-009: remove dec_ref template Raphael Amiard 2015-04-14 11:36:12 +02:00
  • fcb3e21ee4 O414-009: Get rid of the get_repr template for ASTNodes Raphael Amiard 2015-04-14 11:25:05 +02:00
  • e3ae9bff47 O414-009: Get rid of the get_repr template for vectors Raphael Amiard 2015-04-14 11:23:47 +02:00
  • 5ed1f10d06 O414-009: Get rid of unused vec_free template Raphael Amiard 2015-04-14 11:17:06 +02:00
  • 112efba82a O414-009: Get rid of vec_dec_ref template. Raphael Amiard 2015-04-14 11:03:30 +02:00
  • e838784a3a Python API: fix the gigantic memory leak for ASTNode wrappers Pierre-Marie de Rodat 2015-04-13 17:43:26 +02:00
  • 2197f6cbc8 Python API: expose a (name, value) iterator for ASTNode fields Pierre-Marie de Rodat 2015-04-13 13:11:49 +02:00
  • 42adca6846 C API: wrap struct/enum type declarations with typedefs Pierre-Marie de Rodat 2015-04-13 13:34:03 +02:00
  • f35049baee ASTNode.get_public_fields: do not return inheritted fields Pierre-Marie de Rodat 2015-04-13 13:11:04 +02:00
  • 103cbd94c0 O411-001: Move c api templates to c_api subdirectory Raphael Amiard 2015-04-11 16:56:17 +02:00
  • 6775e81c5e O411-001: Move python templates to python_api Raphael Amiard 2015-04-11 16:52:15 +02:00
  • ab9a491aee O411-001: Move parser related templates to their own dir Raphael Amiard 2015-04-11 16:49:34 +02:00
  • 3360688ded Factor out the logic of small isinstance/issubclass helpers Raphael Amiard 2015-04-11 16:37:46 +02:00
  • ced78b7e31 O326-OO9: Move CompiledTypes out of parsers.py Raphael Amiard 2015-04-11 15:29:47 +02:00
  • 34952581cd C/Python API: expose tokens as AST node fields Raphael Amiard 2015-04-04 21:03:50 +02:00
  • 7e5593c60e Introduce an extension system for AST nodes Pierre-Marie de Rodat 2015-03-26 17:12:29 +01:00
  • 4e54be796e quex_tokens.py: fix a regexp to work with Python 2.7.3 Pierre-Marie de Rodat 2015-04-11 23:20:01 +02:00
  • 83309abdec Refactor the indentation engine and put it in a dedicated unit Pierre-Marie de Rodat 2015-04-02 11:42:31 +02:00
  • 71f624f073 Python bindings: Raise an error on unknown field type Raphael Amiard 2015-04-04 21:02:18 +02:00
  • da3afe7f78 Start a testsuite for the indentation engine Pierre-Marie de Rodat 2015-04-02 12:31:51 +02:00
  • 81d384ae7e Python API: expose unit diagnostics Pierre-Marie de Rodat 2015-04-01 18:23:27 +02:00
  • 346c1d17bf C API: expose unit diagnostics Pierre-Marie de Rodat 2015-04-01 18:02:30 +02:00
  • 42b2f49ded Remove formatting from diagnostic messages Pierre-Marie de Rodat 2015-04-01 18:06:36 +02:00
  • 9d9d3fb4c4 CompileContext: turn lexer_file setter into a constructor parameter Pierre-Marie de Rodat 2015-03-26 11:08:50 +01:00
  • 38b5b30ba5 Add Python API generation Pierre-Marie de Rodat 2015-03-23 14:36:56 +01:00
  • 0461bc5e8d Add ref-counting for analysis units Pierre-Marie de Rodat 2015-03-24 10:57:00 +01:00
  • 80a5122f71 C API: expose ASTNode ref-counting primitives Pierre-Marie de Rodat 2015-03-24 10:57:00 +01:00
  • 935c5ff883 C API: map AST node kind enumerators to specific constant values Pierre-Marie de Rodat 2015-03-25 17:03:40 +01:00
  • 81b39b6ecf C API: fix typos Pierre-Marie de Rodat 2015-03-25 17:21:15 +01:00
  • 05cf2028c9 Rename ASTNode's "__name" method to "kind_name" Pierre-Marie de Rodat 2015-03-25 16:21:57 +01:00
  • be07d1d5d5 Fields indent parameter: enable more shortcuts Raphael Amiard 2015-03-24 16:11:36 +01:00
  • 51ffa65e82 Correct Opt parser's modifiers logic to be functional Raphael Amiard 2015-03-24 15:37:24 +01:00
  • 9f55b356d9 Fix rebase glitch, missing is_tok in render_template Raphael Amiard 2015-03-24 15:18:37 +01:00
  • 6a86918b78 ASTNode: add primitives to fetch only one child at a time Pierre-Marie de Rodat 2015-03-22 13:43:16 +01:00
  • 69fdb93d16 Refine C API generation implementation after review Pierre-Marie de Rodat 2015-03-22 13:15:32 +01:00
  • 9f376f2e46 O323-021: Add an error mode to the Opt parser. Raphael Amiard 2015-03-23 16:03:30 +01:00
  • ffff71befa O323-021: Error recovery and diagnostics. Raphael Amiard 2015-03-23 15:48:56 +01:00
  • 4dfe8b9f1e Fix compilation warnings. Raphael Amiard 2015-03-24 01:05:30 +01:00
  • e09b4bf0f3 Add support for highlighting of nested mako templates for C++ in vim Raphael Amiard 2015-03-23 12:23:19 +01:00
  • fe58b634f7 Use TOKEN_PREFIX in quex_tokens rather than hard coded prefix Raphael Amiard 2015-03-21 20:14:31 +01:00
  • f41120d5d3 Minor formatting Raphael Amiard 2015-03-21 20:03:39 +01:00
  • c127639670 Get rid of tokclass_code template Raphael Amiard 2015-03-21 18:32:30 +01:00
  • 0e400456dc O313-038: Indentation, first pass Raphael Amiard 2015-03-15 15:21:22 +01:00
  • da4afd4d0f Add colors, because I like colors Raphael Amiard 2015-03-13 17:07:00 +01:00
  • 0c8e924905 Add generation of C external API Pierre-Marie de Rodat 2015-03-13 12:28:29 +01:00
  • 5a69cb59dd C++ templates: assign explicit constants to enumerators Pierre-Marie de Rodat 2015-03-17 12:29:30 +01:00
  • 6471215ee7 Add a verbose mode to manage.py and to CompileCtx. Raphael Amiard 2015-03-13 15:57:35 +01:00
  • 8d2adba9b7 Port lexer to C++ Raphael Amiard 2015-03-13 15:35:48 +01:00
  • ed5d9f10d4 Fix memory errors reported by valgrind Raphael Amiard 2015-03-13 13:30:09 +01:00
  • 428607b8dc Allow AnalysisUnit to have a null ASTNode. Raphael Amiard 2015-03-13 13:26:05 +01:00
  • 01af4396ad Make the name of the test binary static and the main header Pierre-Marie de Rodat 2015-03-13 12:06:37 +01:00
  • e1ad017383 Rearchitect storage of parsing information (O313-009) Raphael Amiard 2015-03-06 12:32:24 +01:00
  • 76f47031ce Big refactor of the parsers code generator Raphael Amiard 2015-03-11 12:46:11 +01:00
  • c5888e8d73 Rework libadalang's build/install prodecure Pierre-Marie de Rodat 2015-03-11 13:21:58 +01:00
  • 0c058e8c7f Add option to time the parsing of a file Raphael Amiard 2015-03-07 12:09:56 +01:00
  • 5df7c3a31c Make ASTNode fields typing more clever Raphael Amiard 2015-03-07 12:05:02 +01:00
  • 29d41a4f07 Fix parser's memory management Raphael Amiard 2015-03-07 12:02:43 +01:00